【C++】STL(Standard Template Library)相談室 4at TECH【C++】STL(Standard Template Library)相談室 4 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト650:デフォルトの名無しさん 06/01/26 23:27:55 別のコンパイル単位で、 同じ文脈でインスタンス化される場合、 exportでやる流儀なら、一度で済むだろ。 651:デフォルトの名無しさん 06/01/26 23:50:18 >>649 加えて,ビルドツールが export による翻訳単位を超えた依存関係を 識別できなければならない,とか たとえ無名名前空間で定義された export を指定されていない テンプレートだとしても他の export されたテンプレート経由で名前が他の 翻訳単位に暴露されるなど,プログラムの挙動が非常に予測しにくくなる,とか 従来の 「~~テンプレートからインスタンス化された~~テンプレートからインスタンス化(以下略」 という楽しいコンパイルエラーメッセージに加えて 「~~翻訳単位からインスタンス化された~~翻訳単位からインスタンス化(以下略」 というさらに楽しいエラーメッセージが付加される,とか色々楽しいことが満載です. マクロの名前を翻訳単位によって切れるのが,現状 export による 明らかな恩恵だと結論されていますけれど,これも本質的には 別次元の問題(C99 のスコープ付きマクロ)として解決されるべき問題ですし "Exceptional C++ Style" に,20ページも使って 「現状,いかに export に期待できないか」が, Java の全言語仕様の実装に 2人年かかったのに対して export 「だけ」の実装に3人年かかった, とかいう話なんかと一緒に恐ろしく詳細に載ってます. 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch