问题标签 [template-classes]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
245 浏览

c++ - 模板类中定义的常量

可能重复:
GCC 问题:使用依赖于模板参数的基类成员

我以为我对 C++ 很熟悉,但显然还不够熟悉。
问题是当您在模板类中定义常量时,您可以在派生自该类的新类中使用该常量,但不能在派生自该类的新模板类中使用该常量。

例如,gcc 说

test.h:18: 错误: 'theconstant' 未在此范围内声明

当我尝试编译这个(简化的)头文件时:

所以问题是一个类 ,derive1编译得很好,但另一个类 ,derive2是一个模板专业化,却没有。
现在也许 gcc 的错误还不够清楚,但我不明白为什么 in 中的构造函数的derive2作用域与derive1.
万一这很重要,这发生在头文件本身的编译期间,而不是在实例化类型的对象时derive2<type>

我也知道要进行哪些更改才能进行编译,因此我并不是真的在寻找单行代码作为答案。我想了解为什么会这样!我尝试在网上搜索,但显然我没有使用正确的搜索参数。

0 投票
4 回答
174 浏览

c++ - 在 C++ 中做模板的另一种方法?

当我发现创建模板类的这种依赖于预处理器的方法时,我只是在搞砸:

我简单地编译了这个:

输出:

现在,如您所见,它的工作方式与模板类几乎相同。除了一个明显的事实之外,对象只能在全局范围内声明,因为它实际上在您使用时定义了一个新类 inline TEMPLATE_CLASS(T),而新类不能在函数中定义。对此的解决方案可以是:

不管怎样,这给了我很多思考。首先,这甚至可以称为有效的泛型类吗?那么,它可以用来代替标准模板功能吗?显然,使用标准模板功能要方便得多,但我的意思是,这也可以吗?最后,由 C++ 标准定义的模板功能是否在内部执行类似于我对预处理器所做的事情?如果不是,这个实现和 C++ 的标准模板特性有什么区别?

0 投票
1 回答
555 浏览

aop - 模板类的 Spring AOP 切入点不起作用

我有以下课程作为我的切入点

以及为它定义的以下建议......

当我尝试运行它时,我收到以下异常错误消息..

**

找不到接口 javax.ws.rs.ext.ExceptionMapper 的类型参数

** 这个类抛出错误 http://grepcode.com/file/repo1.maven.org/maven2/org.jboss.resteasy/resteasy-jaxrs/2.2.2.GA/org/jboss/resteasy/ util/Types.java#Types.getActualTypeArgumentsOfAnInterface%28java.lang.Class%2Cjava.lang.Class%29

RESTEasy 代码的一部分。

这是因为“Spring AOP 无法建议实现模板接口的切入点类”吗?有任何想法吗?Spring AOP 如何为实现参数化接口的类创建代理对象?...它使用 CGLIB 还是 JDK 代理?

0 投票
1 回答
527 浏览

c++ - 将模板类从 C++ 库导出到 VB.NET 和 C#

我有以下问题:我在 C++ 中创建了一个 DLL,其模板类定义如下:

我想导出它,所以我定义如下:

因为 - 我读过 - 在 Visual C++ 中,您不能导出模板,而只能导出它们的显式初始化。这种方式一切正常,我可以在新的 Visual C++ 代码中导入 DLL。现在:我是否必须为我需要的每种类型(myClass、myClass 等)导出显式实例化?还是有更好的方法 - 不那么天真 - 做到这一点?如何在 VB.NET 项目中导入我的模板类?有办法吗?还是我必须创建一个编组结构,然后在运行时将其转换到我的模板类中?

谢谢你们!

0 投票
1 回答
1613 浏览

c++ - 模板类构造函数中的动态分配

我正在研究一个堆栈类并有两个构造函数。一个感兴趣的是这个。

我像这样在 main 内部调用它。

该程序编译良好,但我得到这个运行时错误。

我正在努力Microsoft visual studio 2010,这个问题让我无处可去。任何提示将不胜感激。

0 投票
3 回答
92 浏览

java - 使这个模板类成为一个泛型类

所以我是一个大学生只是想寻求一点帮助和理解,我有一个教授不允许我们使用java预写的类如ArrayList,所以我想弄清楚如何修改我当前封装的数组类使用泛型,这样我就不必在我的程序的应用程序类中做太多的转换

0 投票
3 回答
117 浏览

c++ - 将函数模板定义为类模板的回调

我想定义一个类模板,它采用相同类型的回调函数。就像是:

它会像这样使用:

不幸的是,回调函数不能通过typedef.

还有另一种方法可以做到这一点吗?

0 投票
1 回答
82 浏览

c++ - C++中模板类与模板方法的使用

我有一个类,它有一个公共的模板方法。这个类有两种行为策略,我想通过类模板传递。

但是这段代码无法编译。我需要保持这样的用法(仅通过策略进行操作)。

0 投票
3 回答
472 浏览

c++ - 模板类和可能的性能问题

如果我使用模板类创建 30 个不同的定义。我的问题是它会编译成 30 个二进制的实际类(二进制大小 = sizeof(template_class) x 30),尽管它们的实际代码非常相似甚至完全相同?

如果可以,并且在运行时,我的程序将加载到内存中。我遍历这 30 个实例(假设我为每个定义初始化了 1 个实例),是否会导致 cpu 指令缓存重新加载,因为它们实际上是内存中的 30 个副本,即使它们的大部分代码都是相同的?

0 投票
2 回答
3490 浏览

c++ - 使用模板类数据成员的c ++“没有适当的默认构造函数可用”错误

我做了一个模板类 Grid(我在头文件中说 T 的默认值是浮点数),我引用了源文件的一部分:

其他成员函数可以读取/更改矩阵的值或计算它。

网格.h:

我在互联网上发现,为了使用模板类,我需要#include Grid.cpp 和 Grid.h,这样做我可以在 main() 中使用 clas Grid 及其成员函数。我还在 Grid.cpp 周围放置了一个预处理器包装器。

现在,当我尝试构建一个新类 PDEProblem 时,没有继承但使用 Grid 类型的成员,我收到错误:

PDE问题.h:

PDEProblem.cpp:

我怎样才能解决这个问题?在我看来,我对所有相关内容都有默认设置?谢谢