...ing logging 4.0

はてなブログに移行しました。D言語の話とかいろいろ。

C++

C++WG

C++

12月5日にあるらしいんだが. 正直時間なくて全然予習できないと思うし行っても見てるだけだと思うんだよね. 滅茶苦茶面白そうなんだけどー.

trueでありfalseである

見た感じこんな構造になってると思うんだけど・・・. struct A { int v; }; A *p; void load() { //pにNULLかNULLでない値をセット } int is_valid() { return (p != NULL); } int get_value() { return p->v; } class Simurator { [DllImport("comet2.dll"…

関数定義の例外指定

C++

class A { void f() throw() {...} }; メンバ関数のthrowってどれくらい使われているんだろう. 全然使ったことないや. そもそもこれって正式にはなんて言うんだろ?

Boost 1.36.0 release

C++

New Libraries - Accumulators: Framework for incremental calculation, and collection of statistical accumulators, from Eric Niebler. - Exception: A library for transporting of arbitrary data in exception objects, and transporting of excepti…

std::tr1::shared_ptr

C++

VS2008SP1を入れたら次期C++標準ライブラリのドラフトであるtr1ライブラリがいくつか入っているようなのでちょっとだけ調べてみた. #include <iostream> #include <memory> // std::tr1::share_ptr はここに入ってるのね class A { public: int v; A(int v) : v(v) {std::cout </memory></iostream>…

Policyと実行時間

C++

これまで Policyをメンバ関数ポインタで - ...ing logging 3.0 Policyをboost::function+boost:bindで - ...ing logging 3.0 Policyのままで - ...ing logging 3.0 今回 Policyを使ったコードに比べて,boost::function + boost::bind がどれほど遅いのかを…

Policyのままで

C++

Policyをメンバ関数ポインタで - ...ing logging 3.0 の続きの Policyをboost::function+boost:bindで - ...ing logging 3.0 の続き,というか全体の始まり. そもそもPolicyで書いていたのはこんな感じ. #include <iostream> using namespace std; // 本来はどこかで</iostream>…

Policyをboost::function+boost:bindで

C++

前はpolicyでやってたのだが,いちいちオブジェクトを作る作業が大仰すぎると感じた. そこでメンバ関数ポインタを使ってみた. Policyをメンバ関数ポインタで - ...ing logging 3.0 の続き. メンバ関数ポインタは型がややこしいから嫌だった. delegateが…

Policyをメンバ関数ポインタで

C++

前はpolicyでやってたのだが,いちいちオブジェクトを作る作業が大仰すぎると感じた. そこでメンバ関数ポインタを使ってみた. #include <iostream> using namespace std; // 本来はどこかで定義されているものたち typedef int HWND; void MouseCapture(HWND){} void</iostream>…

VTune評価版

プロファイラが使えると教えてもらったので試してみたがEXE本体の関数が検出できなくて涙目orz 使い方が悪いのかなんなのか・・・. もう地道に自分で計測しろということなのか?

プロファイラ欲しい

VS2008のC++で使えるプロファイラ欲しいよおおおお

言語の違い (2)

Cの専門家の先生に「C++とC#って何が違うの?」と訊かれてどう答えたらいいか困った.Cユーザの視点になって考えてみたら何も違わないような気がして. これだ,というのを思いついた. 標準のGUIライブラリがあるかないか. それ以外は些細な違いという気が…

言語の違い

Cの専門家の先生に「C++とC#って何が違うの?」と訊かれてどう答えたらいいか困った. Cユーザの視点になって考えてみたら何も違わないような気がして.

読みやすいよ?

C++

void string_copy(char dst[], const char src[]) { int i; for ( i = 0; src[i] != '\0'; ++i ) { dst[i] = src[i]; } dst[i] = '\0'; } ...コレ、読みやすいですか? なんかね、ひらがなだけで論文書いたような居心地の悪さを感じます。 ひらがなだけでかい…

ダックタイピングを中心に据えたC++入門

C++

というのはどうだろう? そう,最初からテンプレートありきでC++に入門するということだ. #include <iostream> // std::cout をを使うとコンピュータに宣言 void main() { // プログラムが始まる場所 std::cout << "Hello world!"; // Hello world! と画面に表示する </iostream>…

VS2008 MFC Feature Pack

現在MFC Feature Packは英語版しかないらしい. これを日本語版のVS2008に入れることはできないのかな? SP1になったら正式に日本語版が用意されるらしいけど. まあ,正直,わざわざC++でリボンインタフェースを実装しないといけない状況なんてないんだけど…

msvc9.0

C++

#include <vector> #include <boost/shared_ptr.hpp> using namespace std; using namespace boost; void main(){ vector<shared_ptr<int>> arr; } ">>"が使えるようになってたのか. C++0xが出るまで待たなければいけないと思ってた. 他にどんな機能が増えているのだろう?</shared_ptr<int></boost/shared_ptr.hpp></vector>

vc8/9で並列コンパイル

設定の仕方がわかってなかったらしい. まず,stdafx.cppを「プリコンパイル済みヘッダを作成する」にする. 次に,stdafx.hをインクルードしている他の*.cppファイルを「プリコンパイル済みヘッダを使用する」にして,コンパイルオプションに /MPn を付ける…

VS2005で/MP

/MPの並列コンパイルってVS2008じゃないと使えないのかと思っていたらVS2005でもundocumentedだけど使えるじゃん!! そんなもん隠してるなんてひどいよ・゚・(ノД`)・゚・でも,これプリコンパイルヘッダが使えなくなるんだよね. それじゃあ効果薄くね?

MFCとデータベース

DBにがっちがちに依存してたり、 研究室にMFCを使ってきたC++のコードの遺産があるのだけど,データベースからクラスを自動生成する仕組みを使っているらしく,データベースを書き換えるとクラスも再度自動生成することになってとても重たい. データベース…

ファイルの依存関係を断つべし

我らが研究室には,学生が4代に渡って引き継いできたアプリケーションのソースがある. 1行書き換えただけで再コンパイルに要する時間が長大らしい. ファイルの依存関係を断っていないのだ. きっとヘッダファイルに実装を記述している部分があったりするん…

cpp-users.jp

C++

今こそcpp-users.jpを作るべき. あえてCは切り捨てる!

それってなんてCfront?

C C++

コメント欄が見つからなかったのでここへ. データ管理の構造体に継承とか仮想関数を使って便利に拡張できないのがつらすぎる。 http://ritaz.blog64.fc2.com/blog-entry-321.html 今時 pure C なんて苦行ですね. なんちゃって継承とかなんちゃって仮想関数…

C++ と Structural Polymorphism と型推論 (2) - お返事

C++

Cryolite大先生による突っ込み http://d.hatena.ne.jp/Cryolite/20080507#p1 が入ってまして、私も120%同意しちゃったのですが、C++の「compile-time に duck typing」ってのは、それがやりたいことなわけじゃなくて、手段の一つとしてそれがあっただけだろ…

C++ と Structural Polymorphism と型推論

C++

Xpressive の力は Structural Polymorphism の力 果ては Xpressive みたいな、正規表現を文字列以外の方法で記述できる実装だと、「文字」の「列」ですらなくても「文字とおなじようにふるまうもの」の「列」に対して正規表現使えちゃったりとか。intの配列…

babel

C++

こんなのあったのか.知らなんだ!ショック!! バベルは各種文字コード... シフトJIS, JIS, EUC, UNICODE(UTF8, UTF16, UTF32) ...を変換するモジュールです。 tricklib.com - このウェブサイトは販売用です! -&nbsptricklib リソースおよび情報 これから…

boost::asio

C++

boost::asio::ip::tcp::iostream で文字列を受信してみる. 文字コードとか考えずに受信してただ cout に表示したら当然化け化け. STL + Boost 限定で特定の文字コードに変換して出力する方法ってどうしたらいいのかなー. あと std::istream_iterator/std:…

しまった

C++

C++はコンストラクタの中で別のコンストラクタ呼べないんだった orz しばらくはまってた.

値型のクラスと参照型のクラス

C++

値型のクラスというのは,そのクラスが表現したい概念の値が同じならば同一のオブジェクトと考えて,インスタンスの違いには注目しないクラスだ,と言って伝わるだろうか. もう一方は参照型のクラスであり,インスタンスが異なれば別のオブジェクトと考える…

boost::noncopyable

#include <boost/utility.hpp> class Class : /*private*/ boost::noncopyable { priavte: //Class(const Class&); //Class& operator=(const Class&); public: }; int main() { Class a, b; a = b; // 代入演算子;エラー Class c(a); // コピーコンストラクタ;エラー return </boost/utility.hpp>…