template-classes

    7热度

    2回答

    我发现C++ 11中的构造函数继承特性非常有用。不过,我觉得它的语法有点奇怪。下面的例子效果很好,但我不明白为什么我需要指定using sysTrajectory::sysTrajectory而不是从模板类继承using sysTrajectory<Real>::sysTrajectory<Real>?后者给出以下错误:使用sysTrajectory :: sysTrajectory;在'<'令牌

    1热度

    1回答

    我正在处理一个堆栈类并有两个构造函数。有趣的是这一个。 template <typename T> stack<T>::stack(const int n) { capacity = n ; size = 0 ; arr = new T [capacity] ; } 我在这里称它为主。 stack<int> s1(3) ; 该程序编译得很好,但我得到这个运行时错误。 1>mai

    1热度

    1回答

    我是新来的C++做我自己的模板类,和几个小时在网上寻找答案,并与功能玩弄&它的参数后,我已经放弃了。我有下面的类运行时的麻烦‘=’操作: 在matrix.h: template <class datatype> class Matrix{ datatype** element; unsigned int m,n; public: Matrix(unsig

    1热度

    1回答

    我有一个类,它具有公共模板方法。 这个类有2个行为策略,我想通过类模板传递。 template<class Strategy> class SomeClass { public: template<class B> void ProcessType(){} }; // And do something like this: SomeClass<Strategy1>

    0热度

    1回答

    我有一个使用模板的类。它是这样的: template <typename T> class a { public: a(T arg); a<T> func(a arg); // This seems to work, but... a<T> func(a<T> arg); // ...should I be doing this instead? priv

    -1热度

    1回答

    这是令人尴尬的,但我有点生锈在我的C++和我的生活,我不明白为什么这段代码导致分段错误。奇怪的是,这几次迭代之前它似乎工作正常。我甚至不知道我现在做了什么不同。 它基本上是一个模板类对象的构造函数,用于容纳三个对象。 VecXd.hpp: #ifndef JF_VecXd #define JF_VecXd #include <iostream> template <class T> c

    1热度

    3回答

    我想定义一个采用相同类型回调函数的类模板。喜欢的东西: typedef template<class T> bool CallbackFn(T x); template<class T> class MyClass { public: MyClass() {} ~MyClass() {} void addCallbackFn(Ca

    3热度

    3回答

    如果我使用模板类来创建30个不同的定义。我的问题是,它会被编译成二进制的30个实际类(binary size = sizeof(template_class)x 30),尽管它们的实际代码非常相似,甚至完全一样吗? 如果会,并且在运行时,我的程序将加载到内存中。我循环了这30个实例(假设我每个定义初始化了1个实例),它是否会导致cpu指令缓存重新加载,因为它们实际上是30个内存拷贝,甚至大部分代码

    2热度

    1回答

    我有两个关于同一个UML类图的问题。第一个是关于如何使用UML本机类型为模板类建模。第二个是关于如何处理OCL约束中的模板类。 问题1:模板类 我想用一个模板类的间隔,并使用UML标准的代表。间隔必须可用于整数和浮点数。我迄今发现的最好的方法如下: 的这里想法是有一个模板类,用参数T是要么Integer和Float类的父类。 我看到的问题是我需要重新定义UML的基本类型以便对它们进行分组。我想知道

    1热度

    1回答

    return Graph_iterator_Vertex(Vertexs.begin()); 我不明白为什么这行被称为复制构造函数,虽然有我的构造函数与参数。为此设计专门编写的参数构造函数参数。 我发现的关于类似问题的所有内容都是使用typename。但它并没有解决我的问题。 struct Graph_iterator_Vertex { private: typ