我希望这里有一个简单的问题。对于我的类的成员变量,它们都是私有(private)的,我应该使用访问器返回一个指针还是返回变量本身?还是我应该做点别的?
例子:
unsigned int *Object::GetObjectIDPointer()
{
return &objectID;
}
或
unsigned int Object::GetObjectID()
{
return objectID;
}
最佳答案
这在很大程度上取决于你想用它们做什么:如果你计划你的类的用户能够在你的类中修改变量(这是一个可怕的和强烈反对的事情)你可以返回指针或引用;否则,返回变量本身。
当您想要返回的对象很大时,例如 vector 、集合、映射等,此规则有一个异常(exception)。如果您决定为它们创建访问器,则应通过常量引用返回它们。
关于C++ 访问器——我应该返回一个指向成员变量的指针还是返回实际的成员变量本身?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11361911/