我一直在學習C++和一些來自80年代的書籍,我不確定它們是C++中的字符串還是非常長的char類型數組。誰能幫忙?C++中有字符串?
3
A
回答
17
有在C string類++。
11
查看標準庫。
在STL中,您可以找到std :: string類以及一堆其他有用的類。
基本的文檔可以在這裏找到:
字符串的文件可以在這裏找到:
http://www.sgi.com/tech/stl/basic_string.html
這些STL字符串的美妙之處在於,他們刪除自己;所以一旦你宣佈他們,你可以讓他們離開,他們會處理他們自己的記憶。對於其他stl類也是如此(當然,如果你聲明一個指針向量,向量將被刪除,但指針指向的內存也必須被處理;它不是一個完全靈丹妙藥,但它很好地工作如果你記住這個限制)。
最後,我發現這本書是學習如何在STL認爲一個真正的好辦法:
6
是的,在C++中有字符串,有人走了,完成了所有的工作併爲你編碼。它們不是實際的語言,而是一個名爲標準模板庫的庫,實際上它總是隨C++編譯器一起提供(您可能已經擁有這些庫)。在內部它們用一個char數組表示,但是它是以一種特殊的方式來完成的,所以如果字符串變大,它會丟棄小的char數組並創建一個新的更大的數組。
你應該真的得到一本新書!
2
@mmr指出C++有一個std :: string。除此之外,幾乎所有的類庫/框架/工具包都提供了(至少)一個 它自己的。除此之外,幾乎每個大型C++項目都會有一個改進,其中包括 一個String庫。
所有這些都是必要的,因爲沒有單一的尺寸適合所有。一些想要的數據複製懶, 一些希望快速插入中間等,有的要UTF-8等。
在所有的可能性,如果項目是否任何嚴重的字符串操作,你最終會 寫一個你自己。
0
在C++中;一個null結束的char數組是一個字符串。儘管如此,像許多其他人已經指出的那樣,各種庫也有一個字符串類來處理常見的字符串操作功能。
相關問題
- 1. C字符串字符串
- 2. C++字符串!=字符串
- 3. 獨立的子字符串中我有字符串數組C#
- 4. C++ - 如何提取字符串中的有效字符串?
- 5. 在C#中。字符串和字符串有什麼區別?
- 6. C中的字符串和ASCII字符串有區別嗎?
- 7. 替換字符串中的所有子字符串c#
- 8. C++字符串中
- 9. C字符串和C++字符串有什麼區別?
- 10. C字符串到寬C字符串
- 11. 如何在C#中表示(字符串,字符串[],字符串[])#
- 12. 有沒有辦法在C#中訪問字符串數組中的字符串?
- 13. C++中的字符串類有多大?
- 14. 是的沒有C中的字符串
- 15. C++:ifstreamObject.getline中的動態C字符串用法(c字符串,字符限制)
- 16. c#正則表達式字符串中只有數字字符
- 17. 替換字符串中的所有中間字符C++
- 18. 如何在C#中字串字符串
- 19. C字符串
- 20. C++字符串
- 21. C++:字符串
- 22. 從c字符串中刪除字符
- 23. C刪除字符串中的字符
- 24. C++中的字符和字符串
- 25. c中的字符串替換字符#
- 26. 合併字符串中的字符C
- 27. C#加減字符串中的字符
- 28. C++ else if字符串中的字符
- 29. 從字符串中刪除字符C
- 30. C從字符串中刪除字符