大多数情况我都是用 std::string 的,一是能避免缓冲区溢出,二是操作字符串确实方便。但是我看老外代码的时候他们都是用 char 数组,导致我为了不对代码做太大的变动,也用 char 数组,截取字符串靠操作指针偏移和'\0',提取字符串靠遍历,还要考虑传进来的字符串范围定义 buf[]数组避免缓冲区溢出。
是老外有啥特殊癖好?单纯性能方面放现在的硬件上不值一提吧,换句话说为什么老外不直接把项目改为 C 语言,又要用 C++呢?
1
LuckyPocketWatch 117 天前
1. 接口限制,需要和老代码兼容
2.老年程序员,国外 40+,50+的程序员一大把 3.C 语言程序员,之前用过海康威视的 SDK 示例代码,C++代码用的是 int main(void).. 4.标新立异,我就遇到过不用 SLT 的,理由是“根本就不存在 STL” |
2
junkun 117 天前
有一个问题是 std::string 的实现不确定也不那么稳定,不同 libcpp 的 string 都叫 std::string ,glibcpp 还改过 std::string 的内部实现。
|