Я использую библиотеку, у которой есть класс с функцией init
, отличной от его конструктора. Каждый раз, когда я делаю новый экземпляр, мне нужно вызвать, например:
MyClass a;
a.init();
Так как init
не const
, это мешает мне создавать экземпляры const (я не могу написать const MyClass a
). Есть ли способ вызвать init, а затем объявить из "here on out" (я думаю, для остальной части области) моя переменная const
?
Это работает, но полагается на не касание исходной переменной:
MyClass dont_touch;
dont_touch.init();
const MyClass & a = dont_touch;