У меня есть этот код в библиотеке:
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, а в некоторых случаях я даже не могу знаю, что там происходит внутри.
Я много раз использовал передачу-родитель по указателю, и я привык к этому, но никогда раньше не использовал передачу-родитель по ссылке.