0

に変更Axes (Axes const &crAxes) { *this = crAxes; }してAxes (Axes const &crAxes) : (*this)(crAxes) {}、初期化リスト内のオブジェクトをコピーする方法 (X、Y、および Z がデフォルト値に初期化される前)。

これをフォームに変更:

struct Axes
{
    Axes () : X(0.f), Y(0.f), Z(0.f) {}
    Axes (Axes const &crAxes) { *this = crAxes; }

    float   X;
    float   Y;
    float   Z;

};

このようなものに:

struct Axes
{

    Axes () : X(0.f), Y(0.f), Z(0.f) {}
    Axes (Axes const &crAxes) : (*this)(crAxes) {}

    float   X;
    float   Y;
    float   Z;

};
4

1 に答える 1

4

コピーセンターではそのようなことはできません。簡単に使う

Axes(const Axes& rhs) : X(rhs.X), Y(rhs.Y), Z(rhs.Z) {}

ただし、デフォルトで実装されている copy c-tor は同じことを行うため、ここでは copy c-tor は必要ありません ( memberwise-copy)。

于 2013-06-04T07:10:21.567 に答える