小编use*_*174的帖子

std :: make_index_sequence和std :: index_sequence的详细信息

我很喜欢增加可变参数模板,并开始摆弄这个新功能.我试图了解std::index_sequences 的实现细节(用于元组实现).我看到那里的示例代码,但我真的想要逐步解释如何std::index_sequence编码和每个阶段的元编程主题.想真的傻了:)

c++ templates template-meta-programming variadic-templates c++14

15
推荐指数
2
解决办法
8214
查看次数

带有初始化程序的C++ new if语句

"if"语句的cppreference页面;

https://en.cppreference.com/w/cpp/language/if

给出以下例子;

除了由init语句(如果初始化语句是一个声明),并通过名称申报条件(如果条件是一个声明)声明的名字都在相同的范围内,这也是两个语句块引用的范围

std::map<int, std::string> m;
if (auto it = m.find(10); it != m.end()) { return it->size(); }
Run Code Online (Sandbox Code Playgroud)

那是一个错字,不是吗?我不会错过这里的任何东西,它应该是;

it->second.size(); 
Run Code Online (Sandbox Code Playgroud)

要么

it->first;
Run Code Online (Sandbox Code Playgroud)

没有?

c++ if-statement initializer c++17

10
推荐指数
2
解决办法
800
查看次数

std :: unique_ptr和模板

我有一个使用CRTP的场景.下面的伪代码:

template <typename T>
class Base {} 

class Derived1 : Base < Derived1 >  {}

class Derived2 : Base < Derived2 > {} 
Run Code Online (Sandbox Code Playgroud)

一切正常,除非我介绍unique_ptr循环.我希望代码中的unique_ptrto Base和其他地方使用它来获取a Derived1Derived2指针的所有权.

// declaration - this is the problem - wont compile.
std::unique_ptr<Base> base_unique_ptr;

// cpp , elsewhere.
base_unique_ptr.reset(new Derived1());
Run Code Online (Sandbox Code Playgroud)

要么

base_unique_ptr.reset(new Derived2());
Run Code Online (Sandbox Code Playgroud)

我有麻烦吗?我不想改变现有代码的使用unique_ptr.

c++ c++11

0
推荐指数
1
解决办法
1745
查看次数