當我codecvt在cppref中閱讀示例時,我注意到這一行:
std::string data = reinterpret_cast<const char*>( u8"z\u00df\u6c34\U0001f34c");
知道那 之前是u8做什么的嗎?因為我洗掉了它,結果沒有任何改變。
uj5u.com熱心網友回復:
的 是“顯式”執行所述陣列到指標的隱式轉換,產生prvalue const char8_t*(或const char*在C之前 20),而不是一個左值陣列。
這是不必要的,因為reinterpret_cast<T>(whenT不是參考) 無論如何都會執行此轉換。
(可能它被用來防止與similar 混淆reinterpret_cast<const char* const&>(u8"..."),后者將陣列的位元組解釋為指標,這顯然不是我們想要的。但我個人不會擔心這一點)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/394754.html
上一篇:nginx保留上游服務器的IP
