Информация об изменениях

Сообщение Re[4]: const в аргументах методов от 04.04.2016 10:50

Изменено 04.04.2016 10:56 dead0k

Здравствуйте, tstalker, Вы писали:

T>Бро, я же писал тебе выше: это норма.

T>Ничего здесь опасного нет.
T>Вот навскидку простенький пример:

BoxOfTNT * box = new BoxOfTNT();
TNT & stick (box_of_TNT->choose_one_stick_of_TNT());
delete box;
stick.prepare_to_use(); // <- BOOM

Оно, конечно, сам-себе буратино, но факт остается фактом — возвращать по значению — безопасней.
ps/
И да, указатель не является необходимым условием. Можено передать ссылку на шашку в конструктор другого класса, экземпляр которого будет возвращен из функции по значению, при этом, естествено, ящик и ссылка на шашку будут разрушены по выходу из этой функции.
Re[4]: const в аргументах методов
Здравствуйте, tstalker, Вы писали:

T>Бро, я же писал тебе выше: это норма.

T>Ничего здесь опасного нет.
T>Вот навскидку простенький пример:

BoxOfTNT * box = new BoxOfTNT();
TNT & stick (box_of_TNT->choose_one_stick_of_TNT());
delete box;
stick.prepare_to_use(); // <- BOOM

Оно, конечно, сам-себе буратино, но факт остается фактом — возвращать по значению — безопасней.
ps/
И да, указатель не является необходимым условием. Можено передать ссылку на шашку в конструктор другого класса, экземпляр которого будет возвращен из функции по значению, при этом, естествено, ящик и шашка, на которую есть ссылка, будут разрушены по выходу из этой функции.