问题标签 [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 投票
1 回答
66 浏览

visual-studio - 如何优雅地将模板参数限制为`>`?

如何优雅 Wrapper地限制模板参数?Wrapper<Any,MyArray<AnyT>>

  1. 不要破坏内容辅助 (Visual Studio)。
  2. 高可读性。不要使用 hacky 方法。
    由于某些原因,大多数解决方案都喜欢破解。
  3. 使用 C++ 语法规则在第一行使其显而易见。(不仅仅是绿色评论)

据我所知,有很多解决方案,但每个解决方案都不符合标准。

解决方法 1(模板专业化,失败 1)

此代码是从https://stackoverflow.com/a/43518221 (@max66) 修改的。

IDE 的上下文线索/语法高亮会混淆。
就我而言,它将一些正确的类型标记为错误,例如:-

解决方法 2(一些 hacky 字段/typedef,失败 2)

这个想法来自https://stackoverflow.com/a/43518295 (@Jarod42)中的评论

类声明没有提到MyArray,它只是使用一种 hacky(可读性较差)方式 ( MyArrayT) 来强制执行T2is MyArray

解决方法 3(基类,失败 2)

代码从Restrict C++ Template Parameter 修改为 Subclass仅接受某些类型的 C++ 模板

它与解决方法2具有相同的缺点。
对于普通用户来说并不明显。

解决方法 4(SNIFAE,失败 1)

通过添加std::enable_if模板类声明 ( Wrapper),我可以获得有效的 hack。
不幸的是,内容辅助讨厌它。

参考

这是我阅读的其他链接:-

0 投票
1 回答
756 浏览

c++ - 在成员数据中使用模板参数的模板类的基类指针

对于以下模板类

我希望能够拥有一个基类指针向量,我知道我需要使用一个接口类,但我无法让它工作,任何建议将不胜感激。

0 投票
1 回答
55 浏览

java - 模板类给出原始数据类型错误

给出“不能从静态上下文引用的非静态变量”

这是模板类的以下代码


我尝试为 double 创建一个新课程,但错误仍然存​​在

0 投票
3 回答
793 浏览

c++ - 循环使用 set Template Class 将所有 26 个字母添加到 s

我正在准备下周的考试,我在书中遇到了一个我无法上班的问题。说假设set<char> s;现在声明了一个循环来将所有 26 个字母插入到 s 中。

我所拥有的是

与此类似的东西适用于我相信的数组,但不适用于这个模板类。我知道我不必插入每个字母,我只是不知道如何遍历字母表。

0 投票
1 回答
68 浏览

c++ - 在我的模板类示例中,即使我没有定义添加方法,它也会添加“分段错误(核心转储)”错误

!!注意:我在回答后多次编辑了问题。但是下面的问题是第一个问题,第一个答案是一个有用的答案。请不要被一些评论混淆。它们是在我多次更改问题后写的。


我有一个 Shop 模板类和 Cookie 类。Shop 是一个保存名为 cookieShop 的 cookie 的列表。Shop cotr 可以接受一个cookie 作为参数,可以通过Shop 模板类的Add 方法添加更多。

我正在创建两个 cookie。一是通过 shop cotr 添加,二是通过 add 方法。即使我不在 add 方法中编写代码,第二个 cookie 也会添加到购物清单中。我试图理解它为什么这样做,但不能。

这是我的代码:

//商店.h

//Cookie.h

//Cookie.cpp

//main.cpp

如您所见,添加方法中的代码已被注释。它如何添加第二个cookie?

当编译 (gcc main.cpp Cookie.cpp) 并运行它 (./a.out) 时,它会给出以下行:

  1. 巧克力曲奇 50 180
  2. Cake Mix Cookie 60 200 Segmentation fault (core dumped) 为什么我得到 Segmentation fault 错误?

注意:我是 stackoverflow 的新手。如果我有错误的行为。请告诉:)

0 投票
1 回答
300 浏览

c++ - 在我的模板类示例中,出现“分段错误(核心转储)”错误

在我的代码中,我想创建一个 cookie 并将其添加到商店,方法是将 cookie 作为参数发送到 shop 构造函数。它添加了 cookie,但给出了分段错误错误。

我得到结果:

  1. Chocolate Cookie 50 180
    分段错误(核心转储)!

我找不到我错的代码部分。你能帮我吗?

主.cpp:

商店.h:

饼干.h:

Cookie.cpp:

0 投票
1 回答
1550 浏览

c++ - C++ 你能做一个模板类的迭代器吗?

我正在开发一个类项目,为此我们必须创建一个从向量派生的模板类,然后能够从中添加和删除元素。

我想我会创建一个类的迭代器,因为它是一个向量,我认为我应该能够使用“this”并创建迭代器,但“this”是一个指针,所以它不起作用。

如果我尝试这个:vector<T>::iterator p;我得到很多错误,所以我什至可以这样做还是只需要找到不同的解决方案?

0 投票
1 回答
96 浏览

c++ - 专门化一个模板类?

我正在尝试编写一个在没有循环或递归函数调用的情况下输出 1 到 1000 的程序,我想出了这个

问题是,我无法停止链式调用(NumberGenerator<1>仍然尝试调用NumberGenerator<0>并无限下溢)。我怎样才能让链条停在1?

0 投票
1 回答
1534 浏览

c++ - 指向数组的指针的 C++ 模板类动态数组

我正在用 C++ 制作一个模板化的矩阵类。为了创建这个类,我创建了一个指针数组,这些指针指向动态数组。

到目前为止,我有:

我还想创建一些函数来操纵这个结构。我见过很多类似的代码,但我没有看到它是如何创建一个包含指向其他数组的指针的数组。这个概念让我感到困惑,我只想有人向我澄清我应该如何做我想做的事。

我希望类被隔离,并且与输入没有任何关系。它可能会在其他代码中被调用并使用我的函数来创建矩阵结构。创建一个指针数组对我来说并不是令人困惑的部分,它使这些指针指向其他数组,并且指针数组的大小根据有多少输入条目而增加。

0 投票
2 回答
529 浏览

c++ - C++ 使用类模板创建了多个结构

我想创建基本相同但具有不同类型的类型安全结构,因此它们需要不同的函数签名。

如果我起诉班级的模板

如何使函数类型安全并为类型 A 的结构 X 和类型 B 的结构 X 定义不同的函数签名?