2

最近、この 2 つの表現 -(type)valuetype(value).

例えば ​​: size_t c = size_t(-1); size_t c = (size_t)-1;

違いはなんですか?

4

2 に答える 2

5

前者はC++で、コンストラクターを呼び出して直接初期化を行います。

2番目はC(またはC ++)で、キャストを実行しています。

したがって、Cプログラマーの観点からは多くの違いがあります。

また、これはsize_t符号なし型であるため、かなり悪い考えです。これは、署名されたを使用して実行ssize_tする必要があり、キャストの必要がなくなります。

于 2013-01-24T10:47:41.863 に答える
2

C では、これらのうちの 1 つだけが有効な式です。

C++ では、これらはまったく同じであり、明示的なキャスト式を記述する 2 つの代替形式です: C スタイルと関数型スタイルです。

于 2013-01-24T16:07:24.203 に答える