Gnuステートメント式(CおよびC++言語)をサポートする最新のコンパイラはどれですか。ステートメント表現を使用するには、どのバージョンを使用する必要がありますか?GNUステートメント表現のコンパイラサポート
文の表現は({ code; code; retval })
のようになめらかである:
int b=56;
int c= ({int a; a=sin(b); a})
私はすでにそのようないくつかのコンパイラを知っている:
- GCC> = 3
- クラン/ LLVMを> =?
- インテルC++コンパイラ> = 6.0(Linux版、check page 4;ビットlimited)
- サンスタジオ> = 12(New Language Extensions)
- IBM z/OSのXL(marked as IBM extension)
- Open64(それはを使用するようにミサゴ-gccのフロントエンドは)
このコンパイラは、(私はわからないよ)これをサポートしていないようです:
- MS Visual C++
PS。いくつかのC/C++コンパイラがhereを記載されているだけで広く使用されている成熟したコンパイラ、中に私は興味を持っている(例えばないTCCまたはターボC)
しかし、[ページ](http://software.intel.com/sites/products/documentation/hpc/composerxe/en-us/2011Update/cpp/lin/bldaps_cls/ common/bldaps_gcc_compat_comm.htm)は次のように述べています。*文の式はサポートされていますが、その中で以下が禁止されています:* ".. [this、page4](http://scc.ustc.edu.cn/zlsc/lenovo_1800/200910 /W020100308600680463493.pdf)はそれが真実だと言いますeインテル®C++コンパイラー・バージョン6.0 – osgx
あなたは正しいです。私はより良い答えをします。 – lrineau