Описание тега auto
Ключевое слово ʻauto` было перепрофилировано в C++11 для выведенного типа. При использовании для замены имени типа в объявлении инициализированной переменной переменной присваивается тот же тип, что и инициализатору. При использовании в качестве возвращаемого типа тип возвращаемого значения указывается как завершающий тип возвращаемого значения или выводится из возвращаемого выражения.
0
ответов
Быстрое нажатие кнопки огня
Я новичок в AutoHotKey, и я пытаюсь создать простой сценарий, который будет спамить f один раз каждые 16.66666666 миллисекунд, пока удерживаются Ctrl + F, только когда запущена определенная программа. Следующий скрипт ничего не делает: #Ifwinactive …
10 июл '18 в 03:05
1
ответ
Ошибка в gcc с параметрами const& template?
Рассмотрим этот код: #include <type_traits> template < int > struct II { }; template < const int& > struct RR { }; template < template <auto> typename Class, typename Type > struct Check : std::false_type { }; templ…
09 фев '17 в 09:43
1
ответ
Сделать авто стать ссылкой, если функция возвращает ссылку
Мне нужен следующий код для работы: class Parent{ public: virtual void fun(){throw 0}; }; class Child:public Parent{ public: virtual void fun(){/*Success*/}; }; Parent& getChild(){ return *(new Child()); } void main(){ auto child=getChild(); chi…
24 ноя '18 в 17:09
1
ответ
Переменная "auto", используемая в лямбда-выражении в собственном инициализаторе
Сегодня я нашел этот код #include <cstdio> auto terminal = [](auto term) { return [=] (auto func) { return terminal(func(term)); }; }; Удивительно, но GCC принимает это. Clang отвергает это, потому что он использует terminal в своем собственно…
05 сен '14 в 20:39
0
ответов
Почему существует различие между шаблоном и автоматическим удержанием типа для случая с краем std::initializer_list?
По сути, в C++11 есть три типа вывода типов: шаблоны auto decltype В большинстве случаев вычет типа auto и шаблоны, кажется, действуют таким же образом. Но есть один случай - когда мы устанавливаем auto переменная к значению, созданная инициализатор…
10 апр '15 в 15:20
2
ответа
Конструктор авто и копирования: что не так?
Рассмотрим следующий код: #include<queue> #include<type_traits> int main() { std::queue<int> q; auto p{q}; static_assert(std::is_same<decltype(q), decltype(p)>::value, "fail"); } Он прекрасно компилируется с GCC 5.1.0 (см. Зд…
07 апр '16 в 12:40
5
ответов
Тип возвращаемого значения лямбды может быть выведен по возвращаемому значению, так почему же функция не может?
#include <iostream> int main(){ auto lambda = [] { return 7; }; std::cout << lambda() << '\n'; } Эта программа компилирует и печатает 7.Тип возврата лямбда выводится в целочисленный тип на основе возвращаемого значения 7. Почему эт…
04 дек '13 в 05:13
1
ответ
Как заставить Clang 3.4 скомпилировать общие лямбды?
Компилятор в rextester говорит, что работает clang 3.4, а на странице поддержки языка clang говорится, что clang 3.4 поддерживает общие лямбда-выражения, но я не могу получить этот код для компиляции: int main() { auto genLambda = [](auto param) {}…
15 апр '14 в 04:11
4
ответа
Введите traits, чтобы различать const char[N] и std::string?
Как мне написать шаблон переменной, который принимает как const char[N]s, так и std::strings в качестве параметров, но выполняет различное поведение в зависимости от типа параметра? Пока что мой шаблон с вариадой выглядит следующим образом: template…
28 окт '13 в 16:04
1
ответ
Тип переменных в структурированном связывании
#include <type_traits> int main() { int arr[1] = { 6 }; auto& ref1 = arr[0]; static_assert( std::is_same_v<decltype( ref1 ), int&> ); //ok auto& [ ref2 ] = arr; static_assert( std::is_same_v<decltype( ref2 ), int> ); //…
24 ноя '18 в 19:22
0
ответов
Авто в качестве аргумента шаблона
template<typename> struct CL{}; CL<char> fnc(); int main() { CL<auto> cl=fnc(); //error } Почему это не правильно? В чем проблема вывести авто как символ?
12 апр '15 в 14:28
1
ответ
Противоречивые возвращаемые типы итераторов std::set
Это вторая ошибка компилятора сегодня, которая запутала меня. Так или иначе для кода ниже, gcc жалуется, что в коде есть функция, которая возвращает итератор return_iter возвращать конфликтующие типы std::_Rb_tree_iterator<const int*> а потом …
27 окт '16 в 15:17
1
ответ
Позволят ли аргументы шаблона C++17 с автоматической функцией ограничивать объекты std::function?
С появлением в C++17 функции не типовых аргументов шаблона с auto, можно будет реализовать std::function таким образом, чтобы можно было, например, поставить следующие функции: bool f(int n, double d) {} bool g(bool b, char c) {} bool h(bool b) {} в…
27 сен '16 в 14:19
1
ответ
Самый быстрый способ написать пост и автоматически синхронизировать его с 1000 сайтов
Я пишу плагин WordPress, который может публиковать сразу на нескольких сайтах. Когда я публикую сообщение или создаю пользователя или категорию на сервере, все содержимое будет синхронизироваться с клиентами с помощью метода отправки формы. Но код р…
02 сен '18 в 06:17
0
ответов
elb + автоматическое масштабирование в aws Nginx + .net core web-api
Я новичок в AWS балансировки нагрузки. В настоящее время я получил ошибку 504 и ошибку 502 от elb при запуске нагрузочного тестирования. Как правило, мой ответ API меньше 1 секунды, но когда я запускаю 2000 потоков в течение 10-30 минут, время ответ…
24 фев '19 в 16:52
3
ответа
Почему decltype требуется в C++11?
Я учусь "decltype" в C++ 11. Функция "auto" и "decltype" кажется дублированной, и я не понимаю, зачем нам нужен "decltype". Согласно вики, его основное предназначение - в общем программировании, где часто трудно или даже невозможно выразить типы, ко…
16 сен '13 в 15:34
1
ответ
Дубликаты узлов для xml
Следующий sql declare @head1 table (head_id uniqueidentifier) declare @sub1 table ( head_id uniqueidentifier, own_id int, own_field nvarchar(20)) declare @sub2 table ( head_id uniqueidentifier, own_id int, own_field nvarchar(20)) declare @unrelated …
22 июн '18 в 14:16
0
ответов
"автоматическая" разница между указателями и ссылками
Учитывая этот код: int& some_class::ret_ref(){ return this->some_integer; } int* some_class::ret_ptr(){ return &(this->some_integer); } int main(){ some_class c; auto p=c.ret_ptr(); auto r=c.ret_ref(); } Во время компиляции: p является…
25 июл '16 в 21:45
3
ответа
Автоматически переписывать C++11 auto ключевое слово в производные типы
Может быть странный вопрос, но есть ли какое-либо программное обеспечение, которое, имея кучу кода на C++11, извлекает все типы автоматически типизированных переменных и переписывает код с этими производными типами? А также для списков инициализатор…
29 фев '12 в 10:18
1
ответ
Для чего раньше использовался "auto"?
Я знаю, что до C++11 auto ключевое слово имело совершенно другое значение; это был спецификатор типа хранилища, указывающий объект, который имеет автоматический тип хранилища (то есть помещается в стек). Такова теория... Как бы вы на самом деле испо…
25 ноя '11 в 17:33