пускай std::string кидает исключение std::invalid_argument, когда ему на вход дают nullptr

Evgeny Basargin
Evgeny Basargin

Многим знакома неприятная ситуация, когда в конструктор, методы или операторы std::string попадает нулевой указатель (особенно часто бывает при взаимодействии с С-библиотеками). В таких случаях неизменно случается segmentation fault, я бы хотел предложить заменить крэш на более гуманное исключение типа std::invalid_argument. Думаю, преимущества исключения перед крэшом для всех очевидны.

0
рейтинг
2 комментария
yndx-antoshkka

В скром времени должны будут подъехать контракты в стандартную библиотеку. Тогда подобные requires превратятся в контракт и можно будет регулировать поведение конструкторов std::string в случае нарушения контракта (например при передачи в него nullptr).

yndx-antoshkka
asschool

Оверхед же

asschool
Другие идеи
Группа создана, чтобы собирать предложения к стандарту C++, организовывать их внутренние обсуждения, помогать готовить их для отправки в комитет и защищать на общих собраниях в рабочей группе по С++ Международной организации по стандартизации (ISO).
Все предложения