使用"yes","no","i","out"作为变量/枚举的名称是否安全?

cpp*_*ner 5 c++ variables enums naming-conventions

我已经阅读了有关C++命名规则的文档,它们似乎是可用的名称.

然而,在实践中,当我试图创建一个变量/枚举使用一个名称一样 iter,yes,no,out,i,Error,等等,Visual Studio会奇怪使用斜体字体他们.

在此输入图像描述

我只能猜测它们是为特殊事物保留的,如果我使用这些名称,IDE(例如重构/重命名过程)可能会很奇怪.

在实践中使用这些名称是否安全?我太恐慌了吗?

对不起,如果它太新手或不合适的问题.
我怀疑它几个星期但是太害怕了.

Som*_*ken 4

这些名称是有效的,不会造成任何“伤害”,标准只说:

  • 每个包含双下划线 (_ _) 或以下划线开头后跟大写字母 (2.11) 的名称都保留给实现以供任何使用。

  • 每个以下划线开头的名称都保留给实现,用作全局命名空间中的名称。

这意味着您的所有名称都可以在用户代码中使用。Visual Studio 可能只是将这些名称作为 和i通常iter在循环中使用。