相关疑难解决方法(0)

如何输入定义模板类?

typedeftemplate class怎么办?就像是:

typedef std::vector myVector;  // <--- compiler error
Run Code Online (Sandbox Code Playgroud)

我知道两种方式:

(1) #define myVector std::vector // not so good
(2) template<typename T>
    struct myVector { typedef std::vector<T> type; }; // verbose
Run Code Online (Sandbox Code Playgroud)

我们在C++ 0x中有更好的东西吗?

c++ templates typedef c++11

71
推荐指数
2
解决办法
6万
查看次数

替代typedef的模板声明

我正在努力完成

namespace NTL
{
    typedef std::valarray vector;
}
Run Code Online (Sandbox Code Playgroud)

通过标准C++.我知道这是不允许的,但我需要一种快速简便的方法(不重新实现所有函数,运算符,重载等)来获取模板typedef.

我现在正在做一个模板类Vector,它有一个valarray作为数据成员,但是这将要求我为我的向量重载所有数学函数(再次......就像valarray一样).

有任何想法吗?谢谢!

PS:我可能需要NTL::vector在某些时候扩展功能,并且将其纳入解决方案的方法将是非常棒的.

c++ templates stl typedef

4
推荐指数
1
解决办法
3802
查看次数

C ++是否提供一种无需范围解析运算符即可访问类中的类的方法?

C ++是否提供一种方法来声明一个类中具有类类型的对象(例如foo_class::bar_class_in_class,在下面的示例中)而不必使用范围解析运算符,就像它在名称空间中的一个类(例如,foo_namespace::bar_class_in_namespace在下面的示例中)那样?

  namespace foo_namespace {
      class bar_class_in_namespace {
      };

  }

  class foo_class {
  public:
      class bar_class_in_class {
      };
  };


  int main() {
      using namespace foo_namespace;
      bar_class_in_namespace bar_0;

      // Can I access bar_class_in_class without having to use the
      // the scope resolution operator?
      foo_class::bar_class_in_class bar_1;
  }
Run Code Online (Sandbox Code Playgroud)

这个问题与我们可以像在命名空间中对类名进行别名一样吗?,此问题明确询问有关某个类中某个类的细微差别。

c++

4
推荐指数
1
解决办法
136
查看次数

标签 统计

c++ ×3

templates ×2

typedef ×2

c++11 ×1

stl ×1