首先让我问一个一般性问题:
- 在我看来,C++ 是一种旨在提供大量功能的语言,为程序员提供最大可能的灵 active ,让他们以他认为合适的方式做事。换句话说,它是一种灵活的语言,与我见过的任何其他语言相比,它允许程序员以更多的方式表达自己。这是对的吗?
然后是具体的:
- 为什么 C++ 似乎不支持创建其对象只能是
const
的类?换句话说,如果您尝试创建它的非const
对象,您会在其中遇到编译时错误的类。在许多情况下,这似乎是很自然的事情,但 C++ 不允许这样做。 这背后的原因是什么? (当然,我可以让所有成员const
,但这有点逃避。)
最佳答案
您的第一段详细说明了 C++ 如何灵活并允许您表达许多不同的程序。
你的第二段问为什么 C++ 不允许程序员强制执行一个非常严格的限制,这是有问题的好处(当你可以简单地标记所有成员 const
以获得几乎相同的结果时) .
让我们每个人都从这种二分法中得出自己的结论。 :)
关于要求 const 对象的 C++ 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13606185/