私はC++が初めてです。コレクションを「新しくする」とは正確にはどういう意味ですか? 例えば:
UnicodeStringList* tmp = new UnicodeStringList;
// where UnicodeStringList is typedef to std::list<UnicodeString>
何かを「新しく」するときは、必要なサイズを正確に把握する必要がありますよね? 割り当てコンストラクターを使用してオブジェクトをコピーする場合、コンピューターはヒープに割り当てる必要があるメモリの量をどのように知るのでしょうか? 例えば:
*tmp = another_string_list;
another_string_list は、ヒープ メモリ内の新しい UnicodeStringList にコピーされていますが、そのヒープ メモリの大きさを最初に指定したことはありません。そして、コンパイラは another_string_list の大きさを知らないので、ヒープにどれくらいのメモリが入りますか?
私は混乱しており、誰かが私を理解できるように質問を十分に指定したことを願っていますが、よくわかりません。
助けてください
ありがとう、
ジュリアン