3
我想在C++中構造一個字符串,如下所示。這裏調用了哪個std :: string構造函數?
const char *cstring = "abcd";
const string cppstr = string(cstring, cstring + strlen(cstring));
這是工作的罰款和cppstr的值爲「ABCD」,即使它不符合任何標準中指定的字符串構造函數。任何人都可以讓我知道在這個特殊情況下哪個字符串的構造函數被調用。
甚至只是'const string cppstr {cstring};' – rici
@rici:如果我使用const string cppstr(cstring),創建的字符串將包含'\ 0'。 – kadina
@kadina你確定嗎?構造函數被設計爲在它遇到空終止符時立即停止。 – templatetypedef