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

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(..) Тобиш, я неправильно поставил opencv? Или дело вообще в другом?
C++ Очередь с приоритетом Помогите, пожалуйста, создать из моего класса очередь с приоритетом(приоритетом является money). #include <iostream> #include <string.h> #include <queue> // class Client{ char* name; int money; // 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. Это число имеет такие делители: 1, 2, 3, 4, 6, 8, 12, 24. Таким образом искомое количество равняется 8. var a: array of integer; i, j, m, p, n: integer; r: longint; begin readln(n);
C++ базовый,дочерний , дружественная функция Базовый класс в нем будет массив имен из 10 элементов , конструктор должен сам заполнить этот массив любыми именами , второй класс наследуется от базового , у него у дочернего(второго ) есть дружественная функция , которая имеет доступ к закрытым элементам базового класса и пусть она выводит элементы массива через дочерний класс . подробнее

Показать сообщение отдельно
gromo
370 / 269 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
03.11.2013, 01:28  [ТС]     GCC returning reference to temporary
Цитата Сообщение от 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
Миниатюры
GCC returning reference to temporary  
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru