Сообщение Re[3]: Zero initialization от 05.09.2021 20:17
Изменено 05.09.2021 20:23 rg45
Re[3]: Zero initialization
Здравствуйте, Videoman, Вы писали:
V>Мой вопрос, как мне реализовать дефолтный конструктор T, что бы он:
V>
V>т.е. я хочу в своем классе T имитировать поведение настоящих POD типов, можно ли такое сделать?
Думаю, нельзя. Потому что для non-POD типов (а именно такой класс у тебя получится, если ты реализуешь в нем свой собственный конструктор по умолчанию) в обоих случаях будет вызван один и тот же конструктор. А реализовать в одном конструкторе два разных поведения не получится. Ибо получить информацию о способе инициализации (default или value) внутри конструктора вряд ли возможно. Ну либо я буду очень удивлен
P.S. А даже если и дефолтный конструктор будет сгенерирован компилятором, все равно non-POD типов оба вида инициализации (default и value) также сведутся к вызову одного и того же конструктора.
V>Мой вопрос, как мне реализовать дефолтный конструктор T, что бы он:
V>
V>T a; - Ничего не инициализировал
V>T a = T(); - Инициализировал
V>
V>т.е. я хочу в своем классе T имитировать поведение настоящих POD типов, можно ли такое сделать?
Думаю, нельзя. Потому что для non-POD типов (а именно такой класс у тебя получится, если ты реализуешь в нем свой собственный конструктор по умолчанию) в обоих случаях будет вызван один и тот же конструктор. А реализовать в одном конструкторе два разных поведения не получится. Ибо получить информацию о способе инициализации (default или value) внутри конструктора вряд ли возможно. Ну либо я буду очень удивлен
P.S. А даже если и дефолтный конструктор будет сгенерирован компилятором, все равно non-POD типов оба вида инициализации (default и value) также сведутся к вызову одного и того же конструктора.
Re[3]: Zero initialization
Здравствуйте, Videoman, Вы писали:
V>Мой вопрос, как мне реализовать дефолтный конструктор T, что бы он:
V>
V>т.е. я хочу в своем классе T имитировать поведение настоящих POD типов, можно ли такое сделать?
Думаю, нельзя. Потому что для non-POD типов (а именно такой класс у тебя получится, если ты реализуешь в нем свой собственный конструктор по умолчанию) в обоих случаях будет вызван один и тот же конструктор. А реализовать в одном конструкторе два разных поведения не получится. Ибо получить информацию о способе инициализации (default или value) внутри конструктора вряд ли возможно. Ну либо я буду очень удивлен
P.S. А даже если и дефолтный конструктор будет сгенерирован компилятором, все равно для non-POD типов оба вида инициализации (default и value) также сведутся к вызову одного и того же конструктора.
V>Мой вопрос, как мне реализовать дефолтный конструктор T, что бы он:
V>
V>T a; - Ничего не инициализировал
V>T a = T(); - Инициализировал
V>
V>т.е. я хочу в своем классе T имитировать поведение настоящих POD типов, можно ли такое сделать?
Думаю, нельзя. Потому что для non-POD типов (а именно такой класс у тебя получится, если ты реализуешь в нем свой собственный конструктор по умолчанию) в обоих случаях будет вызван один и тот же конструктор. А реализовать в одном конструкторе два разных поведения не получится. Ибо получить информацию о способе инициализации (default или value) внутри конструктора вряд ли возможно. Ну либо я буду очень удивлен
P.S. А даже если и дефолтный конструктор будет сгенерирован компилятором, все равно для non-POD типов оба вида инициализации (default и value) также сведутся к вызову одного и того же конструктора.