Использование auto в C ++ Visual Studio 2015 [дубликат]

Это сработало для меня:

position: absolute;
left: 50%;
transform: translateX(-50%);
8
задан 3Dave 30 December 2013 в 05:23
поделиться

2 ответа

Вывод типа для auto работает точно так же, как и для шаблонов:

  • , когда вы выводите auto, вы получите тип значения.
  • , когда вы вывести auto&, вы получите неконстантный ссылочный тип
  • , когда вы выберете const auto&, вы получите const-ссылку
  • , когда вы выберете auto&&, вы получите не -const, если вы назначаете неконстантную ссылку ссылку на const, если вы назначаете ссылку на const, когда вы назначаете временную
25
ответ дан denisek 22 August 2018 в 12:48
поделиться
  • 1
    Добро пожаловать в Stack! Отличный ответ. Надеюсь, вы пообщаетесь и продолжаете вносить как Q, так и A. – 3Dave 30 December 2013 в 05:35
  • 2
    Хотя это не очень ясно, это объясняет, почему. Для согласованности с шаблонами. Согласованность хороша тем, что (1) программисты уже знакомы с правилами и (2) Компиляторы могут повторно использовать существующую логику вывода типа шаблона для auto. – Ben Voigt 30 December 2013 в 21:03
  • 3
    К сожалению, в этом случае это также плохо, потому что правила шаблона примерно такие же прозрачные, как и грязь ... – Lightness Races in Orbit 31 December 2013 в 04:19

Взято непосредственно из сообщения блога Херба Саттера :

auto означает «взять именно тот тип с правой стороны, но отбросить верхний уровень const / летучих и & amp; & amp;. "

11
ответ дан WiSaGaN 22 August 2018 в 12:48
поделиться
  • 1
    Ну, это было быстро. Полагаю, именно поэтому они не назвали это var. : / – 3Dave 30 December 2013 в 05:28
  • 2
    Это объясняет , что , но не почему . – Ben Voigt 30 December 2013 в 21:01
Другие вопросы по тегам:

Похожие вопросы: