C++ 建立不变量的私有静态变量

C++ 建立不变量的私有静态变量,c++,C++,使用私有静态变量在类中建立不变量是否合理 例: 是的,尽管这些通常被称为“常量”。有关“不变量”的讨论,请参阅anon链接的文章,因为它通常用于面向对象设计。当然。这是包括Java在内的几种OO语言中的常见习惯用法。这是一篇关于此主题的有趣文章。只是一个简单的建议-不要让你的常量名称都大写。根据C和C++中的约定,所有大写符号往往用于预处理器宏。几乎所有的严肃的C&C++开发者我都花了无数的时间来追踪一个编译问题,这是由预处理器对大写的C++符号造成的。我问,因为我正在阅读可能遇到的问题,如果你

使用私有静态变量在类中建立不变量是否合理

例:


是的,尽管这些通常被称为“常量”。有关“不变量”的讨论,请参阅anon链接的文章,因为它通常用于面向对象设计。

当然。这是包括Java在内的几种OO语言中的常见习惯用法。

这是一篇关于此主题的有趣文章。只是一个简单的建议-不要让你的常量名称都大写。根据C和C++中的约定,所有大写符号往往用于预处理器宏。几乎所有的严肃的C&C++开发者我都花了无数的时间来追踪一个编译问题,这是由预处理器对大写的C++符号造成的。我问,因为我正在阅读可能遇到的问题,如果你尝试多线程静态与MT静态问题C++大多出现在你读和写给他们。您已经声明了
VELOCITY
const,这意味着您只从中读取。从多个线程进行读取访问是可以的,只要没有任何潜在的改变它们就可以了。
class MovingObject
{
public:
    //...Stuff
private:
    // Invariants
    static const double VELOCITY; // Moving objects always move at this velocity
    // etc. for any other invariants
    //...
}
---------------------------------------------------------------------------------
#include "MovingObject.h"
// Invariants
const double MovingObject::VELOCITY = 256.5;
//etc.