给定的代码在 C 中编译,但在 C++ 中失败。
int main()
{
const int x; /* uninitialized const compiles in C but fails in C++*/
}
从 C 到 C++ 的转变背后的基本原理和原因是什么?
最佳答案
请参阅兼容性附录 C.1.6 中的规范:
7.1.6 [see also 3.5]
Change: const objects must be initialized in C++ but can be left uninitialized in C
Rationale: A const object cannot be assigned to so it must be initialized to hold a useful value.
Effect on original feature: Deletion of semantically well-defined feature.
Difficulty of converting: Semantic transformation.
How widely used: Seldom.
关于c++ - C 中的 const 与 C++ 中的 const,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6087729/