Если я передам указатель P из функции f1 в функцию f2 и изменим содержимое P в f2, будут ли эти изменения автоматически отражаться в f1?
Например, если мне нужно удалить первоеузел в связанном списке:
void f2( Node *p)
{
Node *tmp = p;
p = p -> next;
delete tmp;
}
Будут ли отраженные в P изменения отражены в вызывающей функции или теперь он будет указывать на пространство памяти, которое было освобождено?
(Myинтуитивный ответ здесь - нет, изменения не отражаются. Однако хорошие источники сообщают мне, что приведенный выше код будет работать. Может, кто-нибудь найдет время дать ответ и объяснит причину его возникновения, также? Также, если приведенный выше код неисправенКак мы можем достичь этого без использования типа возврата?)