170 похожих чатов

Ну чар занимает 1 байт, я это знаю, получается чтобы

получить размер строки, а он по определению массив чаров, нужно умножать размер чара на размер массива?

25 ответов

15 просмотров

Если чар занимает 1 байт, то зачем умножать?

Делить размер массива на размер типа

там не только символы. в случае сишной строки там ещё нулевой байт в конце и указатель, в случае std::string указатель и две длины

Kirill Bolshakov
Ну это не даст размер строки

Даст, если строка представлена в виде массива чаров

Kirill Bolshakov
Скорее три указателя

разве? по-моему там указатель, длина и капасити

Kirill Bolshakov
Думаю там вместо длин указатели

https://github.com/llvm/llvm-project/blob/89b59345ee29d2cc1afa1f60445916ae2e74be6d/libcxx/include/string#L733-L738 https://github.com/llvm/llvm-project/blob/89b59345ee29d2cc1afa1f60445916ae2e74be6d/libcxx/include/string#L763-L768

Алиса Кассель-Королёва
https://github.com/llvm/llvm-project/blob/89b59345...

pointer __data_ - указатель на данные size_type __size_ - размер строки (количество символов) size_type __cap_ - максимально возможный размер строки без переаллокаций (если добавить больше символов, все данные придётся перемещать, поменяется указатель __data_, инвалидируются итераторы)

Если string это массив чаров, тогда почему я могу делать так? И почему у этого массива есть методы?) int main() { string a = "abc"; a += "w"; cout << a; return 0; }

jon pedro
Если string это массив чаров, тогда почему я могу ...

потому что std::string и string это разные слова?

Dmitriy [Отпуск]
sizeof(char*) == sizeof(size_t)

Так длина всё равно не указатель

Алексей-Комягин Автор вопроса
Denis P
string это не массив чаров

Понятное дело, что это класс, тогда что такое string[i]

Это размер не строки, а буфера под строку...

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

Обсуждают сегодня

Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Коллеги, добрый вечер. Создаю коллекцию от TFPGMap, ключ - перечисление, значение - целое. Нужно отсортировать коллекцию по значению. Как это можно сделать?
Kirill Filippenok
11
Скажи а ты когда этот канал создавал ты уже дельфи не любил, или это со временем пришло?
Роман Лях (rgreat)
18
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Всем привет! Использую кастомное модальное диалоговое окошко, все по классике - mrOK, mrCancel как ModalResult. Однако есть нюанс - в главной форме есть универсальный обработч...
Олег Гранишевский
20
Карта сайта