Каков наиболее эффективный способ преобразования строки в массив / значение char, на который может указывать указатель char?

Если у меня есть строка:

std::string Pooptacular = "Pooptacular"

и я хочу преобразовать его в массив символов, у меня есть несколько вариантов
одно существо:

char* poopCArr = Pooptacular.c_str();

или я могу сделать что-нибудь с memcpy или strcpy и тому подобное.

Я хочу знать, какой из этих методов является самым быстрым
или самый эффективный. Другими словами, какой метод я должен использовать, если
Я должен был сделать это сотни тысяч раз за один прогон программы?

0

Решение

Если вам нужен только доступный только для чтения указатель на данные, используйте c_str, Это ничего не конвертирует. Это просто дает вам доступ к буферу string уже выделил. Конечно, вы должны скопировать его в новый буфер, если вы хотите изменить его, и если вы это сделаете, не ожидайте, что ваши изменения будут отражены в вашем оригинале string объект.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector