Re[2]: SRC: auto_value<>
От: Кодт Россия  
Дата: 17.01.03 08:43
Оценка:
Здравствуйте, MaximE, Вы писали:

ME>Здравствуйте, Кодт, Вы писали:


К>>
К>>  // доступ к данному
К>>  inline const T& data() const { return t_; }
К>>


ME>Саттер и ISO/IEC 14882 пишут, что функция вида:

ME>
ME>T f();
ME>

ME>где T является встроенным типом, всегда возвращает r-value. cv-квалифиатор не может быть применен к r-value, и это может помешать инстанцированию шаблонов.
ME>Т.е., чтобы это было совсем корректно, возможно, придется воспользоваться type traits.

И именно поэтому я пишу не T data() const, а const T& data() const.
Чтобы получить константное l-value (и в дальнейшем, например, использовать указатель на константу:
auto_value<int> x;

const int *y = & x.data();
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.