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

GCC returning reference to temporary - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не компилируется. Объясните смысл ошибки // opencv http://www.cyberforum.ru/cpp-beginners/thread995851.html
Поставил opencv на mac. Компилю простую вещь и мне выдает такое: Undefinded symbols for architecture x86_64: "cv::imread( .... )" Насколько я понимаю, он не знает эту функцию imread(..) ...
C++ Очередь с приоритетом Помогите, пожалуйста, создать из моего класса очередь с приоритетом(приоритетом является money). #include <iostream> #include <string.h> #include <queue> // class Client{ char* name; int... http://www.cyberforum.ru/cpp-beginners/thread995848.html
цифры после запятой C++
Нужно из float'ского типа достать значения после запятой. к примеру имеем число 3.13 нужно получить в итоге int'овское 13. учитывая: целая часть всегда равна 3. гарантировано то, что всегда есть...
copy_if C++
Пусть у меня есть двумерный массив векторов, а также вектор, содержащий индексы тех строк массива, которые надо скопировать. Можно ли это оформить через copy_if? как правильно составить условие...
C++ Перевести код с паскаля на C++ http://www.cyberforum.ru/cpp-beginners/thread995838.html
По заданному натуральному числу N необходимо вычислить количество натуральных чисел, которые являются делителями N! (факториала числа N). Например, при N=4, N!=4·3·2·1=24. Это число имеет такие...
C++ базовый,дочерний , дружественная функция Базовый класс в нем будет массив имен из 10 элементов , конструктор должен сам заполнить этот массив любыми именами , второй класс наследуется от базового , у него у дочернего(второго ) есть... подробнее

Показать сообщение отдельно
gromo
372 / 271 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
03.11.2013, 01:28  [ТС]
Цитата Сообщение от ct0r Посмотреть сообщение
Ты возвращаешь ссылку на rvalue - на временный объект, который будет уничтожен. Это баг.
Хорошо, а что если так:
C++ (Qt)
1
2
3
4
5
6
7
// func1() func2() как и раньше
int main()
{
    int && sss = func1();
    cout << sss << endl;
    return 0;
}
здесь мы быстренько "подхватили" этот временный, впоследствии разрушаемый временный объект, возвращаемый func1().
Я вижу, что вы выше писали, что rvalue-reference это та же ссылка, только на rvalue. Но она же предназначена как раз таки "давать имя" временным объектам. Ей даже можно присвоить литерал, и потом получить его адрес (адрес ЛИТЕРАЛА).
C++ (Qt)
1
2
3
4
5
6
int main()
{
    int && literal = 25;
    cout << &literal <<endl;
    return 0;
}
Все сказанное в этом посте не касается функции std::move
0
Миниатюры
GCC returning reference to temporary  
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru