トップページ > プログラム > 2014年05月06日 > Fm+h5E30

書き込み順位&時間帯一覧

42 位/230 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000001100002



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
441
C++相談室 part112

書き込みレス一覧

C++相談室 part112
441 :デフォルトの名無しさん[sage]:2014/05/06(火) 18:02:55.83 ID:Fm+h5E30
>>437
基本的には定義はプログラム中でひとつだけである必要がある(One Definition Rule という)ので
複数の翻訳単位(cppファイル)でインクルードされるヘッダファイルには書けない。そのため
ヘッダファイルには宣言だけを書くことになる。

ただしクラス定義やインライン関数など一部の定義は、厳密に同一である限り、別の翻訳単位に
複数あってもよいという特例があるので、ヘッダファイルに書いてもよい。

http://ezoeryou.github.io/cpp-book/C++11-Syntax-and-Feature.xhtml#basic.def.odr
C++相談室 part112
444 :441[sage]:2014/05/06(火) 19:29:27.72 ID:Fm+h5E30
>>442
元の>437の聞きたいことが曖昧な中で、ヘッダファイルにクラスの定義となるclass a{};なんてのが
書かれてるのをたくさん見かけるのを不思議に思ってるのかと思ったんだけど、違ったのか?

>437の聞きたいことがわかってるんなら書いてくれよ。そのまま回答してくれてもいいだろうし。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。