Вопросы по теме 'auto'

Опасен ли автоматический тип С++ 11?
Возможный дубликат: Как слишком много с ключевым словом C++0x auto Новое ключевое слово auto; Когда его следует использовать для объявления типа переменной? В C++11 ввод переменной auto вместо, скажем, int позволит компилятору...
5584 просмотров
schedule 27.06.2023

Как выбрать тип итератора с помощью автоматической переменной?
У меня есть std::unordered_map std::unordered_map<std::string, std::string> myMap; Я хочу получить итератор const, используя find. В С++ 03 я бы сделал std::unordered_map<std::string, std::string>::const_iterator =...
6732 просмотров
schedule 22.03.2022

взять адрес функции-члена, не обращаясь к классу экземпляра по конкретному имени?
Теперь, когда у нас есть ключевое слово auto , я хотел бы получить адрес члена экземпляра класса без необходимости статически ссылаться на его класс. например (старая школа) MyInterestingClass & foo = m_holder.GetInteresting();...
143 просмотров
schedule 06.02.2024

Является ли `auto x = f()` лучше, чем `T x = f()`?
В другой теме кто-то предложил использовать auto x = f(); вместо T x = f(); (если подпись f T f() ). Они указали, что это предотвращает нарезку скрытых объектов, если кто-то меняет f на U f() , где U происходит от T ....
263 просмотров
schedule 09.03.2022

Проблема времени жизни объекта с циклом for на основе диапазона
В настоящее время я преобразовываю свой код в С++ 11, и у меня возникают проблемы со следующим циклом for на основе диапазона (FWIW, тот же код раньше работал нормально с BOOST for_each). Элемент mLibraryFiles (вектор STL) является частью...
296 просмотров
schedule 12.10.2022

Функция C ++ с переменным типом возвращаемого значения с использованием 'auto'
Я пытаюсь написать функцию, которая возвращает различные типы в зависимости от оператора if. auto parseParameterValue(QString aParameterValueString, int aParameterType) { if(aParameterType == 0) { int result =...
1873 просмотров
schedule 10.07.2023

Почему существует разница между шаблоном и автоматическим выводом типа для краевого случая std::initializer_list?
По сути, в C++11 существует три типа вывода типов: шаблоны auto decltype В большинстве случаев вывод типа auto и шаблонов, по-видимому, действует одинаково. Но есть один случай - когда мы устанавливаем переменную auto в...
51 просмотров
schedule 25.11.2022

Возврат константного указателя на константный член данных и ключевое слово auto. Немного запутался
Я недавно изучал C++ и только сегодня познакомился с const и концепцией корректности const. Пытаясь лучше понять теорию, я написал серию простых программ, чтобы убедиться, что я правильно понимаю концепцию. Я думал, что все понял, но потом при...
3955 просмотров
schedule 20.02.2022

Когда компилятору разрешено оптимизировать инициализацию стиля авто + скобки?
Предположим, у вас есть класс под названием Product, определенный следующим образом: class Product { public: Product(const char *name, int i); Product(Product &&rhs); Product(const Product &rhs);...
182 просмотров

Предоставление функций-членов класса с выведенными типами
Я пытаюсь написать класс интерфейса, в котором пользователь предоставляет свою реализацию в виде DLL. В рамках этого интерфейса есть некоторые функции-члены, которые возвращают выведенный тип, определенный во время выполнения, например: auto...
82 просмотров
schedule 17.12.2023

Является ли auto необязательным ключевым словом в диапазоне циклов for?
Я помню, как кто-то однажды сказал мне, «нет необходимости в auto внутри циклов for на основе диапазона. Это не было бы двусмысленным в языке, если бы мы удалили его». Верно ли это утверждение? Является ли следующий код допустимым...
862 просмотров
schedule 10.11.2022

В контексте приведенного ниже кода, почему cout ‹‹ c является допустимым, а c = x недопустимым?
Я новичок в С++ и пытаюсь изучить концепцию ключевого слова "авто" и ссылки. Я видел этот вопрос и ответ в Интернете. Является ли следующий диапазон законным? Если да, то какой тип c? const string s = "Keep out!"; for (auto &c : s){...
78 просмотров
schedule 25.03.2024

Тип переменной «Копировать» из другой переменной
С добавлением ключевого слова «auto» в С++ 11 мне было интересно, можно ли «скопировать» тип другой переменной или возвращаемый тип функции. Например, в этом коде: unsigned short x; [...] // x is initialized with some value for(auto...
925 просмотров
schedule 30.12.2022

Каковы правила вывода типов для auto*?
Каковы правила вывода типов для auto* ? Рассмотрим следующее: int x = 64; int* px = &x; auto* v1 = &x; // auto => ??? ok v1 is int* ... auto* v2 = px; // auto => ??? is v2 int* ? auto* v3 = &px; // auto =>...
1350 просмотров
schedule 20.10.2022

Есть ли в С++ механизм для создания полной копии производного класса из указателя базового класса без динамического выделения памяти?
Рассмотрим следующий пример, в котором нарезка объекта происходит во время разыменования базового указателя. #include <stdio.h> class Base { public: virtual void hello() { printf("hello world from base\n"); } }; class...
128 просмотров
schedule 19.07.2022

Можно ли повторно объявить переменную как auto, которая выводится к тому же типу?
Разрешено ли стандартом следующее? #include <iostream> extern int a; auto a = 3; int main(int, char**) { std::cout << a << std::endl; return 0; } clang принимает код. g++ жалуется на противоречивое объявление.
488 просмотров
schedule 23.07.2022

Преобразование const auto & в итератор
Ряд сообщений, которые я прочитал в последнее время, утверждают, что for(const auto &it : vec) совпадает с использованием более длинного синтаксиса итератора for(std::vector<Type*>::const_iterator it = vec.begin(); it != vec.end(); it++)...
894 просмотров
schedule 16.05.2022

Clang++ ошибка типа автоматического возврата для специализации шаблонного метода в шаблонном классе?
Пытаясь понять другой вопрос , я упростил пример, получив следующий код. template <bool> struct foo { template <typename T> auto bar (int i) { return i; } }; template <> template <typename T> auto...
195 просмотров
schedule 27.02.2024

Ключевое слово `new` в сочетании с` auto`
Что значит new (&as_string) auto(other.as_string); делать где as_string это std::string объект? Я вижу, что auto(other.as_string) создает новую копию other.as_string , но что вызывает (&as_string) в сочетании с новым?
30 просмотров
schedule 24.09.2023

Что такое синтаксис автоматического списка в квадратных скобках?
WF. дал теперь удаленный ответ на мой вопрос здесь , где использовалась строка: auto [x, y] = div_t{ 1, 0 }; Судя по коду в ответе, это похоже на tie для структуры div_t . Я надеялся, что кто-нибудь сможет объяснить, что здесь...
134 просмотров
schedule 30.11.2022