在这种情况下,类级别变量是个好主意吗?
Is a class level variable a good idea for ths situation?
在某些情况下,我有以下内容:
类从服务器接收一条带有值的消息。然后向服务器发回另一条消息。我将接收到的值存储在类级别变量ex : m_number = server->args[0];
之后,我再次从服务器获得一条消息,这次我在类中执行一个方法,该方法需要先前存储的变量和服务器的一些新变量。
这是一个好主意,有一个变量只是为了这个目的?
另一个例子是我从服务器得到一个变量,然后另一个系统需要我从服务器得到的信息,这就是为什么我需要存储它,因为我不知道其他系统什么时候会需要它,只是在我收到它之后的一段时间它会需要它。
谢谢
[编辑:我的回答是基于"类级别变量"的假设,您指的是类的static
数据成员。另外两个人假设您指的是类的非静态数据成员。请忽略与你无关的答案:-)]
这可能不是个好主意。假设在某个地方,您希望同时与两个不同的服务器通信。现在有两个不同的值需要存储在同一个静态数据成员中。
最好是有一些对象来代表你与特定服务器的连接/会话/会话,并在其中存储与该服务器相关的任何状态。
也就是说,并不是所有的软件都需要伟大的想法才能工作,所以你可能会侥幸成功。请记住,道德上这是全球性的,而全球性往往会导致麻烦。
在这种情况下这是个好主意。一般来说,这就是需要成员变量的原因。
为什么不呢?这就是变量的全部用途,不是吗?如果您不需要记住任何东西,那么您就不会使用带有"状态"的类,而是使用函数。从你的问题的描述看来,你有一个类有多个状态,所以你需要某种机制来记住这一点。所以我认为这很好
相关文章:
- 什么时候在C++中返回常量引用是个好主意
- 使用嵌套函数数组是个好主意吗?
- 将std::regex设置为静态的好主意吗
- 使用共享库进行变体处理是个好主意吗?
- 使用列表<Byte>不是好主意吗?
- 用C++编写多级内联函数是个好主意吗?
- 重载参数 C++ 是个好主意吗?
- 扩展 std::vector 是个好主意吗?
- 将 int32_t 键入为 int 是个好主意吗?
- 常量参考延长对象的寿命,然后是const_cast,这是一个好主意吗?
- 使用 QT 开发服务器应用程序是个好主意吗?(QT5)
- 用 constexpr 中的工会取代reinterpret_cast - 好主意?
- 将C 11设置功能更改为带有转发的现代模板功能是一个好主意
- 在哪里使用"std::valarray"是个好主意?
- std :: tr1 :: shared_ptr throw bad_alloc,也是一个好主意
- 在构造函数中循环C++是一个好主意吗?
- 使用类只是为了维护几个常量变量是个好主意吗?
- 将未初始化的变量传递给srand是个好主意吗
- 在编译的代码中包含一个大的文本变量是个好主意吗
- 在这种情况下,类级别变量是个好主意吗?