关于网友提出的“ C++关于标识符的问题”问题疑问,本网通过在网上对“ C++关于标识符的问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: C++关于标识符的问题描述:
今天看了一下c++ primer 里面的基础 里面说到关于标识符有以下几个点:
①用户自定义的标识符不能连续出现两个下划线。
②不能以下划线紧连大写字母开头。
③定义在函数体外的标识符不能以下划线开头。
但是我在vs2012试了一下,每个都可以!想请教下这是什么情况。。。
解决方案1:
书上只是建议不要这样命名,但是没有说不能这样命名。建议不要这样命名可能是有其他命名有这样的习惯约定
解决方案2:库名有很多,命名的时候尽量不去和库名定义形式相同的标识符,为了安全和不必要的麻烦。
解决方案3: 1)C++ 并没有废弃标准C 库函数,所以,所有 C库都是可用的
2)你没有必要去预测,哪些名字可用,哪些不可用,
只需要遵守一个不使用下划线开头,这个简单约定就好
这显然是简单方便的
3)下划线开头的名字,并不更加美观,也不那么更加直观
自己定义的标识符,没有必要使用下划线开头
没这规定,只是建议,免得跟库名字有冲突
解决方案5: 很多C的库代码在实现时为了避免与使用者定义的全局符号同名,都采用了双下划线、下划线加大写字母开头之类的怪异命名法,所以我们要避开这些名字,以减少名字冲突的风险。使用这些名字不一定就会产生冲突,但毕竟是有风险的。
不过比较新的C++库不会有这种风险,因为已经有namespace了。