Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.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++_Constants - Fatal编程技术网

C++ 常量是否需要类型说明符?

C++ 常量是否需要类型说明符?,c++,constants,C++,Constants,这里需要类型说明符吗 const c = 7; Bjarne Stroustrup在第80页的“C++编程语言”说这是非法的。然而,我一直在练习一些测试,其中一个问题指出类型默认为int。Brainbench通常是正确的,因此我不确定哪个引用是正确的,并且我在标准中找不到任何东西。是否有明确的答案和引用?< P>默认的int类型对于C是有效的,但对于C++是无效的。即使在C语言中,也应该避免这种编码方式。另外,Bjarne Stroustrup的书是标准C++最权威的参考文献之一。但是只要看看

这里需要类型说明符吗

const c = 7;

Bjarne Stroustrup在第80页的“C++编程语言”说这是非法的。然而,我一直在练习一些测试,其中一个问题指出类型默认为int。Brainbench通常是正确的,因此我不确定哪个引用是正确的,并且我在标准中找不到任何东西。是否有明确的答案和引用?

< P>默认的int类型对于C是有效的,但对于C++是无效的。即使在C语言中,也应该避免这种编码方式。另外,Bjarne Stroustrup的书是标准C++最权威的参考文献之一。但是只要看看像
const c=7这样的语句向我尖叫糟糕的代码风格。就编译器兼容性而言。。。很可能会碰运气的。微软VisualStudio的编译器在编译C++文件(.CPP扩展)时不会有任何部分,但是编译C文件(.c扩展)时不会阻塞它。主要是因为C标准允许在没有指定类型时将变量默认为<代码> int >代码。对于C++,我相信Stroustrup在任何地方都是标准。
也许问题是关于C不是C++ + < /P>
第7.1.6节中的

声明中至少需要一个不是cv限定符的类型规范,除非声明了构造函数, 析构函数或转换函数。83除非 出现在别名声明的类型id中(7.1.3)


“当然,最权威的标准本身的不足。”MSalters同意。修改了帖子以反映这一点。考虑到C++0x(草案)标准正在向类型推断方向发展,这似乎不是法律代码,这是一个遗憾:auto x=7;//根据typeof推断x是int(7)关于比亚恩常见问题解答的更多信息:远非羞愧:使用auto,您表明您打算让程序员决定类型。在这里,您可能已经忘记了。不幸的是,这些类型的测试要求极其深奥的东西,如果您正在编写代码,您永远不会依赖这些事实(如果您理解它,几乎可以肯定下一个人不会!)