Вопросы по теме 'c++17'
Статус диапазонов для С++ 1z?
В комитете C++ есть группа по изучению диапазонов:
но я не следил за историей этой исследовательской группы и не уверен в том, какие результаты ожидаются для C++1z (более того, я не использую boost.range, поэтому у меня нет четкого...
1664 просмотров
schedule
28.09.2022
Почему std::allocator потерял типы/функции-члены в С++ 17?
Глядя на std::allocator , я вижу, что члены: value_type , pointer , const_pointer , reference , const_reference , size_type , difference_type и rebind устарели.
Распределители также больше не будут иметь членов: address , max_size ,...
2103 просмотров
schedule
30.11.2022
Constexpr лямбда по умолчанию?
Согласно n4487 и другим С++17 ссылки, появится новый спецификатор лямбда-функции — constexpr , который, если он присутствует, «явно указывает, что оператор вызова функции является функцией constexpr ». . Я понимаю мотивацию константных...
685 просмотров
schedule
22.10.2023
Понимание std :: hardware_destructive_interference_size и std :: hardware_constructive_interference_size
В C ++ 17 добавлены std::hardware_destructive_interference_size и std::hardware_constructive_interference_size . Во-первых, я подумал, что это просто переносимый способ получить размер строки кэша L1, но это чрезмерное упрощение.
Вопросы:...
7474 просмотров
schedule
11.04.2024
Почему структурированные привязки С++ 17 не используют {}?
Я нашел исходное предложение для структурированных привязок *C++ здесь . Он предлагает способ легко связать несколько возвращаемых значений, т.е.:
auto {a, b} = minmax(data);
Но теперь я вижу, что все указывают на синтаксис предложения...
6201 просмотров
schedule
02.11.2022
Почему GCC отклоняет std:: optional для ссылок?
std::optional<int&> xx; просто не компилируется для последнего моментального снимка gcc-7.0.0. Включает ли стандарт С++ 17 std::optional для ссылок? А почему если нет? (Реализация с указателями в выделенной специализации, я думаю, не...
2486 просмотров
schedule
13.05.2024
Неопределенная ошибка ссылки для статического члена constexpr
Рассмотрим этот код:
#include <vector>
struct A {
static constexpr int kDefaultValue = -1;
std::vector<int> v;
A(int n): v(n, A::kDefaultValue) {}
};
int main() {
A(10);
return 0;
}
Не удается связать (llvm clang, gcc...
10273 просмотров
schedule
09.02.2024
Почему в C ++ 17 нет std :: future :: then?
boost::future имеет функцию-член: boost::future::then , а std::future не имеет std::future::then .
В этой замечательной статье показано насколько полезным будет std::future::then .
Почему в C ++ 17 нет std::future::then ?
Это...
7838 просмотров
schedule
08.11.2023
Как поддерживать агрегаты в STL или STL-подобной библиотеке
Как ввести поддержку агрегатной инициализации для их правильного построения в (например) контейнерах STL? Я имею в виду что-то вроде:
struct A { int i; char c; };
std::list< A > l; // empty
l.insert(std::memberwise, 1, '2');
// <=>...
104 просмотров
schedule
16.09.2022
SFINAE внутри аргумента std::enable_if
У меня есть разные типы view , каждый из которых имеет константу-член std::size_t View::dimension и тип члена typename View::value_type .
Следующая проверка типа компиляции должна проверить, являются ли From и To представлениями (проверено...
446 просмотров
schedule
19.11.2022
Можно ли гарантировать, что функция constexpr вызывается не более одного раза во время компиляции?
Как следует из заголовка: возможно ли обеспечить вызов функции constexpr не более одного раза во время компиляции?
Это явно невозможно, если функция не constepxr; Я мог бы написать функцию, которая будет вызываться всякий раз, когда я нажимаю...
511 просмотров
schedule
19.12.2023
Как использовать новые политики выполнения C++17?
Я читал документацию std::algorithm по адресу cppreference.com и я заметил тег C++17 на многих участках классных вещей, которыми я еще не пользовался. Больше всего мое внимание привлекли новые политики выполнения. Прочитав о них, я понял,...
16244 просмотров
schedule
16.04.2024
Как представить шаблонный тип с переменным числом аргументов на основе другой группы аргументов шаблона с переменным числом аргументов в современном С++?
Предположим, у меня есть следующая структура вариативного шаблона:
template <class... T>
struct Example {};
Теперь я хочу определить функцию шаблона:
template<class... S>
??? f() {
return Example<???>
}
где...
138 просмотров
schedule
10.03.2024
C++17 вариант‹любой› внутри класса
Следующий код компилируется хорошо:
int main()
{
variant<any> var;
var = 5;
cout << any_cast<int>(get<any>(var)) << endl;
return 0;
}
Но когда я пытаюсь поместить variant<any> в класс...
770 просмотров
schedule
06.03.2024
Ошибка реализации std::variant (Clang 4.0.1)
Вот мой основной тестовый код:
#include <iostream>
#include <variant>
int main(int argc, char** argv) {
std::variant<int> v{5};
std::cout << std::get<0>(v) << std::endl;
}
Когда я компилирую его с...
135 просмотров
schedule
22.05.2024
Конструктор на основе целочисленной константы
Поскольку _mm_extract_epi64() принимает в качестве параметра константу, которая должна быть известна во время компиляции, я пытаюсь реализовать конструктор с шаблоном целочисленной константы:
union Packed64 {
double _f64;
float...
144 просмотров
schedule
10.04.2024
Как предоставить руководство по вычету для вложенного класса шаблона?
Согласно [ temp.deduct.guide/3 ]:
(...) Руководство по дедукции должно быть объявлено в той же области, что и соответствующий шаблон класса, и для шаблона класса-члена с тем же доступом. (...)
Но приведенный ниже пример, похоже, не...
1110 просмотров
schedule
01.01.2024
Стандарт с ++: есть ли внутренняя связь переменных constexpr с областью имен?
Представьте, что у нас есть заголовок foo.h , содержащий следующее:
#ifndef FOO_H_
#define FOO_H_
namespace foo {
constexpr std::string_view kSomeString = "blah";
}
#endif // FOO_H_
Гарантируется ли foo::kSomeString наличие внутренней...
3111 просмотров
schedule
18.03.2024
Как перечислить все переменные-члены класса/структуры в С++
Я работаю над каким-то простым отражением для структур С++, где я хочу рекурсивно перебирать все переменные-члены. Приведенный ниже код почти делает то, что я хочу, но мой компилятор соответствует требованиям: «рекурсивный тип или контекст...
1106 просмотров
schedule
07.06.2024
Почему inline требуется для статических встроенных переменных?
С++ 17 позволяет определять статические переменные-члены следующим образом:
class X {
public:
static inline int i = 8;
};
В чем причина требования спецификации inline ? Почему бы просто не позволить программистам писать
static...
3374 просмотров
schedule
11.03.2024