СГ
Сергей Гукин

string c++. Задаю переменную а типа string. Что храниться в переменной а? массив char? если да, то какой размер string a;

АК
Анастасия Капусняк

Там \0 окончание, а размер от компилятора зависит.

TT
Trancer Trancer

string - это класс с динамическим массивом char. Размер string (точнее, текущая емкость - размер считается по количеству находящихся в массиве символов, хотя сама переменная обычно будет занимать намного больше места - как и в Паскале для любой строки по умолчанию выделяется 256 байт, а сколько помещено в нее символов, хранится в нулевом байте строки - но в C++ конструкция string еще намного сложнее) будет зависеть от содержания и увеличивается при необходимости скачками. Когда и какими, определяется разработчиком компилятора.

Под Защитой Братьев))
Под Защитой Братьев))

от я сильно сомневаюсь, что там храниться массив char =)) как минимум, это шаблон, и может быть не только 8ми битным чаром, но wchar_t, к примеру. да и где ты видел такие ибанутые классы, в которых храниться сам массив, а не указатель на него? так что, sizeof тебе ответа не даст. вернее, длину строки он не посчитает и на размер элемента не умножит.

Похожие вопросы
c#. тип char * это что?
DWORD в System::String^ или std::string в System::String^ (Visual C++)
string может быть двумрным ?(c++)
String. Подскажите как можно отсортировать переменную типа string по возрастанию, в С++?
Как преобразовать int юникод в char или String в visual c++?
C++/CLI массив System::String^
Как сконвертировать динамический массив в строку (string)? C#
Сложение char к string С++
Как записать код html страницы в переменную типа string в javascript?
Строку какой длины может вместить переменная с типом string?