Size: a a a

2020 May 10

PK

Pavel Kazakov in pro.cxx
Побитый Кирпич
std::string конечно же контейнер
и для чего он контейнер — кодпоинты внутри хранить? тогда раз число знаки хранит, тоже контейнер
источник

ПК

Побитый Кирпич... in pro.cxx
Pavel Kazakov
и для чего он контейнер — кодпоинты внутри хранить? тогда раз число знаки хранит, тоже контейнер
std::string контейнер, потому что соответсвует требованиям к контейнеру: https://en.cppreference.com/w/cpp/named_req/Container

Число, очевидно, таким требованиям не соответствует, как и std::shared_ptr
источник

PK

Pavel Kazakov in pro.cxx
API контейнера поддерживается — пускай, но по смыслу это не контейнер — туда нельзя сложить много разных типов
источник

ПК

Побитый Кирпич... in pro.cxx
Pavel Kazakov
API контейнера поддерживается — пускай, но по смыслу это не контейнер — туда нельзя сложить много разных типов
> туда нельзя сложить много разных типов

Это ниразу не требование к контейнеру. Или хочешь сказать, что class UsersCollection тоже не будет контейнером - в него же только юзеров можно складывать?
источник

ПК

Побитый Кирпич... in pro.cxx
Pavel Kazakov
API контейнера поддерживается — пускай, но по смыслу это не контейнер — туда нельзя сложить много разных типов
В std::string можно складывать чары
источник

PK

Pavel Kazakov in pro.cxx
а зачем нужен настолько специфичный контейнер — UsersCollection? это тянет на тайпдеф только
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Кому-то да нужен
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Pavel Kazakov
API контейнера поддерживается — пускай, но по смыслу это не контейнер — туда нельзя сложить много разных типов
В смысле? Строка типизирована типом символа
источник

ПК

Побитый Кирпич... in pro.cxx
Pavel Kazakov
а зачем нужен настолько специфичный контейнер — UsersCollection? это тянет на тайпдеф только
Ну то есть using UsersCollection = std::vector<Users>; это контейнер, а
using string = std::basic_string<char>; уже не контейнер? 😃
источник

PK

Pavel Kazakov in pro.cxx
Artöm Bakri Al-Sarmini
В смысле? Строка типизирована типом символа
а много их разных будет — типов символов?
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Кирпич basic_string тоже имеет в виду
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Pavel Kazakov
а много их разных будет — типов символов?
Пока 7, из них стд строка поддерживает 5
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Откуда требование, что контейнер должен быть шаблоном?
источник

PK

Pavel Kazakov in pro.cxx
ну вообще можно иначе посмотреть: стринг — всё-таки хреновая строка, туда нельзя положить некие мифические utf8_t
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Если бы bool_vector был отдельным типом, он бы тоже был контейнером (в общем смысле, не Container requirement)
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Pavel Kazakov
ну вообще можно иначе посмотреть: стринг — всё-таки хреновая строка, туда нельзя положить некие мифические utf8_t
Можно
источник

ПК

Побитый Кирпич... in pro.cxx
Pavel Kazakov
ну вообще можно иначе посмотреть: стринг — всё-таки хреновая строка, туда нельзя положить некие мифические utf8_t
using u8string = std::basic_string<char8_t>;
источник

PK

Pavel Kazakov in pro.cxx
так что все-таки контейнер будет, убедили :)
источник

VF

Vitaly Farmov in pro.cxx
Pavel Kazakov
и для чего он контейнер — кодпоинты внутри хранить? тогда раз число знаки хранит, тоже контейнер
Я бы еще добавил, что это контейнер, соответствующий требованиям STL. Будем честны, разработчики имеют право устанавливать свои требования к контейнерам и вкладывать туда другой смысл.
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Pavel Kazakov
ну вообще можно иначе посмотреть: стринг — всё-таки хреновая строка, туда нельзя положить некие мифические utf8_t
Апи строки не работает с мультибайтом. Это камень в огород строки, но не делает ее не контейнером
источник