C ++のダブルアドレス演算子(&&)とは何ですか?
&&は、C++11標準で定義された新しい参照演算子です。 int &&aは、「a」がr値の参照であることを意味します。 &&は通常、関数のパラメーターを宣言するためにのみ使用されます。そして、それはr値式のみを取ります。
簡単に言えば、r値はメモリアドレスを持たない値です。例えば。数字の6と文字「v」はどちらもr値です。 int a、aはl値ですが、(a + 2)はr値です。
void foo(int&& a) { //Some magical code... } int main() { int b; foo(b); //Error. An rValue reference cannot be pointed to a lValue. foo(5); //Compiles with no error. foo(b+3); //Compiles with no error. int&& c = b; //Error. An rValue reference cannot be pointed to a lValue. int&& d = 5; //Compiles with no error. }
R値とこの演算子の詳細については、http://blogs.msdn.com/b/vcblog/archive/2009/02/03/rvalue-references-c-0x-features-in-vc10-part-を参照してください。 2.aspx
-
C ++のsizeof演算子とは何ですか?
sizeofはキーワードですが、変数またはデータ型のサイズをバイト単位で決定するコンパイル時の演算子です。 sizeof演算子を使用して、クラス、構造体、共用体、およびその他のユーザー定義のデータ型のサイズを取得できます。 sizeofを使用する構文は次のとおりです- sizeof (data type) ここで、データ型は、クラス、構造体、共用体、およびその他のユーザー定義のデータ型を含む、目的のデータ型です。 sizeof演算子をchar型のオブジェクトに適用すると、1が得られます。sizeof演算子を配列に適用すると、配列IDで表されるポインターのサイズではなく、その配列の合計バイト数が
-
C#のキャスト演算子()とは何ですか?
型変換とは、あるタイプのデータを別のタイプに変換することです。明示的な変換は、事前定義された関数を使用してユーザーによって明示的に行われ、キャスト演算子が必要です。 doubleをintにキャストする例を見てみましょう- 例 using System; namespace Demo { class Program { static void Main(string[] args) { double a = 4563.56;