将std :: tuple转换为std :: set
Converting a std::tuple to a std::set

我试图将std :: tuple转换为std :: set。 我有以下代码模板<typename ... T> auto to_set(std :: tuple <T ...> const&t){return to_set_helper(t,std :: ...

函数在预期的时候返回double
Function returning double when expected long

我最近回答了另一个问题,在我的回答中,我有以下代码。 template <typename T,typename ... Ts> struct are_arithmetic {enum {value = std :: is_arithmetic <T&...

别名模板中的模板参数推导 - typedefing任何成员函数指针
Template argument deduction in alias templates - typedefing any member function pointer

在回答问题时,我建议使用模板别名来定义成员函数的签名; 也就是说,不仅仅是键入定义成员函数,而且能够分解...

在多个声明中使用auto时,为什么需要所有变量的初始化器?
How come you need initialisers for all variables when using auto in multiple declarations?

我希望只有第一个声明才需要初始化器。 例如auto x = 2,y; 我希望这可以将x的类型推断为int,然后用...隐式替换“auto”

如何创建相互返回的C ++函数?
How can I create C++ functions which return each other?

我想在C ++中有一些函数,其中每个函数代表程序中的一个屏幕。 这些函数处理用户交互,并基于此将std :: function返回给另一个...

登录预处理号码
Sign in Preprocessing Number

在C ++标准14([lex.ppnumber])的2.10节中,预处理数被定义为pp-number数字。 数字pp数字数字pp数字'数字pp数字'nondigit pp -...

在STL队列中插入pair元素时出错
Error in inserting pair element in STL queue

我有一对配对元素的队列,我用它来在矩形网格上执行BFS。 但是我在队列上的推送操作中遇到错误,尽管我在其他地方执行类似操作。 代码:int ...

计算最小值的最时髦的方法是什么?
What is the most fashionable way of calculating minimum value?

我想使用自定义比较器计算一组值中的最小值。 目前我的代码看起来大致如下:SomeStructure最好; for(int i = 0; i <100; ++ i){...

我可以使用Boost.Spirit进行多功能数学(AST)模式匹配和操作吗?
Can I do versatile mathematical (AST) pattern matching and manipulation with Boost.Spirit?

我正在研究C ++中的模式匹配,以及像Mach7这样似乎是问题的功能性方法,以及更普遍的访问者模式,这似乎是最低的......

类型限制的可变参数模板函数
Type-restricted variadic template functions

我可以编写以下内容来定义一个带有任意数量参数的函数:template <typename ... Arguments> void f(Arguments ... sums){//做点什么。 然后把它称为f(1,2,...

constexpr用私有成员构造对象
constexpr to construct objects with private members

我有以下编译和行为符合预期的代码:struct A {// private:int v; 朋友constexpr A f(int v); }; constexpr A f(int v){return A {v}; } constexpr A ......

如何为具有类型擦除数据成员的类实现复制构造函数?
How to implement a copy constructor for a class with type-erased data member?

我想要实现的目标:我想要一个类来保存我的程序的配置,类似于boost :: options,但是无升级。 它应该像这样使用:auto port = Config.Get <int>(...

使用检测惯用法来确定类型是否具有具有特定签名的构造函数
Using the detection idiom to determine whether a type has a constructor with a specific signature

我正在使用标准库支持C ++检测习惯的提议。 它是一个类似特征的元函数,它确定类型T是否具有名为T :: type的类型成员或成员...

将资源移出通用类
Moving resources out of a generic class

在下面的上下文中:template <class T> struct MyStruct {T resource; decltype(auto)getResource(){return std :: move(resource); }}; 是我的......

通用lambda,实际参数的类型推导(auto)
Generic lambda, type deduction of actual parameter (auto)

考虑:struct Foo {std :: vector <int> data()const {return vec; const std :: vector <int>&c_data()const {return vec; } std :: vector <int> vec {}; }; 汽车...

模板类的静态模板成员函数
Static template member function for template class

我有一个模板类和一个模板成员函数:template <class T1> struct A {template <class T2> static int f(){return 0;}}; 我想专注于T1和......

从专业化访问模板参数
Accessing template arguments from specialization

template <typename T,typename U> struct A; template <std :: size_t I> struct A <int,char [I]> {using pointer = T *; //不编译}; int main(){A <int,char [3]> a; ...

如何使用`std :: async`来调用互斥锁保护循环中的函数?
How to use `std::async` to call a function in a mutex protected loop?

vector <int> vecCustomers; //填充vecCustomers void funA(){std :: lock_guard <std :: mutex> guard(_mutex); //需要锁定(int i = 0; i <vecCustomers.size(); ++ i){...

在派生类上使用std :: make_unique和自定义删除器?
Using std::make_unique with custom deleter on a derived class?

假设我有一个名为Derived的类,它继承自一个名为Base的类。 Base很特别 - 虽然它可以使用new创建,但它必须通过自定义删除器进行破坏。 我想要 ...

在Lambda Capture中构造intializer_list <string>
Construction of an intializer_list<string> in a Lambda Capture

所以我在这里做了一个答案,我需要在lambda捕获中使用C ++ 14的标识符初始化器:const auto cmp = [ordering = {“dog”,“cat”,“mouse”,“elephant”}]( const字符串&...

使用boost spirit x3解析成一组
Parsing into a set using boost spirit x3

如果有一种方法可以使用boost spirit x3解析为一组,我感兴趣。 后台是我有一串令牌,每个令牌代表一个枚举值,现在我想创建一个解析器......

完美转发模板参数包到emplace_back - 编译失败
Perfect forwarding template parameter pack to emplace_back - failed compilation

抱歉,如果在类似的问题中有解决方案,我无法找到具有类似错误输出/问题的解决方案。 我正在尝试编译此代码:#include <vector> using namespace ...

为什么我可以使用make_unique创建带有衰减数组指针的unique_ptr?
Why can I create unique_ptr with decayed array pointer using make_unique?

具体来说,我想知道为什么这会编译:#include <memory> #include“make_unique.hpp”void foo(const char * s){std :: unique_ptr <const char *> ptr = std :: make_unique <const char * &...

使用clang强制编译constexpr的时间
Force compile time evaluation of constexpr with clang

为了在编译时强制评估constexpr函数,我应该能够将其返回值赋给constexpr变量。 constexpr bool const_d_ref(const double&v){return false; } ...

为什么std :: transform不将std :: string向量转换为unsigned int vector?
Why doesn't std::transform convert the std::string vector to unsigned int vector?

如标题中所述,我试图将std :: string的向量转换为unsigned int。 但是我遇到了分段错误。 这是我的代码:#include <iostream> #include <string>#...

C ++模板专业化和xcode
C++ templates specializations and xcode

我有来自Xcode的以下错误:模板模板参数的模板参数必须是类模板或类型别名模板但是相同的确切代码在Visual Studio中工作正常。 ...

嵌套类中的类实例化
class instantiation in nested classes

我有以下问题:template <typename T,size_t N,size_t ... N_i> struct A {//嵌套类模板<typename ... Ts> class B {// ... A <T,N_i .. >:...

完整的对象或子对象?
Complete object or subobject?

C ++ 14标准说:子对象可以是成员子对象,基类子对象或数组元素。 不是任何其他对象的子对象的对象称为完整对象。 (§1.8(2)...

具有非空模板参数列表的模板特化
Template specialization with non-empty template parameter list

我很难理解以下代码模板<typename T> struct function_traits:public function_traits <decltype(&T :: operator())> {}; //对于泛型类型,...

为什么uint128_t没有uint128_t的位移过载?
Why doesn't uint128_t have bit shift overloads for uint128_t?

当两个操作数都是uint128_ts时,boost :: multiprecision :: uint128_t似乎没有左/右移位运算符的重载:uint128_t operator <<(uint128_t,uint128_t); // 失踪 ...

嵌套C ++ lambda函数的头文件
Header for nested C++ lambda function

考虑以下(简化)示例,其中两个lambda函数相互调用,其中一个也将另一个函数作为参数。 我需要使用lambda函数,因为函数...

使用CMake在Qt Creator 4.0 Clang Static Analyzer中启用C ++ 14
Enable C++14 in Qt Creator 4.0 Clang Static Analyzer using CMake

我在项目中使用Clang 3.8的一些C ++ 14特性。 构建系统是CMake,所以我像这样运行clang静态分析:$ scan-build cmake -DCMAKE_BUILD_TYPE = Debug -DCMAKE_CXX_COMPILER = clang \ / ...

模板编译错误:'X'不引用值
Template compilation error: 'X' does not refer to a value

我收到以下错误:'ComponentManager'在编译从此父类继承的子类时不引用值:template <typename ComponentManager> class ...

Boost.Spirit.Qi替代(|)解析器问题
Boost.Spirit.Qi alternative ( | ) parser issue

我正在编写一个Qi解析器来解析IRC消息,转录RFC 2812.语法中有一个完全不同的选择:auto const hostname = shortname >> *('。'>> >> shortname); 汽车...

如何在C ++中使用variadic通用lambda计算总和?
How to calculate sum using variadic generic lambda in C++?

我想编写一个通用的sum函数,如下所示,但不是在模板语法中,而是在lambda语法中:template <typename T> auto Sum(T lastSummand){return lastSummand; } ...

rvalue引用限定符是否应返回rvalue引用?
Should rvalue reference qualifier return rvalue reference?

我正在研究从rvalue ref-qualifier函数返回rvalue引用是否真的好主意。 假设我们有:class DataPack {public:std :: vector <int> data; DataPack(...

生成错误,无需诊断(NDR):使用C ++中的ConstExpr函数抛出14
Ill-Formed, No Diagnostic Required (NDR): ConstExpr Function Throw in C++14

#include <iostream> using namespace std; constexpr int f(bool b){return b? 扔0:0; } // OK constexpr int f(){return f(true); } //生成错误,无需诊断需要int main(){...

result_of,make_tuple,参数包
result_of, make_tuple, parameter pack

我想获取std :: make_tuple为给定参数包返回的类型。 到目前为止,我已经编写了以下代码:#include <tuple> #include <functional> template <...

clang vs gcc中空结构的默认初始值设定项
Default Initializer of empty struct in clang vs gcc

以下代码编译了一些版本的GCC和一些版本的Clang(参见下面的版本)。 struct my_struct {}; int main(int argc,char ** argv){const my_struct my_object; ...

GCC和clang上的构造函数调用序列不同
Constructor call sequence different on GCC and clang

我有以下程序:#include <iostream> #define PRINT_LOCATION()\ do {std :: cout << __PRETTY_FUNCTION__ <<“\ n”; } while(false)struct foo {int val; foo()......

为什么转发引用构造函数而不是复制构造函数?
Why is forwarding reference constructor called instead of copy constructor?

给出以下代码#include <iostream> using namespace std; template <typename Type> struct Something {Something(){cout <<“Something()”<< endl; } ...

带有默认值的参数的C ++ 14 +自动类型推导
C++14+ auto type deduction for argument with default value

我为没有时间进行深入调查并依靠你的帮助而道歉。 考虑一下简单的代码:#include <iostream> enum class PrintColour {COLOUR_1 ...

c ++ static_assert和编译时
c++ static_assert and compile-time

我想为ARM 32位微控制器编写,我想使用现代C ++进行教育。 我的目标是:可读代码,可在编译时配置并帮助编译器生成最大优化...

iterator :: operator *的标准接口,返回多于T&和std :: pair
standard interface of iterator::operator* that return more than T& and std::pair

每个数据结构的迭代器具有不同类型的运算符返回值*()例如: - 大多数类似数据的结构<T>:返回T&。 std :: unordered_map <K,T>:return std :: ...

无法将std :: bind返回值赋给std :: function
can't assign std::bind return value to std::function

我一直在尝试编写一段非常简单的代码,但它似乎不起作用,我无法理解编译器错误。 代码:#include <iostream> #include <sstream&...

存在用户定义的移动构造函数/赋值的隐式复制构造函数[duplicate]
Implicit copy constructor in presence of user-defined move constructor/assignment

它是在cppreference上编写的,对于后C ++ 11版本的标准,其中复制构造函数被隐式定义为已删除的情况如下(类T的构造函数):T有一个...

如何存储指向函数模板的指针,该函数模板将Callable对象作为其参数之一
How to store pointer to function template which takes Callable object as one of its parameters

请考虑以下示例:template <typename T> void f(T t){std :: cout << t << std :: endl; } template <typename T> struct F {static constexpr void(* m)(T)=&...

为什么在类体中无法初始化静态const字符串成员
Why initilizing static const string member is not possible in class body

我正在使用c ++ 14.我需要在我的类中使用静态const字符串。 但是当我写类myClass {static constexpr const std :: string S =“aa”; 它没有编译。 编译器的结果(g ++ ...

当类版本可用时引用的全局运算符delete []
Global operator delete[] referenced when class version is available

请考虑以下代码:#include <cstdlib> class Base {public:virtual~Base()noexcept = default; void * operator new [](size_t count){return std :: malloc(count); } void ...
1 2 3 4 5 6 7 54 55