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

Ссылка на объект, возвращаемый функцией - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Утилита сбора информации о системе http://www.cyberforum.ru/cpp-beginners/thread1108456.html
Доброго времени суток. Хочу написать Утилиту сбора информации о системе на C++, для интерфейса буду использовать библиотеку SDL. Стоит ли использовать именно эти средства для написания такого проекта или есть варианты получше? Посоветуйте на какие темы в изучении следует сделать упор, какие библиотеки использовать и, возможно, какую литературу на эти темы можно было бы почитать. Заранее...
C++ Палиндромы Каждая строка текста (до символа новой строки) является выражением. Найти все выражения палиндромы. Вывести их количество и эти выражения. Учитывать регистр. Никак не могу доделать:( #include <iostream> #include <fstream> using namespace std; int main() { http://www.cyberforum.ru/cpp-beginners/thread1108455.html
C++ Умножение матриц
Доброго времени суток! Проблема заключается в том что при выводе результирующей матрицы программа выводит 0 и зацикливаться //--------------------------------------------------------------------------- #include <vcl.h> #include <conio.h> #include <stdio.h> #include <iostream.h> #include <stdlib.h>
C++ Блок-схема
Помогите составить блок схему! #include<iostream> using namespace std; int main() { char name1, name2,str; int i,l; cout<<"Enter first>"; cin.getline(name1,256);
C++ Ввести строку. На печать выдать слова, имеющие в своём составе сочетание букв «но» http://www.cyberforum.ru/cpp-beginners/thread1108439.html
Ввести строку. На печать выдать слова, имеющие в своём составе сочетание букв «но». Помогите пожалуйста.
C++ Определение параметров текста для всей консоли разом У меня есть массив с набором разных символов в поле консоли и массив такого же размера с разными цветами текста. Из-за того, что приходится выводить в буфер по одному символу, указывая параметры каждого, команды SetConsoleTextAttribute WriteConsole FillConsoleOutputAttribute FillConsoleOutputCharacter работают очень медленно(WriteConsole побыстрее). При использовании WriteConsole ещё и... подробнее

Показать сообщение отдельно
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
01.03.2014, 21:17  [ТС]     Ссылка на объект, возвращаемый функцией
DrOffset, насчет RVO я видел, но разве его можно использовать вручную? Разве это не оптимизация компилятора?
0x10, C++11 использовать не могу
DrOffset, а почему можно только по константной? В смысле, какова логика возвращаемого объекта от функции? Насколько мне известно, возвращаемых значений из функции (в виде return) на самом деле нет. Компилятор перегоняет возвращаемый объект в параметр, а дальше.. а дальше не знаю, посему и предположил, что на самом деле функции в примере идентичны для компилятора:
C++
1
2
3
4
5
6
string f1()
{ return "hello";}
void f2(string & result)
{
result = "";
}
А если они и правда идентичны, то значит (предполагал дальше), неявно создается объект локальный в месте вызова функции, в который записывается возвращаемое значение, а уже этот объект присваивается чему-то, т.е.:
C++
1
2
3
4
5
string out_f1 = f1();
// верхнее раскрывается в нижнее
string param;
f2(param);
string out_f2 = param;
И если это так, что почему именно константной должна быть ссылка на возвращаемый объект?
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru