gpt4 book ai didi

c++ - 有没有办法在 #include 之后写语句而不是注释?

转载 作者:太空狗 更新时间:2023-10-29 20:51:28 24 4
gpt4 key购买 nike

我想弄清楚是否可以在文本编辑器的同一行上编写有效的 C++ 代码。这对于 main 函数来说并不太棘手,因为所有内容都是以分号分隔的;然而,还没有找到一种在 #include 语句之后编写可执行代码的方法。

我知道 #include 语句是预处理的一部分,因此它们的处理方式可能是特定于编译器的,所以我进入了 g++ 文档以查看这些语句的处理方式以及找不到任何答案。我试过分号,\n, std::endl, /* */, ,,以及几乎所有我能想到的都没有成功。

我的猜测是,任何解决方案都必须诱使编译器认为之后的所有代码都在换行符上,但我不确定这是否可能。这纯粹是为了运动,我知道没有必要使用这种功能,而且这种风格很糟糕。

最佳答案

不,那不可能。

C++ 翻译在多个阶段完成(至少在概念上定义)。在预处理阶段之后,空格(包括换行符)不再重要,源代码只是一个标记流。但是,这仅适用于 预处理。

在预处理阶段,空格和换行符仍然很重要。最重要的是,C++ 语法有效地将预处理器指令定义为:

optional-whitespace # optional-preprocessor-keyword other-content new -线

所以换行符是语法的一部分,不能跳过。

(由于这是在标准中定义的,因此它也不受编译器特定处理的约束)。

关于c++ - 有没有办法在 #include 之后写语句而不是注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49975011/

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