1

次のキャスト構文は見たことがありません。

int var = int(1.0);

int は基本型なので、私は疑問に思っています:それは

int var = (int)1.0;

?

4

3 に答える 3

4

2 つの表記法は同等です (プリミティブ型の場合)。c++補足: C スタイルのキャストの代わりにstatic_cast を使用してください。ここでは大きな違いはありませんが、これは悪い習慣です。

複合型の場合、最初はコンストラクターを呼び出し、2 番目はキャスト演算子を呼び出すため、まったく異なるロジックを持つ可能性があります。

于 2013-02-27T14:30:54.093 に答える
1

どちらのソリューションも、構文的に正しく、明示的な型キャストの同等の方法です。 http://www.cplusplus.com/doc/tutorial/typecasting/

于 2013-02-27T14:39:50.477 に答える
1

最初の呼び出しはコンストラクター呼び出しです。2 番目の呼び出しはキャストです。それらは基本的に同じです。

于 2013-02-27T14:31:54.827 に答える