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

Это разве не шаблоны? Или я туплю?

18 ответов

20 просмотров
cryogen-world Автор вопроса

Стринг тоже?

cryogen world
Стринг тоже?

да, std::string - это на самом деле алиас к шаблонной строке

cryogen-world Автор вопроса
Anton Semenov
да, std::string - это на самом деле алиас к шаблон...

Типа шаблон вектора, который хранит символы? Или как?

cryogen world
Типа шаблон вектора, который хранит символы? Или к...

да, он типизирован конкретным типом символов - char. Есть еще wstring, u8string, u16string, u32string, и можно запилить любой свой, если правильно реализовать traits для символов

cryogen world
Типа шаблон вектора, который хранит символы? Или к...

ой, прошу прощения, ответил только на половину вопроса. нет, std::string(точнее, ее общий случай std::basic_string) - это не специализация и не обертка над вектором. И то и другое - по сути просто динамический массив, но строка считается особым случаем, имеет собственный интерфейс, и реализована чуток по-другому.

cryogen-world Автор вопроса
Anton Semenov
ой, прошу прощения, ответил только на половину воп...

Но строка тоже контейнер, её тоже можно итерировать

cryogen world
Но строка тоже контейнер, её тоже можно итерироват...

специализированный, да. Это не просто массив символов, а именно строка, имеющая собственные особые свойства (такие как терминирующий символ в конце) =)

Sergey Kaniskin
char[10] тоже можно итерировать

да, для этого в стандартной библиотеки пришлось городить костыль

Sergey Kaniskin
iterator_traits<char*> есть

https://en.cppreference.com/w/cpp/named_req/Container

Sergey Kaniskin
При чем тут итерирование?

я ничего про итерирование не писал

Aleksander Spichak
я ничего про итерирование не писал

Это просто минимальный интерфейс контейнера. По стандарту

Aleksander Spichak
я ничего про итерирование не писал

Посмотрите, если охота, на какой мой комментарий вы ответили

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
1
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Карта сайта