[SIMILAR] WITH 13180 別子 WITH 6590 数ポ WITH 5545 typedef WITH 5492 バ関 WITH 4863 識別 WITH 3659 引数 WITH 2982 関数 WITH 2338 因不 WITH 1101 ポイ WITH 1048 現象 WITH 899 原因 WITH 805 び出 WITH 706 動作 WITH 640 呼び WITH 624 不明 WITH 548 長い WITH 518 タを WITH 514 クタ WITH 510 ラク WITH 438 ンタ WITH 332 ンバ WITH 263 トラ WITH 253 イン WITH 208 メン WITH 192 ンス WITH 179 コン WITH 129 スト WITH 1 い識 WITH 1 数の WITH 1 のポ WITH 1 を二 WITH 1 二つ の検索結果 221 件中 1 - 10 件目 (0.594683658 秒)
メンバ関数のポインタを二つくらい引数にしてコンストラクタを呼び出すと、なぜだか呼び出されたときに引数が壊れているという現象が起きました。なんでだろう? 識別子が長いのが原因かなと思って、試しに関数ポインタをtypedefしてそちらを使うようにしたらちゃんと動作する用になったので良かったのですが、い ...
長い識別子で書いたように、関数ポインタを受けるコンストラクタでクラッシュする件なのですが、少しいじったら再発するようになってしまいました。で、色々と調べたところ識別子の長さは関係なさそうです。小さなプログラムで再現させられていないのでまだ不確かなのですが、前方参照宣言しかしていないクラス ...
# (スコア:7516)
色々調べてみたところわかりました。そもそもVCでは、メンバへのポインタを効率よく動かすためにこしゃくな^^;最適化を行っているようです。なので、以下でメンバ関数へのポインタのサイズが異なります。 struct A; // 前方参照のみ typedef void (A::*PFN)(); // sizeof(PFN)は16 struct A { // 完全なクラス宣 ...
# (スコア:5726)
opensslのドキュメントってちゃんと書いてあるものがほとんどないようなんですが、どこかにまとまってあるんでしょうか?関数の引数の方は名前と型で大体想像がつくのですが、戻り値がなんなのかがわからないものが多いです。特に、戻り値がintだった場合など。しょうがないので、ソースを見ながらやっていますが ...
# (スコア:4334)
VC6はなぜかテンプレート引数をルックアップするときに他のローカル名を見てしまうようです。 template<class T> struct X { typedef typename T::Foo Bar; }; struct Y { typedef int Foo; }; struct T {}; // (#) void foo() { X<Y>::Bar bar; } (#)の行を削るとコンパイルできるようになります。適当なテンプ ...
# (スコア:3596)
C++09の話。 テンプレートエイリアス テンプレートtypedefとして望まれていたものはテンプレートエイリアスとなるようです。 template<typename T> using Registry = std::map<std::string, T>; テンプレート引数がないものもtypedefの代わりに使えます。 using Size = int; 可変長テンプレート 可変長のテンプ ...
# (スコア:3497)
Invalid Text次はSynonym Families。引数の型によって関連づけられた型を変えたいときに使います。C++でいうところの、特殊化されたテンプレートの中のtypedefとでも言えるでしょうか。 ありがちな例としては、コレクションクラスがあります。 class Collection a where type Elem a empty :: a add :: Elem a ...
# (スコア:3497)
C++のコードをアセンブラに落として調べているのですが、メンバ関数を呼び出すときには、r0にthisをセットしてから関数にジャンプすれば良い模様です。 なんだか例外処理と関係なくなって、ARMのアセンブラ入門みたいになっちゃってますね^^;;。 ...
# (スコア:3415)
struct X { void foo() const; }; void (X::*pfn)() = &X::foo; これは安全ではないかという話です。今のところ付いている返答はピントのずれたものばっかり。 ついでに、テンプレートパラメータにはfloatやdoubleは使えないなんていうのも新発見でした。こんなのです。 template<float f> struct X { }; ...
# (スコア:3369)
SIGALRMシグナルを使っているライブラリをFFIで呼び出すと、コールバックのスタブの中でInterruptedというメッセージを出してプロセスが落ちてしまうことがあるので、テストコードを書いて調べてみました。 alarm.h void test(); alarm.c #include <signal.h> #include <string.h> #include <stdio.h> #include ...
# (スコア:3024)
# (スコア:10000)