如果我要在 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;
};
我意识到这些将允许您访问成员数据,但我不关心这个简单示例中的正确封装。那么有什么区别呢?加速?可读性?风格?