Задать вопрос
@vladmd02

Содержит ли объект класса std::string строку с терминирующем нулем (т.е. '\0')?

В C ++ строка это вектор == указатель на начало и длина. Но будет ли там закрывающий 0?

class String{

private:

char * str; // pointer to string

int len; // line length

static int num_strings; // number of objects

static const int CINLIM = 80; // input limit for cin
}


Другими словами, std::string действительно содержит только указатель на char, и там нет закрывающего нуля?
  • Вопрос задан
  • 178 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@Bladegreat
До С++11 строки могут не содержать нуль-терминатор, а начиная с C++11 - обязаны. Метод data() возвращает то же самое, что и c_str().

https://en.cppreference.com/w/cpp/string/basic_str...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы