我有一个类有成员的类 std:vector
private: std::vectormyVector;
我创建了Get方法来访问 myVector
1. const std::vectorGetMyVector() const; 2. const void GetMyVector(std::vector & vec) const;
实现分别如下:
1. const std::vectorMyClass::GetMyVector() const { return myVector; } 2. const void MyClass::GetMyVector(std::vector & vec) const { vec = myVector; }
两种Get方法中哪一种更好,为什么?
我更喜欢选项3:
const std::vector<int>& MyClass::GetMyVector() const { return myVector; }
您的选项1返回了一份副本myVector
.这将返回对类成员的const(so read-only)引用.