struct B{};
struct A {
const B& findB() const { /* some non trivial code */ }
// B& findB() { /* the same non trivial code */ }
B& findB() {
const A& a = *this;
const B& b = a.findB();
return const_cast<B&>(b);
}
};
şey sabit FINDB ve sabit olmayan FINDB elemanı işlevi içinde aynı mantık tekrarlamaktan kaçınmak istiyor olup.
return const_cast<B&>(static_cast<const A*>(this)->findB());
const
söz konusu nesne özgün beyan edilmedi yalnızca güvenlidir uzakta Casting:
Size çok referanslar gibi görünüyor. –
Gerekirse işaretçiler veya kopyalar kullanmayla ilgili bir nokta yok – dchhetri