无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

C++沒(méi)有trim為什么不自己造一個(gè)呢?

2023-10-24 15:54 作者:大方老師單片機(jī)課堂  | 我要投稿

C++沒(méi)有trim為什么不自己造一個(gè)呢?


省流:因?yàn)榫幋a

C++的標(biāo)準(zhǔn)里面是沒(méi)有現(xiàn)在語(yǔ)言中的字符串的。C++的string其實(shí)是字節(jié)數(shù)組,里面沒(méi)有取第i個(gè)字符的功能,只有取第i個(gè)字節(jié)的功能。他不區(qū)分里面內(nèi)容的編碼,也不保證里面的內(nèi)容一定是有效的編碼。

最近很多小伙伴找我,說(shuō)想要一些C++資料,然后我根據(jù)自己從業(yè)十年經(jīng)驗(yàn),熬夜搞了幾個(gè)通宵,精心整理了一份「C++專(zhuān)業(yè)入門(mén)到高級(jí)教程+工具包」,點(diǎn)個(gè)關(guān)注,全部無(wú)償共享給大家?。?!

評(píng)論區(qū)回復(fù)“888”,關(guān)注我之后私信回復(fù)“666”,即可拿走。


而現(xiàn)代編程語(yǔ)言一般會(huì)區(qū)分字符串和字節(jié)數(shù)組。對(duì)于字符串,經(jīng)過(guò)取舍發(fā)現(xiàn)還是按照變長(zhǎng)編碼比較好。Go和Rust的字符串是UTF-8變長(zhǎng)編碼,而Python設(shè)計(jì)得早一些加上是動(dòng)態(tài)類(lèi)型解釋型語(yǔ)言,默認(rèn)字符串存unicode,可以動(dòng)態(tài)編碼成其他編碼的字符串。

由于C++的string在使用的時(shí)候,程序并不知道它的編碼,所以并不存在一個(gè)一定正確的trim函數(shù)的實(shí)現(xiàn)。如果從前后分別一個(gè)字節(jié)一個(gè)字節(jié)的找直到遇到非空白符的ascii碼,在ascii和utf8編碼的字符串上是正確的,但是在utf16上就需要兩個(gè)字節(jié)兩個(gè)字節(jié)找了,而在其他編碼下有可能會(huì)把某個(gè)字符的其中某個(gè)字節(jié)當(dāng)成空白符從而導(dǎo)致bug。

由于C++標(biāo)準(zhǔn)里還沒(méi)有很好的處理編碼問(wèn)題,所以trim函數(shù)還沒(méi)法進(jìn)入標(biāo)準(zhǔn)。


C++沒(méi)有trim為什么不自己造一個(gè)呢?的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
镇康县| 蓬莱市| 黔东| 多伦县| 凤台县| 北宁市| 库尔勒市| 安溪县| 纳雍县| 金昌市| 博客| 齐河县| 景宁| 东乌| 安仁县| 大渡口区| 郴州市| 涟水县| 丰城市| 益阳市| 隆化县| 辛集市| 揭东县| 柞水县| 通江县| 天津市| 临潭县| 台州市| 德昌县| 南川市| 广水市| 大丰市| 太康县| 嘉祥县| 六枝特区| 滨海县| 马鞍山市| 怀化市| 马龙县| 商南县| 花垣县|