gpt4 book ai didi

c++ - 那么公共(public)变量有什么好处呢?

转载 作者:IT老高 更新时间:2023-10-28 12:32:40 26 4
gpt4 key购买 nike

我是个新手,脑子里有很多“?”,还有很多关于 C++ 的经验!有一些东西让我觉得很困惑,那就是公共(public)变量的使用,我见过很多这样的代码:

class Foo {

private:
int m_somePrivateVar;

public:
void setThatPrivateVar (int const & new_val) {
m_somePrivateVar = new_val;
}

int getThatPrivateVar (void) const {
return m_somePrivateVar;
}

};

为什么除了在接收到新值时分配新值(没有范围检查等)或返回值而没有做任何事情时,还有人会隐藏该变量并实现访问器和修改器就这样?好吧,我听说过一些原因,其中一些在一些案例中是令人信服的,但想象一下以这种方式实现一个巨大的类,其中包含许多不需要任何检查和东西的变量!让我这样问你,你什么时候使用公共(public)变量?你真的用过吗?

最佳答案

通过现在隐藏变量并添加方法,类设计器允许将来在这些方法中插入任意代码,而不会破坏直接使用属性的大量代码。

另外请注意,提供大量访问器/修改器方法通常表明您的类设计需要重新寻找可能的改进。类方法应该实现实际的逻辑,而不仅仅是提供对每个成员的访问。

我只在 struct 中使用公共(public)变量形式。例如,我可能有一个表示字符串-> 值映射的数据库表,其中值是复合数据结构。我只是写一个结构并使用例如std::map<std::string, MyStruct>来表示数据库表。我不需要实际处理数据,只需在需要时查找并使用它即可。

正如一些评论中指出的,甚至 struct s 通常可以从对方法的合理使用中受益,例如几个常见的构造函数来保持成员的初始化,一个清晰的函数来重用结构等。

关于c++ - 那么公共(public)变量有什么好处呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5168981/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com