Форум программистов, компьютерный форум CyberForum.ru

Что возвращает length? - C++

Восстановить пароль Регистрация
 
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
02.03.2014, 17:07     Что возвращает length? #1
Что возвращает
C++
1
s.length()
, если
C++
1
std::string s;
хранит UTF8? Длину в байтах, или в символах?
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
02.03.2014, 17:09     Что возвращает length? #2
tarasproger, количество символов
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
02.03.2014, 17:10  [ТС]     Что возвращает length? #3
А как получить в байтах?
Amandosov
Знаток
156 / 156 / 65
Регистрация: 18.11.2012
Сообщений: 411
Записей в блоге: 2
02.03.2014, 17:11     Что возвращает length? #4
символах возвращает int
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
02.03.2014, 17:12  [ТС]     Что возвращает length? #5
А разве стандартные типы не зарезервированы?

Добавлено через 17 секунд
Цитата Сообщение от Amandosov Посмотреть сообщение
умнож на 8
А не жирно?
Amandosov
Знаток
156 / 156 / 65
Регистрация: 18.11.2012
Сообщений: 411
Записей в блоге: 2
02.03.2014, 17:14     Что возвращает length? #6
да точно
1 символ = 1 байт
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
02.03.2014, 17:22  [ТС]     Что возвращает length? #7
В UTF8 символ может весь от одного и больше, кириллица всегда больше.
DrOffset
6461 / 3835 / 885
Регистрация: 30.01.2014
Сообщений: 6,630
02.03.2014, 17:28     Что возвращает length? #8
Цитата Сообщение от tarasproger Посмотреть сообщение
хранит UTF8? Длину в байтах, или в символах?
Возвращает длину в байтах. Если в символах, то нужно реализовать специальный алгоритм. Либо посмотреть сюда.
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
02.03.2014, 17:29     Что возвращает length? #9
Сообщение было отмечено автором темы, экспертом или модератором как ответ
tarasproger
C++
1
s.capacity();
Возвращает размер выделенной памяти, может не совпадать с количеством символов.
Будет или больше или равно...
DrOffset
6461 / 3835 / 885
Регистрация: 30.01.2014
Сообщений: 6,630
02.03.2014, 17:37     Что возвращает length? #10
Цитата Сообщение от GuGo1991 Посмотреть сообщение
Будет или больше или равно...
Количество символов может быть меньше, чем размер памяти. Т.к. в UTF-8 один символ может занимать от 1 до 4х байт. std::string ничего не знает про UTF-8, она просто хранит байты. Поэтому, чтобы посчитать количество символов нужно использовать специальные алгоритмы. См. ссылку выше.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.03.2014, 20:17     Что возвращает length?
Еще ссылки по теме:

узнать что возвращает функция C++
C++ Узнать что возвращает функция
C++ Элемент-функция length() возвращает кол-во символов

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

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
02.03.2014, 20:17     Что возвращает length? #11
Цитата Сообщение от Amandosov Посмотреть сообщение
возвращает int
C++
1
size_t length() const noexcept;
std::string::length
Yandex
Объявления
02.03.2014, 20:17     Что возвращает length?
Ответ Создать тему
Опции темы

Текущее время: 15:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru