【初心者歓迎】C/C++室 Ver.71【環境依存OK】
at TECH
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
300:デフォルトの名無しさん 10/02/09 23:55:33 >>291-292 thx 301:デフォルトの名無しさん 10/02/10 00:07:33 あのーplacement new[]の使い方がいまいち解りません。 Hoge* h = new Hoge[100];っていうのを placement new[]でやるには、Hogeにどんなnewを定義すればいいでしょうか? 302:デフォルトの名無しさん 10/02/10 00:30:29 void *p = operator new(sizeof(Hoge)*100); Hoge *h = (Hoge *)(new (p) Hoge[100]); で大丈夫かな? コンパイルは通るはずだけど。 (当然、Hogeにはデフォルトコンストラクタが必要。 デフォルト引数がある引数を持つコンストラクタで可能かは知らない) ていうか、こうすると、 全部の要素に対して個々にデストラクタを呼び出してからメモリを解放するわけだし だったらコンストラクタだって、(placement newを使って)個々に呼び出すだけで良いじゃない、という話になる。 それだったら、引数の制限も無いしね。 303:デフォルトの名無しさん 10/02/10 00:32:59 placement newって実装に依存するって話を聞いたんだが正確な話ではどうなってんの?
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5400日前に更新/160 KB
担当:undef