|
От: |
Аноним
|
|
| Дата: | 05.07.10 13:40 |
|
Оценка: |
|
Доброго всем дня.
Начал активно пользоваться C++0x расширениями в VS 2010, и обнаружил неприятность при объявлении
переменных с помощью операторы вывода типа auto.
class ClassA
{
public:
void fn() {} // НЕ const метод
};
void funca()
{
ClassA a;
const ClassA& r_a = a; // ссылка на константный объект
auto r_a1 = r_a; // по идее, должна быть ссылка на константный объект...
r_a1.fn(); // ...ан нет, спокойно компилируется и выполняется
ClassA& r_a2 = r_a; // здесь все хорошо — ругается
r_a2.fn();
}
Т.е. оператор auto отметает квалификатор const.
Буду признателен, если кто-то укажет, где почитать о такой особенности (если это не бага, конечно).
Спасибо.
Пока на собственное сообщение не было ответов, его можно удалить.