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