0

Cでは、関数でデータを0に設定しmemset()ます(初期化だけではありません)。

私のデータは別の方法で変更される可能性があり、それを再利用したいので、再利用する前に0に設定したい

以外にC++でデータを0に設定する別の方法はありmemset()ますか?

class MYClass : public NameSpace::ParentClass {

    private:
        struct mystruct data

    public:
        void method();
};

void MYClass::method() {
    memset(&data, 0, sizeof(data)); // it's the C way. Are there another way in C++
}
4

3 に答える 3

11

C++ では、オブジェクトのコンストラクター、またはプリミティブ コンストラクターのないオブジェクトの初期化子を呼び出します。

再初期化は実際にはめったに発生しないはずです (変数を再利用しないで、新しい変数を作成してください! プログラムの流れがより明確になります) – しかし、必要な場合は、新しいオブジェクトを再割り当てするだけです:

data = mystruct();
于 2013-04-18T12:34:12.203 に答える