【C++】STL(Standard Template Library)相談室 4
at TECH
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
700:デフォルトの名無しさん 06/02/06 16:50:32 そんなに気になるならデフォルトコンストラクタをprivateにすればいいやん(;´Д`) 701:デフォルトの名無しさん 06/02/06 17:05:05 >>700 ΣΣ(゚д゚lll)ガガーン そ、そうだった・・・・ 702:デフォルトの名無しさん 06/02/06 17:11:54 >>699 >初期化されないブツが投入されるのがイヤな時には、 ってことはそのTは自前のコンストラクタを持ってるわけでしょ ってことはT::T()が勝手に定義されることはないので 何もしなくてもコンパイルエラーになるよ 703:デフォルトの名無しさん 06/02/06 17:19:35 >>702 うん、で、そういうクラスを std::vector<T> に 格納しようとしたら、std::vector<T> のコンストラクタの 一つが T のデフォルトコンストラクタを要求するので エラーになります。 private にしても同じく。 でも実際にはそのコンストラクタは呼ばれないので、 宣言だけして定義はしなくてもリンク可能です。 実際に使われてるか否か(コードが生成されているか否か) に関わり無く、テンプレートの関数はとりあえず 実体が生成されるものとして構文と識別子のチェックが行われるようです。
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
4278日前に更新/228 KB
担当:undef