Вопрос несколько идеологичен... Вот объясните мне зачем в С++ ввели ссылочный тип данных. Не надо тока меня к умным книгам отсылать. Да понятно удобно в функции-члены передавать. А вот например возврат из метода по ссылке? В методе треба при этом динамически распределить возвращаемое значение - так class_name *A = new class_name(...) и возвратить return *A. Ecли создавать как class_name A(...) То ессно ничего не выйдет(при возврате по ссылке)... Пусть для классов написана некая функция, возвращающаяя результат по ссылке. class classname { .... classname& G(); .... } Где нибудь в проге пишем classname A(...); for(int i=0;i<10000000;i++) A.G(); Все замечательно ломается... Ну понятно -память течет... так как возвращаются в нирвану ссылки на динамически распределенные в функции G объекты... При этом программа не ломается, а просто кушает память... Система уходит в SWAP... А так нет. classname *B; classname A(....); for(int i=0;i<10000000;i++) { B=&(A.G()); delete B; } Ну конечно все работает.... Вопрос: С этим бороться довольно тяжело, и все равно приходится прибегать к помощи указателей.... Согласен, что когда в проге 3-4 экземпляра класса то все ОК. А когда куча динамических данных+куча экзкмпляров(вычисления на классах). В принципе проблема решается... но зачем оно надо? Вот в Java сделано умно'. Нет ссылки - удаляем...
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум PIMPL без указателя (2016)
- Форум Ссылочная целостность интернета (2014)
- Форум Типы (2007)
- Форум haskell, типы (2010)
- Форум С++ Типы (2013)
- Форум типа пасхалка? (2014)
- Форум Тип контроллера (2012)
- Форум Базовые типы (2013)
- Форум Типы ядер (2015)
- Форум Типы файлов (2020)