轉換爲size_t(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);
也就是說,當我把唯一的0
被它轉化爲size_t(0)
?如果是這樣,一種形式是否優先於其他形式?我的猜測是,t(0)
是最好的使用,因爲它使轉換顯式。另一方面,也許一些程序員認爲size_t(0)
冗長?我在實踐中猜測,沒有人關心任何一種方式。
我只能說C++支持類型轉換的許多不同語法,'type(arg)'在適合性,可讀性,明確性等方面並不是最好的? –
爲什麼不呢?也許是因爲'type'可以作爲函數調用讀取? – scottkosty
是的,並且作爲一個類的實例化等等。編寫'(type)arg'好得多,因爲它只意味着一件事 - 類型轉換。那麼這個隨便的讀者就不用猜測了。在專業化方面''static_cast(arg)'更好。 –