Запитання з тегом «auto»

Ключове слово `auto 'було замінено на C ++ 11 для виведеного типу. Коли використовується для заміни імені типу в ініціалізованому оголошенні змінної, змінній надається такий же тип, як ініціалізатор. При використанні в якості типу повернення тип повернення задається як зворотний тип повернення або виводиться з виразу повернення.

4
Чи може використання "авто" C ++ 11 покращити продуктивність?
Я можу зрозуміти, чому autoтип C ++ 11 покращує правильність та ремонтопридатність. Я читав, що це також може покращити продуктивність ( Майже завжди Автоматичний Герб Саттер), але я пропускаю хороше пояснення. Як можна autoпокращити продуктивність? Хтось може навести приклад?
230 c++  performance  c++11  auto 

14
Скільки коштує занадто багато ключових слів C ++ 11?
Я використовую нове autoключове слово, доступне в стандарті C ++ 11, для складних шаблонових типів, для чого я вважаю, що він був розроблений. Але я також використовую його для таких речей, як: auto foo = std::make_shared<Foo>(); І більш скептично: auto foo = bla(); // where bla() return a shared_ptr<Foo> Я …

4
Що нам говорить авто &&?
Якщо ви читаєте код, як auto&& var = foo(); де fooбудь-яка функція, що повертається за значенням типу T. Тоді varє значення посилання на значення rvalue типу T. Але що це означає var? Це означає, що нам дозволено красти ресурси var? Чи є якісь обґрунтовані ситуації, коли вам слід, auto&&щоб повернути …

2
Які існують функції decltype (auto)?
На цей питання є відповіді на Stack Overflow на російському : Конструкція decltype (авто) В c ++ 14 decltype(auto)вводиться ідіома. Зазвичай його використання полягає в тому, щоб дозволити autoдеклараціям використовувати decltypeправила щодо даного виразу . Шукаючи приклади «хорошого» використання ідіоми, я можу лише думати такі речі, як наступне (від Скотта …

7
Автоматичне ключове слово C ++. Чому це магія?
З усього матеріалу, який я використовував для вивчення C ++, autoзавжди був дивний специфікатор тривалості зберігання, який не виконував ніяких цілей. Але зовсім недавно я зіткнувся з кодом, який використовував його як саме ім'я типу. З цікавості я спробував це, і він передбачає тип того, що мені трапляється, привласнити його! …
145 c++  types  c++11  auto 

14
Чи є недолік у оголошенні змінних з авто в C ++?
Здається, що autoв C ++ 11 було додано досить значну особливість, яка, здається, відповідає багатьом новим мовам. Як і в такій мові, як Python, я не бачив явної декларації змінної (я не впевнений, чи можливо це за допомогою стандартів Python). Чи є недолік використання autoоголошень змінних, а не явного їх …



2
оператор стрілки (->) у заголовку функції
Я натрапив на такий код: template <typename T, typename T1> auto compose(T a, T1 b) -> decltype(a + b) { return a+b; } Є одне, чого я не можу зрозуміти: Де я міг дізнатися, що означає оператор стрілки ( ->) у заголовку функції? Я думаю, що логічно, що ->оператор визначає …
128 c++  c++11  auto  decltype 

7
Чому auto a = 1; компілювати в C?
Код: int main(void) { auto a=1; return 0; } збирається без помилок компілятором MS Visual Studio 2012, коли файл має розширення .c. Я завжди думав, що при використанні розширення .c компіляція повинна відповідати синтаксису C, а не C ++. Більше того, наскільки я знаю, авто без типу дозволено лише в …
125 c  auto  c11 

6
Лямбда повертається сама: це законно?
Розглянемо цю досить марну програму: #include <iostream> int main(int argc, char* argv[]) { int a = 5; auto it = [&](auto self) { return [&](auto b) { std::cout << (a + b) << std::endl; return self(self); }; }; it(it)(4)(6)(42)(77)(999); } В основному ми намагаємося зробити лямбда, яка повертається сама. MSVC …

3
Як працює родова лямбда на C ++ 14?
Як працює загальна лямбда ( autoключове слово як тип аргументу) у стандарті C ++ 14? Це на основі шаблонів C ++, де компілятор кожного типу аргументів генерує нову функцію з тим самим тілом, але замінені типи (поліморфізм часу компіляції) або він більше схожий на загальну інформацію Java (тип стирання)? Приклад …
114 c++  lambda  auto  c++14 

6
Чи існує автоматичний підхід до типу Java?
Чи існує autoзмінний тип на Java, як у вас в C ++? Приклад: for ( auto var : object_array) std::cout << var << std::endl; for( auto var : object_array) var.do_something_that_only_this_particular_obj_can_do(); Я знаю, що в Java є розширений цикл, але чи є авто? Якщо ні, чи є хак для цього? Я …
113 java  c++  auto 

4
Чи повинен кінцевий стиль синтаксису типу повернення стати типовим для нових програм C ++ 11? [зачинено]
Закрито . Це питання ґрунтується на думках . Наразі відповіді не приймаються. Хочете покращити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 3 роки тому . Удосконалюйте це питання C ++ 11 підтримує новий синтаксис функції: auto func_name(int x, int …

4
C ++ авто та проти авто
Чи правильно застосовувати при створенні локальних змінних (const) auto&чи auto? наприклад: SomeClass object; const auto result = object.SomeMethod(); або const auto& result = object.SomeMethod(); Де SomeMethod () повертає непримітивне значення - можливо, інший визначений користувачем тип. Я розумію, що const auto& resultце правильно, оскільки результат, повернутий SomeMethod (), викликав би …
88 c++  auto 

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.