最近、この 2 つの表現 -(type)value
とtype(value)
.
例えば : size_t c = size_t(-1); size_t c = (size_t)-1;
違いはなんですか?
前者はC++で、コンストラクターを呼び出して直接初期化を行います。
2番目はC(またはC ++)で、キャストを実行しています。
したがって、Cプログラマーの観点からは多くの違いがあります。
また、これはsize_t
符号なし型であるため、かなり悪い考えです。これは、署名されたを使用して実行ssize_t
する必要があり、キャストの必要がなくなります。
C では、これらのうちの 1 つだけが有効な式です。
C++ では、これらはまったく同じであり、明示的なキャスト式を記述する 2 つの代替形式です: C スタイルと関数型スタイルです。