0

如果我有一个字符串:

std::string Pooptacular = "Pooptacular"

我想将它转换为 char 数组,我有一些选择:

char* poopCArr = Pooptacular.c_str();

或者我可以用 memcpy 或 strcpy 等做一些事情。

我想知道的是,这些方法中哪种方法最快或最有效。换句话说,如果我要在一个程序运行中执行数十万次,我应该使用哪种方法?

4

1 回答 1

1

如果您只需要指向数据的只读指针,请使用c_str. 它不会转换任何东西。它只是让您访问string已经分配的缓冲区。当然,如果你想改变它,你必须把它复制到一个新的缓冲区,如果你这样做了,不要期望你的改变会反映在你的原始string对象中。

于 2012-11-21T07:55:51.457 回答