Вопросы по теме 'c++14'

Является ли проект комитета стандарта C++14 общедоступным?
По состоянию на прошлую субботу... Этим днем ​​в Бристоле, Великобритания, комитет по стандартам ISO C++ принял общие лямбда-выражения, динамические массивы (улучшенная версия C99 VLA), шаблоны переменных, блокировки чтения/записи,...
3946 просмотров
schedule 21.11.2022

clang 3.3 и GCC 4.7 const v constexpr
Я просто попытался скомпилировать довольно большой объем кода, используя clang 3.3 с заголовочными файлами стандартной библиотеки GCC 4.7.3 в Ubuntu 13.04. Все прошло хорошо, кроме одной проблемы. Этот код уже компилируется со стандартным пакетом...
1317 просмотров
schedule 27.01.2023

Можем ли мы опустить двойные скобки для std::array в C++14?
Я читаю проект стандарта для С++ 14 прямо сейчас, и, возможно, мой юридический язык немного заржавел, но я не могу найти упоминания о разрешении инициализации, подобной следующей std::array<int, 3> arr{1,2,3}; быть законным. (EDIT:...
4492 просмотров
schedule 31.10.2023

На каком стандарте C будет основан C++14?
Какая версия стандарта C служит основой для C++14? C++11 основан на C99 и был выпущен за несколько месяцев до C11. Будет ли C++14 основан на C11? В текущем черновике все еще (по состоянию на декабрь 2013 г.), по-видимому, говорится "на основе...
661 просмотров
schedule 10.12.2023

Почему std::for_each на карте вызывает конструктор копирования?
У меня есть следующий простой пример, в котором я хочу вызвать std::for_each для коллекции некопируемых объектов: class A { public: A() : x(0) {} A(const A&) = delete; private: int x; }; void func() { std::vector<A>...
2313 просмотров
schedule 12.05.2024

Когда использовать шаблон функции вместо универсальной лямбда-выражения?
Я могу написать шаблон функции: template<typename T> void f1(T parameter) { ... } Но в C++14 я также могу создать общую лямбду: auto f2 = [](auto parameter) { ... }; В пределах f1 я могу напрямую ссылаться на T . Внутри f2...
360 просмотров
schedule 24.12.2022

узнать тип авто
Я играю с общей лямбдой в С++ 1y, и меня часто смущает незнание типа переменной/параметра auto . Есть ли хороший способ узнать это? В настоящее время я использую typeid(decltype(arg)).name()) , но это не очень полезно. @encode дает немного...
1414 просмотров
schedule 03.06.2024

Можно ли изменить нестатическую переменную-член в конструкторе constexpr (C ++ 14)?
struct A { int a = 0; constexpr A() { a = 1; } }; constexpr bool f() { constexpr A a; static_assert(a.a == 1, ""); // L1: OK return a.a == 1; } static_assert(f(), ""); // L2: Error, can not modify A::a in constexpr...
2744 просмотров
schedule 24.05.2022

Может ли простой `char` иметь значения ловушки?
README значение ловушки или представление ловушки для типа T - это битовая комбинация (базового хранилища ), который дает недопустимое значение T. . Попытка интерпретировать представление недопустимого значения приведет к...
955 просмотров
schedule 23.03.2023

std::map emplace/insert перемещаемое значение вставляется
В настоящее время я читаю документы C++1y, а пока я пытаюсь понять статью n3873 под названием Улучшенный интерфейс вставки карт с уникальным ключом . В документе говорится, что есть проблема с методами вставки и вставки, она иллюстрирует проблему на...
2400 просмотров
schedule 04.04.2024

Зачем использовать идеально переданное значение (функтор)?
В C++11 (и C++14) представлены дополнительные языковые конструкции и усовершенствования, предназначенные для универсального программирования. К ним относятся такие функции, как; Ссылки R-значения Ссылка сворачивается Идеальная переадресация...
1794 просмотров
schedule 20.01.2024

Как определить черту типа is_iterator?
Я пытаюсь закодировать черту типа is_iterator<T> . Где, когда T является типом итератора, is_iterator<T>::value == true в противном случае - is_iterator<T>::value == false . Что я пробовал до сих пор: template...
2532 просмотров
schedule 18.12.2023

Почему специализация type_trait может привести к неопределенному поведению?
Обсуждение Согласно стандартному §20.10.2/1 Header <type_traits> synopsis [meta.type.synop]: 1 Поведение программы, которая добавляет специализации для любого из шаблонов классов, определенных в этом подпункте, не определено,...
620 просмотров

Общие лямбда-выражения: синтаксический сахар или нет?
Приносят ли универсальные лямбда-выражения С++ 14 реальное улучшение языка или они являются своего рода синтаксическим сахаром? Бывают ли ситуации, когда [](auto param1, auto param2, /* ... */ auto paramN) { return /* ... */; } нельзя...
1088 просмотров

Должно ли назначение std::function игнорировать возвращаемый тип?
Является ли приведенный ниже код действительным C++ в соответствии со стандартом C++11 или C++14? #include <functional> int ReturnInt() { return 5; } int main( int argc, char **argv ) { std::function< void () > BoundType =...
1490 просмотров
schedule 05.05.2023

Замена некопируемого, неподвижного объекта
Рассмотрим следующий код: // A non-copyable, non-movable aggregate struct Strange { const int & i; char & c; }; class Container { private: int my_i; char my_c; Strange thing; public: //...
202 просмотров
schedule 14.10.2023

Какое значение не связано с объектом?
Стандарт C ++ 11 и C ++ 14 (и рабочий проект соответственно) говорят в §3.10.1: Prvalue («чистое» rvalue) - это rvalue, не являющееся значением x. [Пример: результатом вызова функции, возвращаемый тип которой не является ссылкой, является...
430 просмотров
schedule 25.07.2023

Обертка Constexpr над массивом C с конструкторами, подобными std::vector
Мне нужна оболочка constexpr над массивом C или std::array с некоторыми дополнительными конструкторами (аналогично конструкторам std::vector ): template<class T, int N> struct wrapper { T data[N]; constexpr wrapper(int s); //...
1422 просмотров
schedule 06.09.2023

Использование идентификатора структуры для обозначения типов POD и структур C
Рассмотрим следующий фрагмент кода: struct Foo {}; template<typename ForwardIterator> struct Foo* Bar(ForwardIterator first, ForwardIterator last) { (void)first; (void)last; Foo *foo(nullptr); return foo; } Приведенный...
239 просмотров
schedule 28.11.2023

Передача объектов constexpr вокруг
Затем я решил опробовать новое C++14 определение constexpr и, чтобы получить от него максимальную отдачу, я решил написать небольшой анализатор строк во время компиляции. Однако я изо всех сил пытаюсь сохранить свой объект constexpr при...
1155 просмотров
schedule 20.10.2023