Передача родительского объекта по ссылке

У меня есть этот код в библиотеке:

class Parent
{
    //some data and functions
};

void myfunc(Parent& ref);

, и я хочу сделать этот код в мое приложение:

class Child : public Parent
{
   // some other data and functions
   void dostuff()
   {
       myfunc(*this);
   }
};

Безопасно ли передавать * это? (без нарезки, без копирования, ...) Не лучше ли вызвать myfunc следующим образом:

myfunc( * ((Parent*)this) )

Обратите внимание, что я не могу контролировать, что происходит внутри myfunc, а в некоторых случаях я даже не могу знаю, что там происходит внутри.

Я много раз использовал передачу-родитель по указателю, и я привык к этому, но никогда раньше не использовал передачу-родитель по ссылке.

6
задан Yousf 23 November 2011 в 19:47
поделиться