ダイグラフとトリグラフを読んだ後、簡単なプログラムをテストしました。
#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 機能の実装にはそれらが必要ですか? (非常に疑わしいが、尋ねる価値がある)