Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/161.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 公共和私有变量的命名约定?_C++ - Fatal编程技术网

C++ 公共和私有变量的命名约定?

C++ 公共和私有变量的命名约定?,c++,C++,使用MyValNeNeX为公共,与YO变量为私有的类相同,但假设您使用C++,我的答案是否定的。这是完全合理的,但您应该真正遵守这个约定。< /P> 然而,C#等静态类型语言假定这样的命名约定有些冗余 我个人认为这很难看,但在C++中变量的来源并不清楚,因为糖可能有帮助。 < P>每个人都有自己的偏好,就命名约定而言。我想说,更多的人会同意在一个类中不包含任何公共变量。一些问题: 为什么有公共变量 以和开头的标识符保留给系统库。实际上,这并不重要,但意识到这一点很好 说到这里,创建命名约定没

使用MyValNeNeX为公共,与YO变量为私有的类相同,但假设您使用C++,我的答案是否定的。这是完全合理的,但您应该真正遵守这个约定。< /P> 然而,C#等静态类型语言假定这样的命名约定有些冗余


我个人认为这很难看,但在C++中变量的来源并不清楚,因为糖可能有帮助。

< P>每个人都有自己的偏好,就命名约定而言。我想说,更多的人会同意在一个类中不包含任何公共变量。

一些问题:

  • 为什么有公共变量

  • 以和开头的标识符保留给系统库。实际上,这并不重要,但意识到这一点很好


说到这里,创建命名约定没有什么错,不管它看起来如何。只是一致。

< P> C++和java都一样:你不需要匈牙利符号,也不需要任何前缀/后缀。你有关键词“这个”

当然,在这个简单的示例中,您可以(应该!)使用构造函数初始化列表;)

因此,使用任何笨拙的符号只是利用语言的可能性。当您知道成员变量的名称时,您就知道它是完美的。你为什么要用“u”来混淆它


至于对公共和私人成员使用相同的名称:这绝对是错误的想法!为什么在同一个类中需要两个事物来表示相同的事物?将其命名为私有,并将getter和setter命名为public。

您不应使用以下划线开头或包含双下划线的名称。这些名称是为编译器和实现保留的。除此之外,您还可以使用您和您的团队喜欢的任何命名约定。就个人而言,我讨厌任何形式的“匈牙利”符号,也不喜欢m_something符号。如果我需要改变一个变量的类型,我需要在任何地方更新它的名字,这真的让我很烦恼。这是维护方面的一个难题

>有许多C++约定。关键是找到一个和/或调整一个。坚持下去,保持一致。如果你在某个地方工作,试着记下尽可能多的约定。有这么多的人在那里,每个人都有很好的论点,但他们可以互相矛盾(联合打击战斗机,贝尔实验室,Mozilla,等等)

如果项目的不同部分之间有不同的约定,那么至少要使每个文件本身保持一致,并且.cpp和.h文件应该彼此一致


我发现更好的做法是能够理解由不同约定编写的代码,以便您能够更快地适应新的工作环境。你可能有史以来最糟糕的命名约定,但如果它是一致的,它将提高代码的可维护性。我习惯了这种编码风格,我觉得它非常舒适和清晰:@LihO链接说“你没有查看此内容的权限”。
class MyClass {
    private:
        int value;

    public:
        MyClass(int value) {
            this->value = value;
        }
}