2つの関連する構造体インスタンスを割り当てて初期化する関数を使用します。しかし、私は割り当て機能の外で持続するメモリを得ることができません。私はalloc_init()
内からbar
でcreated_val1
の値をチェックした場合、それは完全に罰金です関数内の構造体の値の割り当てと初期化
void alloc_init(foo_struct *bar, foo_struct *baz){
//Create some values in here
bar = new foo_struct(created_val1, created_val2);
baz = new foo_struct(created_val3, created_val4);
}
...しかし、スタックオフalloc_init
ポップ一度、I:また、私はむしろ、すべての可能な場合は、メモリリークせずにこれを行うだろう私はゴミを手に入れた。どのように私はこれらの種類の価値を持続させるのですか?
ああ、それはまったくばかげている...それは、デフォルトで参照によってポインタを渡す必要があります!なぜあなたは値でポインタを渡す必要がありますか? –
@ FrancisW.Usherポインタは型です。特に指定がない限り、C++ですべての値を渡します。それは愚かではない。 –
* "C++ですべての値を渡すのは、.." *がそうでない場合を除きます。 –