Тип авто - PullRequest
       11

Тип авто

1 голос
/ 09 июля 2011

Мне действительно любопытно - почему auto предпочитает типы значений? Конечно, было бы лучше, если бы auto было тем, чем auto&& является сейчас - эталоном, который, если необходимо, продлевает срок службы временных.

1 Ответ

6 голосов
/ 09 июля 2011

«Почему» на подобные вопросы сложно (если не невозможно) ответить - даже членам комитета, которые могут быть вовлечены, может быть трудно восстановить всю последовательность событий, которые привели к принятому ими решению.

Этоприводит ко второму пункту: такие решения часто происходят из-за последовательности событий, а также из-за единого «статического» общего представления, которое вы получаете, глядя на FDIS (или любой другой проект стандарта).

Несмотря на проблемы, вы можете получить хотя бы некоторое представление о том, как принимались решения, прочитав предложения, встречные предложения, аргументы и т. Д., Которые к ним приводят.В этом случае история предложений запускается примерно так:

N1478 Decltype и auto
N1527 Механизмы запросовтипы выражений: Decltype и auto revisited
N1607 Decltype и auto (ревизия 3)
N1705 Decltype и авто(редакция 4)
N1721 Вывод типа переменной из выражения инициализатора
N1737 Предложение по восстановлению Multi-declarator auto Объявления
N1794 Вывод типа переменной из выражения инициализатора (редакция 2)
N1894 Вывод типа переменной из выражения инициализатора (редакция 3)
N1978 Decltype (редакция 5)
N1984 * Вывод типа переменной из выражения инициализатора (редакция 4)
N2115 Decltype (редакция 6): Предлагаемая формулировка
N2337 Синтаксис auto объявлений
N2343 Decltype(редакция 7): предлагаемая формулировка
N2763 унифицированный синтаксис функции
N2825 унифицированный синтаксис функции (редакция)

Предложения по decltype и auto были раздвоены примерно в 2005 году, но я также включил более поздние dectype документы, так как оба имеют дело с похожими проблемами, и они (кажется,Я) пытался поддерживать согласованность между ними.

Это не предложение для стандарта, но есть также Представление C ++ напрямую, полностью и эффективно Габриэлем Дос Рейсом *и Бьярн Страуструп, который имеет какое-то отношение к той же теме и, вероятно, сделал хотя бы немного, чтобы сформировать мышление по этому вопросу.

Несомненно, есть по крайней мере еще несколько статей, которые я пропустил здесь (по крайней мере,некоторые справочные документы, вероятно, относятся кevant), но это должно быть, по крайней мере, разумным началом для понимания того, как все стало так, как есть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...