gpt4 book ai didi

c++ - 是否存在具有表达式 'C++11' 的有效 C++11 程序?

转载 作者:IT老高 更新时间:2023-10-28 22:21:57 24 4
gpt4 key购买 nike

编程语言 C++ 的名称来源于父语言 C 和++ 运算符(可以说应该是++C),因此,表达式 C++ 可能自然地出现在 C++ 程序中.我想知道您是否可以使用 2011 标准(不带扩展名)编写一个有效的 C++ 程序,并在引号内和 pre 之后包含表达式 C++11 -处理(注意:编辑要求,另见答案)。

显然,如果您可以使用表达式 C++98C++03 编写早于 2011 标准的 C++ 程序,那么答案很简单是的。但我不认为这是可能的(虽然我真的不知道)。那么,C++11 的新军械库能做到吗?

最佳答案

NO 如果我们要求字符 C++11 在任何文字之外,在预处理之后 -- 因为在翻译阶段 7三个标记将是 identifier++integer-literal

前两个标记是postfix-expression,后面是primary

可以依次包含这两个非终结符的语法没有减少,因此任何包含 C++11 的程序都将无法进行语法分析。

然而,如果您不认为字 rune 字是字符串,那么答案是 YES,因为您可以将它包含在宽字 rune 字中:

int main()
{
wchar_t x = L'C++11';
}

不使用预处理器或字符串字面量,该结构需要标准支持:

The value of a wide-character literal containing multiple c-chars is implementation-defined.

关于c++ - 是否存在具有表达式 'C++11' 的有效 C++11 程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15816175/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com