访问成员变量是最佳的或访问成员函数

时间:2014-01-07 10:18:46

标签: c++

我想知道,哪一个通过对象指针访问类的成员变量更合适(因为我通过友元函数概念访问它)或者使用类的getter和setter方法。

2 个答案:

答案 0 :(得分:0)

对我而言,最好的是内联吸气剂。

inline int GetValue() const {return Value;}

顺便说一句,您可以查看this answer

答案 1 :(得分:0)

通常,你会内联编写getter和setter,所以不应该有开销。即使有一个单独的定义,一个好的编译器也应该通过整个程序优化来内联这些调用。

如果不是这种情况,个人资料,请在做出任何决定之前查看效果是否真正受到影响。

请注意,从外部(直接,从friend或甚至是getter和setter)访问成员会破坏封装。 friend选项将此限制为特定类,因此WRT稍微好一些。如果您必须访问这些成员,请使用friend。如果你有很多朋友,最好选择getter / setter(至少你有一个访问点,对吧)。如果表现是一个问题(可衡量的),请与公众成员一起使用。