c++17 相关问题

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

const构建空基类

const_cast远离空基类并在其上调用非const方法是不确定的行为?例如,类EmptyBase {public:void bar(){...}}; class Something:public EmptyBase ...

回答 1 投票 5

C ++调用具有未知类型参数的函数?

我试图实现与RapidCheck相同的功能:无论其参数如何调用任何Callable。以下是RapidCheck的一个示例:#include int main(){rc :: check(“加法是...

回答 2 投票 0

折叠嵌套std :: future

我想折叠一个嵌套的std :: future,例如void foo(std :: future ){} foo(fold(std :: declval >>>());这是 ...

回答 1 投票 0

自动模板参数:g ++ 7.3 vs clang ++ 6.0:哪个编译器正确?

两个编译器为此代码示例生成不同的结果。 Clang生成两种不同的类型。 G ++对fu和fi使用相同的类型。哪一个符合标准? #包括 ...

回答 1 投票 10

有没有办法跟踪任何编译器的模板参数推断?

我正在寻找方法从编译器的逻辑中获取一些跟踪日志,当它试图推断模板参数类型时,无论何时成功。例如,给定代码:#include

回答 1 投票 8

std :: variant转换构造函数行为

C ++ 17 std :: variant 有一个转换构造函数模板<class T> constexpr variant(T && t)noexcept(/ *见下面* /); (http://en.cppreference.com/w /中的第4号...

回答 1 投票 3

c ++为什么这个static_assert有效:

我有关于constexpr的以下问题,我有点明白,一个人不能声明一个std :: shared_ptr 是const,但为什么第一个static_assert()有效?另外,怎么做......

回答 2 投票 2

类模板参数推导和默认模板参数

以下精简代码不适用于最新的clang ++ 5,但是被g ++ 7:template接受 struct wrapper;模板

回答 1 投票 14

如何获取参数包中的元素索引

如何获取以下内容以将参数包元素的索引放入元组中? template <typename ... Ts> class ClassA {public:ClassA(Ts ... ts):tup(make_tuple(ts,0)...){...

回答 2 投票 3

结合void_t和enable_if?

在C ++ 17中,void_t允许使用类/结构模板:模板轻松地执行SFINAE struct test {static constexpr auto text =“general case”; };模板

回答 2 投票 1

标识哪个类提供由重载决策选择的函数的类型特征

考虑以下代码,其中派生出一个函数,继承自两个基类base1和base2,每个基类提供不同的重载://前言#include #包括

回答 1 投票 6

在C ++ 14允许的情况下,C ++ 17是否禁止复制省略?

请考虑以下内容:struct X {X(){} X(X &&){puts(“move”); }}; X x = X();在C ++ 14中,尽管移动构造函数具有副作用,但可以省略此举...

回答 1 投票 12

使用Clang ++编译OmniORB4

我正在使用OmniORB学习Corba并尝试编译简单的示例程序,但它不起作用。不幸的是,很难找到一些如何做到这一点的信息。我做的看起来像:我做了......

回答 1 投票 0

多层继承的重载解决方案?

考虑以下几个继承层的示例:struct A {void operator()(double x); }; struct B:A {using A :: operator();模板 void operator()(...

回答 2 投票 0

C ++ 17 - 嵌套结构化绑定可能吗?

假设我有一个类型为std :: map的对象 >数据;是否可以以嵌套方式访问元素类型(即,当在ranged for循环中使用时),如...

回答 2 投票 17

在api中使用std :: string_view,期望null终止字符串

我有一个方法,它采用std :: string_view并使用函数,它以null终止字符串作为参数。例如:void stringFunc(std :: experimental :: string_view str){...

回答 3 投票 9

在可变参数模板中重载朋友ostream操作符[重复]

我正在尝试将iostream运算符实现为可变参数类模板的友元函数。 #包括 #包括 模板 上课...

回答 1 投票 0

返回std :: tuple并移动语义/复制elision

我有以下工厂功能:auto factory() - > std :: tuple > {std :: vector VEC; vec.push_back(1); vec.push_back(2);返回{...

回答 1 投票 9

为什么std :: string_view :: data不包含空终止符?

此代码具有未定义的行为:#include #包括 using namespace std :: string_view_literals; void foo(std :: string_view msg){std :: cout << msg.data()...

回答 2 投票 7

注入的类名称为类型

给出以下代码,模板 使用void_t = void;模板 struct X {enum {v = 0}; };模板 结构X.

回答 2 投票 14

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