Just went through the source files and find it actually makes 4 copies of the text.
MarshallingSupport::readString32() makes 1 from the stream. ActiveMQTextMessage::getText() then make another one to store in its data member. Then it makes yet another one as return value. Finally, the assignment in my code makes one for itself. Maybe I count them wrong? :) -- View this message in context: http://activemq.2283324.n4.nabble.com/ActiveMQ-CPP-Getting-text-from-a-Text-Message-without-making-temporary-tp4384039p4385547.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.