c++ - 使用 C API 时,使用字符数组还是使用字符串并根据需要进行转换?

标签 c++ arrays string

我正在使用 C API,许多函数都采用字符数组作为参数。我听说现在不赞成使用 char 数组。但另一方面,反复使用 c_str() 将字符串转换为 char 数组似乎很浪费。

是否有理由采用一种方式而不是另一种方式?

最佳答案

c_str() 调用很可能是内联的——就所需代码而言,它非常小。如果这是唯一阻碍你的东西,我会使用 std::string

当然,如果您非常担心,此标准建议适用:

  1. 描述它
  2. 阅读程序集

另请注意,这是一个微优化;您很可能会浪费开发时间来担心与您应该担心的事情完全不同的事情。

关于c++ - 使用 C API 时,使用字符数组还是使用字符串并根据需要进行转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9179635/

相关文章:

c++ - 在 C++ 中读取 INI 文件

javascript - 将 Javascript `Set` 转换为数组

JavaScript 字符串作为数组 : Read but no Write

c++ - 同时添加头文件和实现文件

c++ - 将 vector 作为范围传递给 std::sort - C++17

javascript - 如何比较两个数组对象的特定字符串?

javascript - 如果数组中的所有值均为真(字符串)并且其中一个值为假(字符串),如何返回 boolean 值真停止使用 Javascript 检查

string - 处理字符串的字符限制

c++ - 可以在 C++03 中有条件地声明友元类吗?

arrays - 在fortran程序中访问数组时发生段错误