V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
geekvcn
V2EX  ›  程序员

最近给一个国外 C++项目提交代码的时候发现老外为啥 std::string 都不爱用?

  •  
  •   geekvcn · 123 天前 · 1008 次点击
    这是一个创建于 123 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大多数情况我都是用 std::string 的,一是能避免缓冲区溢出,二是操作字符串确实方便。但是我看老外代码的时候他们都是用 char 数组,导致我为了不对代码做太大的变动,也用 char 数组,截取字符串靠操作指针偏移和'\0',提取字符串靠遍历,还要考虑传进来的字符串范围定义 buf[]数组避免缓冲区溢出。

    是老外有啥特殊癖好?单纯性能方面放现在的硬件上不值一提吧,换句话说为什么老外不直接把项目改为 C 语言,又要用 C++呢?

    2 条回复
    LuckyPocketWatch
        1
    LuckyPocketWatch  
       123 天前
    1. 接口限制,需要和老代码兼容
    2.老年程序员,国外 40+,50+的程序员一大把
    3.C 语言程序员,之前用过海康威视的 SDK 示例代码,C++代码用的是 int main(void)..
    4.标新立异,我就遇到过不用 SLT 的,理由是“根本就不存在 STL”
    junkun
        2
    junkun  
       123 天前
    有一个问题是 std::string 的实现不确定也不那么稳定,不同 libcpp 的 string 都叫 std::string ,glibcpp 还改过 std::string 的内部实现。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2570 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 05:46 · PVG 13:46 · LAX 21:46 · JFK 00:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.