Вопросы по теме 'explicit-constructor'

Что означает явное ключевое слово?
Что означает ключевое слово explicit в C ++?
968601 просмотров

Есть ли недостаток в явной маркировке всех конструкторов С++?
Несколько раз при рефакторинге кода я забывал добавить ключевое слово explicit при добавлении параметра в конструктор без параметров или удалении параметров из конструктора с несколькими параметрами. Чтобы предотвратить это, я взял за привычку...
1093 просмотров
schedule 09.12.2023

Конструктор C++ для неявного преобразования типов
У меня есть эти коды: class Type2 { public: Type2(const Type1 & type); Type2(int); const Type2 & operator=(const Type2 & type2); //.... }; ... Type1 t1(13); Type2 t2(4); t2=t1; Как я понял, конструкторы Type2 с одним...
2379 просмотров

Что может пойти не так, если инициализация списка копирования допускает явные конструкторы?
В стандарте C++, §13.3.1.7 [over.match.list], указано следующее: При инициализации списка копирования, если выбран конструктор explicit , инициализация имеет неправильный формат. Вот почему мы не можем сделать, например, что-то вроде...
4834 просмотров

Предотвратить нежелательное преобразование в конструкторе
Согласно здесь , explicit : Указывает конструкторы и операторы преобразования (начиная с C++11), которые не допускают неявных преобразований или инициализации копирования. Таким образом, эти две техники идентичны? struct Z {...
3690 просмотров
schedule 24.03.2024

Явный конструктор с несколькими аргументами
Имеет ли конструктор с несколькими аргументами explicit какой-либо (полезный) эффект? Пример: class A { public: explicit A( int b, int c ); // does explicit have any (useful) effect? };
10623 просмотров
schedule 20.06.2023

C++: особенности рассмотрения, но не вызова конструкторов
На cppreference об инициализации списка во втором намерении (для копирования-списка- инициализация) он говорит: copy-list-initialization (рассматриваются как явные, так и неявные конструкторы, но могут вызываться только неявные конструкторы)...
131 просмотров