-2
A
回答
0
是的,没关系。它是C和C++标准的一部分。一个常量对象可以用一个非const对象来初始化。为什么不呢?
+1
嗯... downvote?你能否提供一份来自标准的报价,说这不正常? :) –
10
取决于代码的位置。
如果它是在一个函数内,那么var1
和var2
是自动的,那么是的,这很好。 var2
只能通过复制var1
进行初始化,所以var1
可以稍后修改的事实与var2
不能这样的事实没有关系。
如果它在文件范围内,那么var1
和var2
是静态的,那么不是不好。文件范围内的const整型对象必须用编译时必须知道的值进行初始化(在C++中,这称为“整型常量表达式”,我忘记它是否也是精确的C术语)。在这种情况下,您可能会认为因为两个定义之间没有代码,所以var1
的值在编译时已知为10
,但由于该类型是非常量,所以标准仍然禁止它。你可以认为这是为了避免实现需要足够聪明来应用这种推理,并证明没有什么能够修改var1
:它所要看的只是类型,而不是介入代码。
相关问题
- 1. 用变量的值初始化常量
- 2. 初始化常量和全局变量
- 3. C++并初始化常量变量
- 4. 正在初始化一个未初始化变量的变量是否合法?
- 5. 变量初始化?
- 6. 初始化变量
- 7. 初始化变量
- 8. 变量初始化
- 9. 变量初始化
- 10. 初始化变量
- 11. 初始化变量
- 12. 初始化变量
- 13. 如何在初始化后始终提供变量/常量?
- 14. 初始化变量在JavaScript
- 15. 常变量初始化只与成员初始化列表
- 16. 未初始化的初始值常量
- 17. 初始化变量的初始化是否正确?
- 18. 初始化向量异常
- 19. Rails:常量不初始化
- 20. 未初始化的常量
- 21. 未初始化的常量
- 22. 未初始化的常量
- 23. 未初始化的常量
- 24. Python:变量未正确初始化?
- 25. 如何正确初始化“min”变量?
- 26. 初始化变量的正确方法
- 27. 需要在运行时初始化的预期常量变量
- 28. as8088变量初始化
- 29. 变量初始化错误
- 30. 对象变量初始化
它真的叫做const变量吗?这感觉像一个矛盾。 –
@David:在C或C++标准中没有“变量”的概念。我想,技术术语是“常量对象”。 –
这个问题没有显示任何研究工作。 –