Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
#1

Std::string размера 20 со строкой длины 10? - C++

28.02.2014, 17:38. Просмотров 183. Ответов 2
Метки нет (Все метки)

Возможно ли, что std::string будет хранить в себе строку длиной в 10 символов, но при этом иметь внутри массив char'ов длиной 20? (10 и 20 - просто для примера) Если да, то каким будет результат length() и size()? Раньше полагал, что первый возвращает длину строки (10), а второй длину массива (20), но почитав:
http://en.cppreference.com/w/cpp/string/basic_string/size
http://en.cppreference.com/w/cpp/string/basic_string/length
Обнаружил, что они одинаковы. То же говорит:
http://www.cplusplus.com/reference/string/string/size/
Так что? И, если это и правда возможно, при каких условиях будет подобное?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.02.2014, 17:38
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Std::string размера 20 со строкой длины 10? (C++):

ошибка error: cannot convert 'std::string {aka std::basic_string<char>}' to 'std::string* {aka std::basic_stri - C++
на вод поступают 2 строки типа string. определить количество вхождений строки 2 в строку 1 ошибка error: cannot convert 'std::string {aka...

запрошено преобразование от ‘const std::string*’ к нескалярному типу ‘std::string’ - C++
private: std::string firstName; }; std::string ClientData::getFirstName() const{ return firstName; } Дает в итоге...

На основе исходного std::vector<std::string> содержащего числа, создать std::vector<int> с этими же числами - C++
подскажите есть вот такая задача. Есть список . Создать второй список, в котором будут все эти же числа, но не в виде строк, а в виде...

Реализация класса MyString. Стандартная библиотека, std::string, std::vector - C++
как добавить реализацию конкатенации строк через перегрузку оператора &quot;+=&quot; в классе MyString и почему ошибка выдается???#include...

Передача функции указатель на элемент std::vector<std::string> - C++
Доброй ночи тем, кому не спится (или живет в другом часовом поясе:p)! Есть функция, требующая в качестве параметра указатель на...

Операция std::cout для Объекта типа std::string - C++
Кто детально объяснит почему не выводит ? Дает вот так &quot;Отсутствует оператор &quot;&lt;&lt;&quot;, соответствующий этим операндам&quot; void...

2
THE--MASTER
Заблокирован
28.02.2014, 17:42 #2
C++
1
2
3
std::string str = "0123456789";
str.resize(20);
int len = str.size();
сначала str размером 10 символов, потом он расширяется нулями до 20
1
Croessmah
Ушел
13783 / 8033 / 928
Регистрация: 27.09.2012
Сообщений: 19,804
Записей в блоге: 3
Завершенные тесты: 1
28.02.2014, 17:43 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
length просто более понятно по отношению к строке, а size более универсально.
Для определения запаса выделенной памяти есть std::string::capacity
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.02.2014, 17:43
Привет! Вот еще темы с ответами:

Как правильно перевести std::wstring в std::string ? - C++
Собственно как? :)

Почему std::string_view МЕДЛЕННЕЕ, чем std::string? - C++
Всем привет! Нужно найти количество уникальных строк в больших текстовых файлах (размером до нескольких гигабайт). Почему в...

Как привести std::wstring к std::string? - C++
Как привести std::wstring к std::string?

std::string, std::fstream, ошибка кучи - C++
где то начало вылетать при операции += с локальной переменной std::string. Заменил на свой qString. Замечательно, то же самое... ошибка при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru