c++17 相关问题

C ++ 17是2017年批准的C ++标准的名称。它基于以前的C ++ 14标准,改进了核心语言和标准库,并添加了一些新的语言功能。

`std :: filesystem :: directory_iterator`编译器问题

许多人(例如1,2)已经询问如何让std :: filesystem :: directory_iterator工作,但是在我阅读之后我仍然遇到了麻烦。我正在尝试构建一个小型静态库。之后......

回答 1 投票 1

在具有引用成员的对象上使用放置`new`的结果

“使用新位置更新参考成员?”问题显示了这个例子(简化):struct Foo {int&v_; }; int a,b; Foo f {a};新(&f)Foo {b};断言(&f.v_ ==&a); ...

回答 1 投票 3

扣除指南,initializer_list和类型扣除过程

请考虑以下代码:#include #包括 模板 struct test {test(const std :: pair &){}};模板

回答 2 投票 2

如何共享运营商返回的数据[重复]

嗨,我目前正在尝试为矩阵实现模板化库,所以我正在实现一些像transpose()操作这样的操作。我也喜欢运营商返回的矩阵,......

回答 2 投票 2

逗号运算符使lambda表达式非constexpr

根据[此问答],因为c ++ 11逗号运算符是constexpr能力的。根据[此问答],constexpr变量不应该被lambda捕获,但应该可以在其体内使用。两者......

回答 2 投票 6

使用Detected Idiom实现is_destructible

这是我对is_destructible_v:template的实现 struct is_unknown_bound_array:std :: false_type {};模板 struct is_unknown_bound_array :std :: ...

回答 1 投票 3

对std :: variant的访问没有访问

对于某些标准库类,访问其部分内容可能会合法地失败。通常你可以选择一种潜在的投掷方法,一种标记为noexcept的方法。 ......

回答 1 投票 3

constexpr版:: :: std :: function

我正在寻找constexpr中可用的:: std :: function。用例:我有一个函数,它将函数指针作为参数,第二个函数将lambda传递给第一个函数。两者都是 ...

回答 1 投票 2

在C ++ 17中弃用`std :: result_of`的原因是什么?

我看到在C ++ 17中不推荐使用std :: result_of。在C ++ 17中不推荐使用std :: result_of的原因是什么?另外我想知道std :: result_of和std :: invoke_result之间的区别。

回答 2 投票 10

有没有办法递归使用类模板参数扣除指南? (是图灵完成)

我正在使用类模板扣除指南并尝试递归使用它。但是我无法获得以下代码来编译#include 模板 用...

回答 2 投票 1

排序矢量 >通过运算符无法正常工作

我想通过其成员返回值对两个自定义类对std :: variant类型的std :: vector进行排序。见下面的代码。现在,使用std :: sort(std :: begin(shapes),std :: end(shapes),[](auto const&...

回答 2 投票 2

[[nodiscard]]到函数指针

我想使用第三方函数,它通过一个充满函数指针的结构提供API。例如:struct S {using p_func1 = int(*)(int,int); p_func1 func1;用...

回答 1 投票 4

提取__VA_ARGS__的第一个参数

假设我有一个宏:#define FOO(a,...)if(a)foo(a,## __ VA_ARGS__)这很有效:FOO(a)将转换为if(a)foo(a)FOO (一个, )如果......将转变为

回答 2 投票 1

std :: is_constructible立即上下文和朋友声明

最近我试图检测特定私有构造函数的存在,并遇到std :: is_constructible仅检查直接上下文因此不会识别任何此类问题的问题。

回答 2 投票 1

C ++ 17 lambda捕获具有宽松的类型要求

我有一个以下代码,用C ++ 17编译器编译但不会用C ++ 14编译。我想知道是什么改变,允许下面的代码编译:struct Foo {Foo()= default; ...

回答 1 投票 8

C ++ 17排序:赋值左侧的后增量

C ++ 17标准修订了C ++语言操作顺序的定义,规则说明了效果:在每个简单的赋值表达式E1 = E2和每个化合物......

回答 2 投票 4

c ++循环的通用编译时

在某些情况下,在编译时评估/展开for循环可能是有用/必要的。例如,要迭代元组的元素,需要使用std :: get,...

回答 2 投票 12

有没有办法使成员函数不能从构造函数调用?

我有成员函数(方法),它使用std :: enable_shared_from_this :: weak_from_this()简而言之:weak_from_this返回weak_ptr。一个警告是它不能从构造函数中使用。如果...

回答 3 投票 21

如何在移动到shared_ptr后调用std :: function

我被困在如何调用已移入shared_ptr ... #include的std :: function中 #包括 使用func_type = std :: function ; int main(int,...

回答 1 投票 1

根据该参数的默认值启用模板参数类型的自动扣除

这就是我想要做的事:#include 模板 void f(ContainerType c1,ComparatorType comp = [](const typename ...

回答 2 投票 4

© www.soinside.com 2019 - 2024. All rights reserved.