【发布时间】:2014-08-15 23:20:06
【问题描述】:
略读 C++ 标准,我在很多情况下得出以下结论:
X的表达式格式应该是正确的。
我对自己说:“好吧,凭直觉你知道什么是格式良好的表达式,但是你能正式解释什么使 C++ 表达式成为格式良好的表达式吗?”。
我进行了一些搜索,但没有找到任何对此事给出正式解释的内容。所以这是我的问题:
问:在 C++ 中格式良好的表达式有哪些定性特征?
【问题讨论】:
-
@sharth 我不会:我希望它与格式错误的相反。表达式是否符合 C++ 标准中的规则通常无法通过计算机进行验证。
-
@sharth 我指的不是 C++ 程序,而是 C++ 表达式。
-
@sharth Heh,但与此同时,该标准从未真正指定程序何时格式正确,仅在程序格式错误时。无论如何,我写了我的评论,因为你谈到了 C++ 语言的规则,而不仅仅是可诊断的规则,而且这通常是不可验证的:一个表达式可能不是格式错误的,但仍然有未定义的行为,在这种情况下,它不会'不遵循 C++ 语言的规则。
-
@sharth:计算机绝对可以确定 C++ 程序是否格式正确。
-
@sharth:不,程序是否格式正确在编译时就知道了。用户输入与它无关。
标签: c++ c++11 language-lawyer c++14