私は自分の仕事のために古いコードを修正することに取り組んでいます。現在、C++で記述されています。彼らは静的割り当てを動的に変換しましたが、memsets / memcmp/memcpyを編集しませんでした。これは私の最初のプログラミングインターンシップであり、私の初心者のような質問にはほとんど触れていません。
次のコードはCですが、C ++で使用したいと思います(mallocはC ++では適切ではないことを読みました)。2つのシナリオがあります。最初に、fを作成しました。次に、ゼロで埋めるために&fを使用します。2番目はポインタ*pfです。C ++の前の例のように、pfをすべて0に設定する方法がわかりません。
pf = new foo
mallocの代わりに実行してから、電話をかけてもらえますmemset(pf, 0, sizeof(foo))
か?
struct foo { ... } f;
memset( &f, 0, sizeof(f) );
//or
struct foo { ... } *pf;
pf = (struct foo*) malloc( sizeof(*pf) );
memset( pf, 0, sizeof(*pf) );