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