在阅读了 digraphs 和 trigraphs 之后,我继续测试了一个简单的程序:
#include <stdio.h>
int main()
{
int a = 0;
//??/
++a;
printf("%d",a);
return 0;
}
我反射性地做到了
g++ -std=c++11 test.c
令我惊讶的是,没有发出警告并且打印了 0 所以我继续尝试使用 C 编译器进行编译,但由于三元组,它确实发出了警告。
我的问题是为什么默认情况下会-std=c++11
自动拉入-trigraphs
并且不发出警告?(不使用 -Wall)某些 C++11 功能的实现是否需要它们?(非常怀疑,但值得一问)