Зачем нужно копирование/перемещение
От: MTD https://github.com/mtrempoltsev
Дата: 09.08.17 17:58
Оценка: +2 -9
Я преподаю С++ студентам пару лет и неизменно вижу круглые непонимающие глаза когда я рассказываю о копировании, о том, что тут передача по значению, тут по ссылке, а тут вообще по константной ссылке. Когда же после этого речь заходит про перемещение, то у части эмоционально нестойких начинается нервный тик. Итак мои тезисы: копирование и перемещение неоправданно сложны, не интуитивны, приводят к снижению быстродействия и ошибкам. Передача объектов по ссылке на объект всегда достаточна.

Основные случаи где это надо:

1. Получить копию. Но явное лучше неявного, поэтому метод clone гораздо лучше. Да, уже не напишешь bigint или комплексное число с которым удобно работать как с примитивными типами, но почему эти типы просто не сделать частью языка?

2. Умные указатели. Должны быть частью языка и все будет ок.

Обоснуйте почему копирование и перемещение это не WTF, а классно, чтобы я смог студенту обосновать, что все сделано правильно.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.