- 1 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 21:04:54 ]
- C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。 IDE (VC++など)などの使い方の質問はその開発環境のスレに お願いします。 前スレ C++相談室 part66 pc12.2ch.net/test/read.cgi/tech/1231640498/ ※part63, part66 が重複していたようですので part69 としました。
- 421 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 17:15:11 ]
- ない
というか意味があるかないかで言うなら、inlineは常に意味がない コンパイラは自由にインライン化要請を無視できるし、要請されてない関数をインライン化することが出来る
- 422 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 17:25:36 ]
- 規格上はそうだが、一応現実的には意味はあるから、意味なしと言い切ってしまうのは誤解を招くのでは。
例えば俺が使っているコンパイラは「inline指定に従う/無視する」「inline指定がなくても勝手にinline化する/しない」 などの指示を自分で出すことができる。
- 423 名前:422 mailto:sage [2009/05/24(日) 17:26:22 ]
- もちろん環境依存の話だから、詳しくは「自分が使ってるコンパイラについて調べてね」ってことだけど。
- 424 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 17:33:39 ]
- inlineは、コンパイラの最適化云々ではなく、
ヘッダに直接(= インラインで)定義するぞ、という意味だと思えばいい。
- 425 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 17:53:20 ]
- >>424
変な誤解を生むから詳しく知らないなら 黙ってるか断定的に書くな。
- 426 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 18:02:20 ]
- >>424
適当なこと書くなよ。 cppファイルにてもinlineは書けるわけだし もう何が何なのかw
- 427 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 18:05:30 ]
- >>424
インラインに”ヘッダに直接”という意味があったなんて白なkったおれはどうすればいい?
- 428 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 18:06:30 ]
- "C++" "ヘッダに直接" "インライン"の検索結果 5 件中 1 - 5 件目 (0.33 秒)
- 429 名前:426 mailto:sage [2009/05/24(日) 18:08:40 ]
- >>428
よくやったwww
- 430 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 18:35:56 ]
- ところで>>420でinlineを付けなかったらリンカエラーにならない?
そういう意味でinlineはいると思うんだけど。
- 431 名前:デフォルトの名無しさん [2009/05/24(日) 18:37:06 ]
- んなわけない。
- 432 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 18:38:13 ]
- >>430
よくわからないけどオブジェクトコードにクロージャっぽいのがつくられるきがするぅ
- 433 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 18:53:52 ]
- int DLLAPI (*mcOpenDevice ) (void) = NULL;
あるDLLについてたヘッダ内の記載なんですがVCで「構文エラー : '('」が出ます カッコの数は合ってるし、関数ポインタの宣言としてもおかしくないように見えるのですが 詳しい方から見て何か違和感はありますでしょうか? ちなみに #define DLLAPI WINAPI されてます
- 434 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 18:55:29 ]
- ん、俺の環境(gcc 3.4.5)だと、ヘッダファイルのクラス定義内部じゃないところにinlineがついてない関数定義があって
それを複数の翻訳単位でインクルードしてコンパイルしてリンクすると、多重定義エラーでるなぁ。
|

|