我正在使用 C API,许多函数都采用字符数组作为参数。我听说现在不赞成使用 char
数组。但另一方面,反复使用 c_str()
将字符串转换为 char
数组似乎很浪费。
是否有理由采用一种方式而不是另一种方式?
最佳答案
c_str()
调用很可能是内联的——就所需代码而言,它非常小。如果这是唯一阻碍你的东西,我会使用 std::string
。
当然,如果您非常担心,此标准建议适用:
- 描述它
- 阅读程序集
另请注意,这是一个微优化;您很可能会浪费开发时间来担心与您应该担心的事情完全不同的事情。
关于c++ - 使用 C API 时,使用字符数组还是使用字符串并根据需要进行转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9179635/