x = (y + 1) % 10; x = (y + 1) * (z - 1); x = (double)(f(y) + 1);
演算子+と-の優先順位は非常に低いため、常に括弧で囲む必要があります。これにより、コードの埋め込みが深くなり、理解が困難になります。
Visual Studio 2015 RCでは、オタマジャクシステートメントと呼ばれる実験的なステートメントがいくつか追加されています。 括弧に頼らずにユニットを追加および削除できます。
x = -~y % 10; x = -~y * ~-z; x = (double)-~f(y);
それらは、意味に出入りするオタマジャクシに似ているため、そのように命名されています。 ティルダは頭で、マイナスは尾です。
構文 | 価値 | ニーモニック |
---|---|---|
-〜y | y + 1 | オタマジャクシは値に合わせて浮き上がり、大きくなります |
〜-y | y-1 | おたまじゃくしは価値に浮かび、小さくする |
オタマジャクシ演算子の実験的サポートを有効にするには、C ++ファイルの先頭に追加します。
#define __ENABLE_EXPERIMENTAL_TADPOLE_OPERATORS
オタマジャクシ演算子の使用方法を示す簡単なプログラムを次に示します。
#define __ENABLE_EXPERIMENTAL_TADPOLE_OPERATORS #include <ios> #include <iostream> #include <istream> int __cdecl main(int, char**) { int n = 3; std::cout << "3 + 1 = " << -~n << std::endl; std::cout << "(3 - 1) * (3 + 1) " << ~-n * -~n << std::endl; return 0; }
これらの演算子はまだ実験的であることに注意してください。 それらはC ++の公式な部分ではありませんが、それらを試して、 ここにコメントを残すことができます 。