Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如果我有一个字符串:
std::string Pooptacular = "Pooptacular"
我想将它转换为 char 数组,我有一些选择:
char* poopCArr = Pooptacular.c_str();
或者我可以用 memcpy 或 strcpy 等做一些事情。
我想知道的是,这些方法中哪种方法最快或最有效。换句话说,如果我要在一个程序运行中执行数十万次,我应该使用哪种方法?
如果您只需要指向数据的只读指针,请使用c_str. 它不会转换任何东西。它只是让您访问string已经分配的缓冲区。当然,如果你想改变它,你必须把它复制到一个新的缓冲区,如果你这样做了,不要期望你的改变会反映在你的原始string对象中。
c_str
string