相关疑难解决方法(0)

C++模板typedef

我上课了

template<size_t N, size_t M>
class Matrix {
    // ....
};
Run Code Online (Sandbox Code Playgroud)

我想typedef创建一个Vector(列向量),它相当于一个Matrix大小为N和1的东西.这样的东西:

typedef Matrix<N,1> Vector<N>;
Run Code Online (Sandbox Code Playgroud)

这会产生编译错误.以下内容创建了类似的内容,但并不完全符合我的要求:

template <size_t N>
class Vector: public Matrix<N,1>
{ };
Run Code Online (Sandbox Code Playgroud)

是否有解决方案或不太昂贵的解决方法/最佳实践?

c++ templates typedef c++11

356
推荐指数
1
解决办法
16万
查看次数

键入一个模板类,而不指定模板参数

我正在尝试输入undedered_map或std :: map,这取决于是否有可用的TR1库.但我不想指定模板参数.从我到目前为止所读到的,在官方c ++ 0x标准可用之前,不能使用不带参数的typedef'ing模板.那么有谁知道这个优雅的解决方法?

#ifdef _TR1
#include <unordered_map> 
typedef std::tr1::unordered_map MyMap; //error C2976: too few template arguments
#else
#include <map> 
typedef std::map MyMap; //error C2976: too few template arguments
#endif
Run Code Online (Sandbox Code Playgroud)

c++ templates typedef tr1 c++11

26
推荐指数
1
解决办法
2万
查看次数

我们可以像命名空间一样对类名进行别名吗?

我们可以像命名空间一样对类名进行别名吗?

例如:

namespace longname{ }
namespace ln = longname;// namespace aliasing

class LONGNAME {};
class LN = LONGNAME; // how to do class name aliasing, if allowed?
Run Code Online (Sandbox Code Playgroud)

c++

15
推荐指数
3
解决办法
1万
查看次数

Typedef一个模板参数

我有代码,我想键入一个模板化的类,以便于阅读:

template<int A, int B>
using templateClass = templateClass<A,B>;

void aFunction(templateClass& tc);

int main(){
    templateClass<10, 34> tc;
    aFunction(tc);
}

void aFunction(templateClass& tc){
    ...
}
Run Code Online (Sandbox Code Playgroud)

但是我发现很多关于未找到模板标识符的错误.该怎么做?我试图遵循这个例子:

如何输入定义模板类?

c++ templates c++11

0
推荐指数
2
解决办法
699
查看次数

标签 统计

c++ ×4

c++11 ×3

templates ×3

typedef ×2

tr1 ×1