Форум вопросов и ответов

Форум вопросов и ответов (https://www.otvetnemail.ru/)
-   Продолжение старого архива (https://www.otvetnemail.ru/prodolzhenie-starogo-arhiva-804/)
-   -   Возврат объекта (https://www.otvetnemail.ru/prodolzhenie-starogo-arhiva-804/vozvrat-ob-ekta-353245/)

Guest 30.09.2011 17:17

Возврат объекта
 
Даж стыдно за такой вопрос, но надо восполнить пробелы в знаниях..Допустим есть объект:Кодclass Message{public: Message() {}; Message(const MessageHeader &header, const MessageBody &body);private: MessageHeader header; MessageBody body;}где MessageHeader и MessageBody - структуры, конструктор Message(const MessageHeader &header, const MessageBody &body) - делает просто инициализацию header и bodyДопустим есть метод:КодC++ (Qt)Message Someclass::someMethod(){ MessageHeader header; MessageBody body; // assignment and other operation on header and body Message message(header, body); return message;}я так понимаю в этом случае будет создан временный объект с помощью конструктора копированиядля объекта message, и ретурн возвратит именно этот временный объекта если сделать так:КодC++ (Qt)Message Someclass::someMethod(){ MessageHeader header; MessageBody body; // assignment and other operation on header and body return Message(header, body);}то возвратиться сразу временный объект без конструктора копирования? то есть такой способ более экономичен?Спасибо


Часовой пояс GMT, время: 18:12.


© www.otvetnemail.ru - Форум вопросов и ответов.