這篇文章主要介紹“C++怎么使用zstring或not_null
淮陰網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)自2013年創(chuàng)立以來到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
F.25 使用zstring或not_null
Reason(原因)
C風格字符串無處不在。按照慣例,它們定義的是以0結(jié)尾的字符數(shù)組。我們必須區(qū)分指向單一字符的指針和過時的指向字符數(shù)組的指針。
如果不需要0結(jié)尾,則使用string_view。
譯者注:string_view是C++17引入的新特性,可以高效安全地管理字符型數(shù)組。這個數(shù)組不要求以0結(jié)尾。
Example(示例)
Consider(考慮以下代碼):
int length(const char* p);
當我調(diào)用length(s)時,應(yīng)該先檢查s是否為nullptr嗎?length()的實現(xiàn)應(yīng)該檢查p是否為nullptr嗎?
// the implementor of length() must assume that p == nullptr is possible
int length(zstring p);
// it is the caller's job to make sure p != nullptr
int length(not_null
p);
譯者注:zstring表明p是以0結(jié)尾的字符串數(shù)組,而no_null
zstring沒有表達所有權(quán)。
到此,關(guān)于“C++怎么使用zstring或not_null
當前題目:C++怎么使用zstring或not_null<zstring>表示C風格字符串
文章轉(zhuǎn)載:http://weahome.cn/article/jsesps.html