我一直在学习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中的字符串和ASCII字符串有区别吗?
- 5. C++字符串中
- 6. C字符串和C++字符串有什么区别?
- 7. 如何在C#中表示(字符串,字符串[],字符串[])#
- 8. C++中的字符串类有多大?
- 9. c#正则表达式字符串中只有数字字符
- 10. 替换字符串中的所有中间字符C++
- 11. C++:字符串
- 12. C++从字符串中删除字符
- 13. 删除c字符串中的字符
- 14. C++ else if字符串中的字符
- 15. C#加减字符串中的字符
- 16. C - 字符串中字符的范围
- 17. 从c字符串中删除字符
- 18. C从字符串中删除字符
- 19. 从C字符串中删除字符
- 20. 从C++中的输入字符串中分隔字符串和int字符串
- 21. 将字符串转换为没有CGo的C字符串
- 22. C++中的字符串类有多少个字符?
- 23. 有多少个字符可以放入C++字符串中?
- 24. 字符串在C++中不打印没有新行字符
- 25. 在C#中查找更大字符串中子字符串的所有位置
- 26. C++字符串中的
- 27. C中的字符串流
- 28. C++中的空字符串
- 29. 在C++中的字符串
- 30. 逆c中的字符串