Даж стыдно за такой вопрос, но надо восполнить пробелы в знаниях..Допустим есть объект:Код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);}то возвратиться сразу временный объект без конструктора копирования? то есть такой способ более экономичен?Спасибо
|