C/C++ - 的區別


<string.h>
<string.h>是C版本的頭文件,包含比如strcpy、strcat之類的字符串處理函數。

<string>
<string>是C++標准定義的頭文件,它定義了一個string的字符串類,里面包含了string類的各種操作,如s.size(), s.erase(), s.insert()等。但<string>又包含了老的C版本的字符串操作如strcpy、strcat等,這就相當於,在<string>的文件中除了定義自己的string類之外,還加了一個#include<string.h>一句包含了C版本的字符串操作。


<cstring>
在C++標准化(1998年)過程中,為了兼容以前,標准化組織將所有這些文件都進行了新的定義,加入到了標准庫中,加入后的文件名就新增了一個"c"前綴並且去掉了.h的后綴名,所以string.h頭文件成了cstring頭文件。但是其實現卻是相同的或是兼容以前的,這就是<cstring>的來源,不要覺得又多了一個東西。相當於標准庫組織給它蓋了個章,說“你也是我的標准程序庫的一份子了”。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM