size_t(0)
を使用しているのは、次のコードで0
と同じですか?私は0
を入れたときに、あるC++スタイルと0からsize_t(0)への変換
const string foo = "testing";
const size_t pos = foo.find("i");
string name = foo.substr(size_t(0), pos);
は、それがsize_t(0)
に変換しているのですか?そうであれば、一方の形式が他方より優先されますか?私の推測では、変換を明示的にするので、t(0)
が使用するのが最適です。一方、おそらく一部のプログラマーはsize_t(0)
を冗長と考えていますか?私は実際には誰も気にしないと思います。
C++で型キャストがサポートされているさまざまな構文の中で、 'type(arg)'は適切、可読性、明快さなどの点で最高ではありません。 –
なぜですか?おそらく、 'type'が関数呼び出しとして読み込まれる可能性があるからでしょうか? – scottkosty
はい、クラスのインスタンス化などです。 '(type)arg'の記述は、型キャストを意味するため、はるかに優れています。その後、カジュアルリーダーは推測する必要はありません。 'static_cast(arg)'はまだ専門化の面で優れています。 –