Приведение типов
Верно ли делать константное приведение ссылки?
void func( const ISomeAbsClass & param) {
ISomeAbsClass someAbsClass = const_cast<ISomeAbsClass &>(param);
...
}
Источник: Stack Overflow на русском
Верно ли делать константное приведение ссылки?
void func( const ISomeAbsClass & param) {
ISomeAbsClass someAbsClass = const_cast<ISomeAbsClass &>(param);
...
}
Такое приведение как у вас не имеет смысла, т.к. после приведения все равно происходит вызов конструктора копирования, который обычно имеет вид A(const A& a). Чтобы изменить объект на который ссылается param, надо сделать так:
ISomeAbsClass& someAbsClass = const_cast<ISomeAbsClass &>(param);
someAbsClass.someNonConstantMethod();
Стоит помнить, что почти всегда необходимость в const_cast возникает при плохом проектировании программы и его можно избежать.