如果我有一个字符串:
std::string Pooptacular = "Pooptacular"
我希望将它转换为char数组,我有一些选择 一个是:
char* poopCArr = Pooptacular.c_str();
或者我可以用memcpy或strcpy等做一些事情。
我想知道的是,这些方法中哪一种最快 或最有效率。换句话说,如果我应该使用哪种方法 我在一个程序中运行了几十万次?
答案 0 :(得分:1)
如果您只需要一个指向数据的只读指针,请使用c_str
。它没有转换任何东西。它只是让您访问已分配的缓冲区string
。当然,如果要更改它,则必须将其复制到新缓冲区,如果这样做,不要指望您的更改会反映在原始string
对象中。