История изменений
Исправление x0r, (текущая версия) :
с таким подходом можно сразу вычеркнуть полиморфизм в С++ т.к. указатели/ссылки.
передача по значению оправдана разве что для скаляров. в случае объектов - это как минимум рантайм конструктора копирования, который для коллекций вообще имеет неопределенное значение.
в ряде случаев конструктор копирования приватный, и тогда кроме ссылок или указателей использовать нечего. или не дай бох КК дефолтный, а соотвествующий класс аггрегирует в себя указатель и вот уже заявочка на undefined behaviour после копирования.
при копировании QString у тебя скопируется весь массив с текстом. разыменование, по сравнению с этим, вообще ничто.
Исправление x0r, :
с таким подходом можно сразу вычеркнуть полиморфизм в С++ т.к. указатели/ссылки.
передача по значению оправдана разве что для скаляров. в случае объектов - это как минимум рантайм конструктора копирования, который для коллекций вообще имеет неопределенное значение.
в ряде случаев конструктор копирования приватный, и тогда кроме ссылок или указателей использовать нечего. или не дай бох КК дефолтный, а соотвествующий класс аггрегирует в себя указатель и вот уже заявочка на undefined behaviour после копирования.
при копирывании QString у тебя скопируется весь массив с текстом. разыменование, по сравнению с этим, вообще ничто.
Исходная версия x0r, :
с таким подходом можно сразу вычеркнуть полиморфизм в С++ т.к. указатели/ссылки.
передача по значению оправдана разве что для скаляров.в случае объектов - это как минимум рантайм конструктора копирования, который для коллекций вообще имеет неопределенное значение.
в ряде случаев конструктор копирования приватный, и тогда кроме ссылок или указателей использовать нечего. или не дай бох КК дефолтный, а соотвествующий класс аггрегирует в себя указатель и вот уже заявочка на undefined behaviour после копирования.
при копирывании QString у тебя скопируется весь массив с текстом. разыменование, по сравнению с этим, вообще ничто.