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

Разъясните ситуацию с возвратом объекта или ссылки на объект - 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,... подробнее

Показать сообщение отдельно
myxolod
0 / 0 / 0
Регистрация: 24.03.2015
Сообщений: 9

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

07.07.2015, 16:50. Просмотров 262. Ответов 4
Метки (Все метки)

C++
1
2
3
4
CValue my_f(15, false);
    CValue my_t(5, false);
        ...
        my_f = my_t + 2;
Переопределение операторов сложения и присвоения:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CValue& CValue::operator+(int a)
{
    return CValue(value + a, flag);
}
...
CValue CValue::operator=(const CValue& aVal) 
{
    int a = 0;
    a++;
    if (this == &aVal)
        return *this;
    this->value = aVal.value;
    this->flag = aVal.flag;
    return *this;
}
В дебагере при входе в оператор =, aVal {flag = false, value = 7}(рис 1), следующий шаг меняет flag и value на рандомные значения, после изменения возвращаемого значения оператора+ на объект, а не ссылку работает нормально, как я лично понял что он делает ссылку на локальный объект который уничтожается после выхода из конструктора, так ли это, и если кто мог бы по подробней расписать этот нюанс использования ссылок в возврате, или ссылку ?
0
Миниатюры
Разъясните ситуацию с возвратом объекта или ссылки на объект   Разъясните ситуацию с возвратом объекта или ссылки на объект  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru