gpt4 book ai didi

c++ - 为什么放 2 个分号不是错误?

转载 作者:太空狗 更新时间:2023-10-29 19:48:01 24 4
gpt4 key购买 nike

我只是发现无论有多少个分号(如果多于 0)编译器都会编译而不会出错

#include <iostream>

int main()
{
int x;
x = 5;;
std::cout << x;;;
}

会正常工作,为什么?

最佳答案

这不是错误,因为语言标准是这么说的。有空语句是可以的,它们什么都不做,也无害。

有时候它很有用:

#ifdef DEBUG
#include <iostream>
#define DEBUG_LOG(X) std::cout << X << std::endl;
#else
#define DEBUG_LOG(X)
#endif

int main()
{
DEBUG_LOG(1);
}

当未定义 DEBUG 时,这将扩展为:

int main()
{
;
}

如果你不能有无法编译的空语句。

关于c++ - 为什么放 2 个分号不是错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36408249/

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