C ++で単純なオブジェクトを作成する場合、メンバーのアドレスを返すこととポインターを返すことの違いは何ですか。私の知る限り、C ++には自動ガベージコレクションがないため、参照カウントは保持されません。では、なぜ誰かがこのようにするのでしょうか。
class CRectangle {
public:
string& getName( );
int& getWidth( );
int& getHeight( );
private:
string name;
int height;
int width;
};
この方法ではなく:
class CRectangle {
public:
string* getName( );
int* getWidth( );
int* getHeight( );
private:
string name;
int height;
int width;
};
これらによりメンバーデータにアクセスできるようになると思いますが、この単純な例では適切なカプセル化については心配していません。では、違いは何ですか?スピードアップ?読みやすさ?スタイル?