[SIMILAR] WITH 12525 ト引 WITH 11091 typedef WITH 7389 struct WITH 5545 typename WITH 5489 引数 WITH 2437 template WITH 1944 foo WITH 1818 ルッ WITH 1550 ル名 WITH 1364 bar WITH 1146 テン WITH 1034 ンプ WITH 897 数を WITH 745 プレ WITH 661 クア WITH 610 以降 WITH 595 エラ WITH 581 適当 WITH 578 レー WITH 486 当然 WITH 480 パイ WITH 430 カル WITH 418 ート WITH 392 ンパ WITH 376 場所 WITH 373 使う WITH 346 ーカ WITH 293 アッ WITH 245 ラー WITH 236 イル WITH 205 ロー WITH 179 コン の検索結果 235 件中 1 - 10 件目 (0.154594552 秒)
VC6はなぜかテンプレート引数をルックアップするときに他のローカル名を見てしまうようです。 template<class T> struct X { typedef typename T::Foo Bar; }; struct Y { typedef int Foo; }; struct T {}; // (#) void foo() { X<Y>::Bar bar; } (#)の行を削るとコンパイルできるようになります。適当なテンプ ...
C++09の話。 テンプレートエイリアス テンプレートtypedefとして望まれていたものはテンプレートエイリアスとなるようです。 template<typename T> using Registry = std::map<std::string, T>; テンプレート引数がないものもtypedefの代わりに使えます。 using Size = int; 可変長テンプレート 可変長のテンプ ...
# (スコア:8355)
色々調べてみたところわかりました。そもそもVCでは、メンバへのポインタを効率よく動かすためにこしゃくな^^;最適化を行っているようです。なので、以下でメンバ関数へのポインタのサイズが異なります。 struct A; // 前方参照のみ typedef void (A::*PFN)(); // sizeof(PFN)は16 struct A { // 完全なクラス宣 ...
# (スコア:6274)
Invalid Text次はSynonym Families。引数の型によって関連づけられた型を変えたいときに使います。C++でいうところの、特殊化されたテンプレートの中のtypedefとでも言えるでしょうか。 ありがちな例としては、コレクションクラスがあります。 class Collection a where type Elem a empty :: a add :: Elem a ...
# (スコア:6032)
メンバ関数のポインタを二つくらい引数にしてコンストラクタを呼び出すと、なぜだか呼び出されたときに引数が壊れているという現象が起きました。なんでだろう? 識別子が長いのが原因かなと思って、試しに関数ポインタをtypedefしてそちらを使うようにしたらちゃんと動作する用になったので良かったのですが、い ...
# (スコア:5993)
STLportのhash_mapのiteratorをインクリメントするときにキーが壊れていると正しくインクリメントできません。例えばこんな感じ。 struct X { }; typedef std::hash_map<X*, int> M; M m; m.insert(M::value_type(new X(), 0)); for (M::iterator it = m.begin(); it != m.end(); ++it) delete (*it).first; イ ...
# (スコア:5412)
SIGALRMシグナルを使っているライブラリをFFIで呼び出すと、コールバックのスタブの中でInterruptedというメッセージを出してプロセスが落ちてしまうことがあるので、テストコードを書いて調べてみました。 alarm.h void test(); alarm.c #include <signal.h> #include <string.h> #include <stdio.h> #include ...
# (スコア:5412)
Invalid Text添付ファイル付きのメッセージを表示するのが最近遅いなと思っていたのですが、fonts.xml内で@BodyCharsetを引数なしで使っていたためにメッセージ全体をダウンロードしてしまっていました。普通に@BodyCharset()を使うときには本文の文字コードが欲しいと思うのでデフォルトの引数を:BODY-INLINEに ...
# (スコア:4993)
C++で関数としてマルチメソッド(複数の引数の動的型に応じて呼び出し先の関数を切り替える方法)を実装してみています。 基本的にはオーバーロードの解決を実行時に行うようにしたようなインターフェイスで、 struct A { virtual ~A() {} }; struct B : public A {} void foo(virtual A&, virtual A&); void f ...
# (スコア:4402)
struct X { void foo() const; }; void (X::*pfn)() = &X::foo; これは安全ではないかという話です。今のところ付いている返答はピントのずれたものばっかり。 ついでに、テンプレートパラメータにはfloatやdoubleは使えないなんていうのも新発見でした。こんなのです。 template<float f> struct X { }; ...
# (スコア:3754)
# (スコア:10000)