それで、私の最後の質問に取り組んだ後、私はそれをこれに要約しました:
不明な数のユーザー定義クラス(object_c
)をに追加する必要がありboost::intrusive::list
ます。クラスにはconst
メンバーがいます。それらをにプッシュするために私がする必要があるのlist
は、それらを構築してから永続化させることだけです。それらは自動的に追加されます。
問題のコードは基本的に
for (unsigned i = 0; i < json_objects.count(); ++i) {
ctor_data = read(json_objects[i]);
// construct object here
}
私が試したこと:
malloc
オブジェクトの配列を作成してから、次のように入力しますconst
。メンバーがいるため、機能しません。static object_c *json_input = (object_c*) malloc(json_objects.size() * sizeof(object_c)); ... json_input[i](ctor_data); //error: no match for call to (object_c) (ctor_data&)
ポインタの作成:これは機能せず、関数は正しく機能せず、破壊されません
new object_c(ctor_data);
オブジェクトをに押し戻す
std::vector
:これは機能しません。試したときに数十行の暴言をブーストします(ここに出力)vector_of_objects.push_back(object_c(ctor_data));
くそったれを宣言するだけです:明らかに機能せず、すぐにスコープから外れます(dur)
object_c(ctor_data);
これを行う簡単な方法があると確信しています。誰かアイデアはありますか?私は週末のほとんどの間この問題に直面してきました。