Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Разъясните ситуацию с возвратом объекта или ссылки на объект - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Присвоение переменной а значения случайного числа (random) http://www.cyberforum.ru/cpp-beginners/thread1494753.html
Здравствуйте. Задача написать программу для проверки знания таблиц умножения. Rand-омом виводятся два числа (a,b) на консоль. Как присвоить переменной а и переменной b значения, которие вивел random?
C++ Вычисление разницы дат Имеется код: char firstDate = "2015-07-09"; char secondDate = "2015-07-07"; char* format = "%Y-%m-%d"; struct tm tm; strptime(firstDate, format, &tm); // приводим строку к структуре времени... http://www.cyberforum.ru/cpp-beginners/thread1494732.html
C++ Проверка на существование элемента по ключу. Линейные списки
Собственно вроде все работает, только не получается сделать, чтобы при добавлении нового элемента делалась проверка по номеру, к примеру если такой уже есть в списке, то писать об этом, и начать...
Деревья (добавление, удаление и вывод элементов) C++
Задача - реализовать дерево на С++, чтобы была возможность добавлять елементы, удалять их оттуда и выводить. Программа запускается и сразу возникает ошибка. Можете подсказать, в чем проблема? Делаю...
C++ Отдельно класс данных, класс формул и главный класс http://www.cyberforum.ru/cpp-beginners/thread1494699.html
Здравствуйте! У меня есть три вопроса. Первый вопрос. Скажите пожалуйста! Правильный ли это подход к созданию приложений : отдельный класс в котором хранятся все данные, отдельный класс с...
C++ Определение размера char** argv Есть массив строк char** argv где я знаю число строк argc for (int i = 0; i < argc; i++){ printf("%s \n",argv); } char** newargv; Как скопировать argv с помощью memcpy ( &newargv,... подробнее

Показать сообщение отдельно
DrOffset
7324 / 4424 / 1001
Регистрация: 30.01.2014
Сообщений: 7,260
08.07.2015, 22:00
Цитата Сообщение от myxolod Посмотреть сообщение
А вот когда мы возвращаем объект, почему он не уничтожается, и когда он будет уничтожатся, или как это сделать?
Уничтожается локальный объект, а снаружи функции ты получаешь его копию. Но. Компиляторы, если есть возможность, оптимизируют это и не делают лишнего копирования (отсюда эффект, что объект не уничтожается).
Подробнее тут и тут.
Важно понять, что есть правила языка, а есть оптимизации компилятора. Конструктор копирования при возврате по значению в реальности может не вызываться никогда (это результат оптимизации), но если вдруг его запретить (например поместить в секцию private), то код перестанет копилироваться (это правила языка).
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru