Feature request: copy constructor - страница 2

 

Было бы замечательно использовать вместо слова "текут" что-то более подходящее.

У этого термина есть более четкая область применения. Иначе Вы сбиваете с толку множество людей.



Спасибо за настойчивость - тема расширения языка будет открыта еще долго и мы реализуем много новых возможностей.

 
TheXpert:

Однако... Стоимость отсутствия этого "удобства", как изволите его называть -- миллионы нервных клеток.

Вот Вы мне скажите -- а нафига было делать конструктор по умолчанию?

Все равно потом приходится явно вызывать функцию инит, которая производит доинициализацию объекта.

А давайте вспомним про инкапсуляцию! Один из трех китов ООП.

Для того, чтобы закрыть протечку ООП в виде отсутствия копи-конструктора и сделать это в виде функции, необходимо разрешить (какой-никакой, но) доступ ко всем, в том числе и приватным членам. Альтернатива? Нет, страшный костыль.

Причем здесь шаблоны? В С++ это вообще отдельная парадигма, не связанная с другими. Я не прошу ничего невозможного -- всего лишь разрешить копирование объектов. И организовать его в виде поэлементного копирования. Всё!

И что получается в итоге? Все принципы хваленого и разрекламированного ООП на поверку текут так, что более менее сложная  конструкция обречена потонуть в муках, так и не оказавшись на плаву.

На самом деле мне очень горестно озвучивать все вышесказанное, так как я надеялся нет, не на подобие С++, но на нормальную реализацию языка без хотя бы явных костылей.

Напрасно Вы так всё драматизируете. Инкапсуляция тут вообще не при чём - Ренат говоря функция конечно же имел в виду метод.
Доступ к членам параметра-ссылки вполне в рамках того самого кита ООП. Тем более, что копи-конструктор тоже функция, в которой если не Вы сами,
то компилятор за Вас будет иметь доступ ко всем членам.
 
Renat:

Было замечательно, использовать вместо слова "текут" что-то более подходящее.

Предложите более подходящее слово, буду использовать его. "Протекают" подойдет?
 
Прошу прощения, погорячился.
Причина обращения: