使用C API时,请使用字符数组或使用字符串并根据需要进行转换?

Jcr*_*ack 4 c++ arrays string

我正在使用C API,许多函数接受字符数组的参数.我听说使用char数组现在不受欢迎了.但另一方面,使用c_str()将字符串转换为char数组反复过来似乎很浪费.

是否有任何理由以一种方式与另一种方式进行?

unw*_*ind 10

c_str()调用很可能被内联 - 它在所需代码方面非常小.我会用,std::string如果这是唯一阻止你的东西.

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

  1. 简介它
  2. 阅读程序集

还要注意这是一个微优化; 你很可能会浪费开发时间来担心与你应该担心的事情完全不同的事情.