Допустим, я делаю это:
void func ( int* & refptr)
{
*refptr = 7;
}
int* ptr = new int;
func( ptr );
Теперь, если я остановлю опорный оператор, разве не будет сделано то же самое в func?В любом случае вы получаете доступ к одному и тому же значению int в куче, так что один способ предпочтительнее другого?Должен ли ссылочный оператор использоваться только при попытке изменить местоположение, на которое указывает указатель ...?Мне неясно, и мой профессор не поможет.: (
Мой другой вопрос связан с оператором удаления. Допустим, у меня есть:
int** ptr = new int*;
ptr* = new int;
Если бы я хотел освободить всю память, выделенную в куче, я мог бы просто использоватьудалить один раз на ptr, или мне придется удалить ptr *, а затем ptr?
Большое вам спасибо.