5
Sanal bir işlev aracılığıyla mükemmel iletmeyi nasıl etkinleştirebilirim? C++ 03'de olduğu gibi her aşırı yükü yazma isteğim yok.Mükemmel iletme - sanal işlevler yoluyla
Sanal bir işlev aracılığıyla mükemmel iletmeyi nasıl etkinleştirebilirim? C++ 03'de olduğu gibi her aşırı yükü yazma isteğim yok.Mükemmel iletme - sanal işlevler yoluyla
Yapamazsınız. Mükemmel yönlendirme, yalnızca şablonlar ve referans değerlerini birleştirerek çalışır, çünkü T'nin uzmanlık yaptığı zaman ne tür bir gerçek tip T&&
değerlendirdiğine bağlıdır. Şablonları ve sanal işlevleri karıştıramazsınız.
struct base {
virtual void invoke() = 0;
};
template <class T>
struct derived : public base {
derived(T&& yourval) : m_value(std::forward(yourval)) {}
virtual void invoke() { /* operate on m_value.. */ }
T&& m_value;
};
:
Ancak, tip-silme mekanizması çeşit sorunu çözmek mümkün olabilir olabilir