Форум программистов, компьютерный форум 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, 13:11  [ТС]     GCC returning reference to temporary
Цитата Сообщение от ct0r Посмотреть сообщение
Возврат rvalue reference - это редко когда нужно.
С большим трудом, до меня дошло, спасибо Но что значит вот это (со стандарта):
An xvalue (an “eXpiring” value) also refers to an object, usually near the end of its lifetime (so that its
resources may be moved, for example
). An xvalue is the result of certain kinds of expressions involving
rvalue references (8.3.2). [ Example: The result of calling a function whose return type is an rvalue
reference is an xvalue.
— end example ]
Цитата Сообщение от ct0r Посмотреть сообщение
std::move роли не играет, так как тут он ничего не делает. А при нем варнинг исчезает только из-за усложнения кода для анализа (мало ли что может вернуть std::move).
а если вместо move поставить, например, std::abs(), то варнинг не исчезает.

И что в случае возврата больших значений из функции? Мне, например, нужно часто возвращать из функции объекты типа string размером в несколько сотен мебибайт. Не лучше ли их переместить как XValue вместо возврата по значению? Иногда такую оптимизацию делает сам компилятор, когда может.

Добавлено через 1 минуту
Цитата Сообщение от castaway Посмотреть сообщение
А где данный warning?
В 10 строке: returning reference to temporary [-Wreturn-local-addr]
return func2();
^


он еще в названии темы написан
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru