Вопросы по теме 'explicit-constructor'
schedule
21.01.2024
Есть ли недостаток в явной маркировке всех конструкторов С++?
Несколько раз при рефакторинге кода я забывал добавить ключевое слово 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 просмотров
schedule
18.09.2022
Что может пойти не так, если инициализация списка копирования допускает явные конструкторы?
В стандарте C++, §13.3.1.7 [over.match.list], указано следующее:
При инициализации списка копирования, если выбран конструктор explicit , инициализация имеет неправильный формат.
Вот почему мы не можем сделать, например, что-то вроде...
4834 просмотров
schedule
08.06.2022
Предотвратить нежелательное преобразование в конструкторе
Согласно здесь , 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 просмотров
schedule
03.08.2023