Когда я хочу создать экземпляр класса в C++, я обычно хожу такC++ указателя и ссылки с новым ключевым словом при инстанцировании
Book bk = new Book();
Моего профессор недавно сделал это
Book &bk = *new Book();
Он только сказал мне, что он использовал бы ссылку, чтобы иметь возможность использовать точку (например, bk.getTitle();) вместо стрелки (например, bk-> getTitle();). Я понимаю эту часть кода, но что происходит, когда вы используете оператор * в сочетании с новым?
Заранее спасибо
полный пример кода можно найти here это arraystack в основной функции
Итак, ваш профессор показал вам, как утечка памяти, здорово. – ildjarn
Если ваш профессор использует этот код для чего-то другого, кроме как пример чего-то, чего вы действительно не должны делать, тогда вы должны найти нового профессора. –
Возможно, ваш профессор сказал: 'const Book & bk = Book();'. Если это не так, я честно не понимаю, что имел в виду ваш профессор. – Mahesh