Если у меня есть строка:
std::string Pooptacular = "Pooptacular"
и я хочу преобразовать его в массив символов, у меня есть несколько вариантов
одно существо:
char* poopCArr = Pooptacular.c_str();
или я могу сделать что-нибудь с memcpy или strcpy и тому подобное.
Я хочу знать, какой из этих методов является самым быстрым
или самый эффективный. Другими словами, какой метод я должен использовать, если
Я должен был сделать это сотни тысяч раз за один прогон программы?
Если вам нужен только доступный только для чтения указатель на данные, используйте c_str
, Это ничего не конвертирует. Это просто дает вам доступ к буферу string
уже выделил. Конечно, вы должны скопировать его в новый буфер, если вы хотите изменить его, и если вы это сделаете, не ожидайте, что ваши изменения будут отражены в вашем оригинале string
объект.
Других решений пока нет …