2014-07-10 1 views

ответ

6

Да, возвращенный объект является boost::tuple<A, B>, который содержит объект A и объект B, поэтому их необходимо скопировать из аргументов.

Если вы хотите кортеж ссылок, используйте вместо этого boost::tie(objA, objB), который возвращает boost::tuple<A&, B&>.

3

Да, так оно и есть. Кортеж содержит переменные по значению, поэтому он должен скопировать значения в кортеж. Если вы хотите скопировать только их ссылки, используйте вместо них указатели, т. Е. boost::make_tuple(&objA,&objB).

3

Да, если вы хотите к нему хранить ссылки, использовать повышение :: исх (или Cref для константных ссылок) ...

boost::make_tuple(boost::cref(objA), boost::cref(objB)); 

 Смежные вопросы

  • Нет связанных вопросов^_^