问题标签 [generic-programming]

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 投票
9 回答
149111 浏览

python - python中的泛型/模板?

python 如何处理泛型/模板类型场景?假设我想创建一个外部文件“BinaryTree.py”并让它处理二叉树,但适用于任何数据类型。

所以我可以将自定义对象的类型传递给它,并拥有该对象的二叉树。这是如何在 python 中完成的?

0 投票
2 回答
1279 浏览

.net - 如何使这个简单的函数在 VB.NET 中通用?

目标实现:

我希望函数接受 List(Of String)、Array & String 并类似地分别返回 List(Of String)、Array & String。该函数只是将一个字符串(月份)添加到输入集合中。我只想将它用于需要考虑转换的字符串、数组和列表。

我有一个简单的功能:

如何使用泛型“T”来实现我的目标?

这真的会为我节省很多压力..!

我是 VB.Net 的新手.. 对泛型函数不太了解!

0 投票
4 回答
9797 浏览

c++ - 部分专用类上的标记调度与静态方法

假设我想编写一个通用函数,如果是 POD 类型void f<T>(),它会做一件事,如果是非 POD(或任何其他任意谓词),它会做另一件事。TT

实现这一点的一种方法是使用标签调度模式,就像标准库对迭代器类别所做的那样:

另一种方法是使用部分专用类型的静态成员函数:

使用一种方法相对于另一种方法的优缺点是什么?你会推荐哪个?

0 投票
2 回答
296 浏览

c++ - 将不同类型的数据存储到向量中?

我正在尝试编写一个通用函数,它将不同数据类型的参数转换并存储到vector<char>. 通过强制转换,我的意思是位表示保留在字符向量中。例如,一个 4 字节的int诸如0x19a4f607将存储在向量中,如vc[0] = 0x19、和。vc[1] = 0xa4vc[2] = 0xf6vc[3] = 0x07

这是我到目前为止所写的,但是我遇到了分段错误。知道如何解决这个问题吗?

0 投票
5 回答
2091 浏览

c# - C# - 将未知类型的函数传递给另一个函数并调用它

在我的程序中,我想获取一个函数作为参数,并从另一个函数中调用它。可以吗?
谢谢你

0 投票
3 回答
1625 浏览

c - 哪种方式更适合在 C 中创建与类型无关的结构?

我正在尝试编写一些通用结构。从本质上讲,我需要的是 C++ 模板,但由于我是用 C 编写的,所以模板不在考虑之列。目前我正在考虑两种方法来实现我想要的。

方法一:使用预处理器。像这样:

一个明显的缺点是您必须在使用类型之前调用宏。可能还有更多的缺点,我希望你能指出。

方法 2:只使用 void-pointers,如下所示:

显然,这种方法不是类型安全的(我可以轻松地将一对字符串传递给需要一对双精度的函数),而且执行释放的代码使用这种方法会变得更加混乱。

我想听听你对此的看法。这两种方法中哪一种更好/更差,为什么?有没有其他方法可以用来在 C 中编写通用结构?

谢谢。

0 投票
7 回答
8946 浏览

c - 如何在 C 中实现泛型宏?

param什么时候char *,派人去func_string

到的时候int,派到func_int

我认为可能有一个解决方案,因为变量类型在编译时是已知的..

0 投票
4 回答
479 浏览

c++ - 当我们已经有了类和接口时,为什么还要构思概念(通用编程)?

同样在programmers.stackexchange.com 上

我知道 STL 概念必须存在,将它们称为“类”或“接口”是愚蠢的,而实际上它们只是记录(人类)概念并且当时无法翻译成 C++ 代码,但是当有机会扩展语言以适应概念时,他们为什么不简单地修改类的功能和/或引入接口?

一个概念不是类似于接口(100% 没有数据的抽象类)吗?通过观察,在我看来,接口只缺乏对公理的支持,但也许公理可以被引入 C++ 的接口中(考虑在 C++ 中假设采用接口来接管概念),不是吗?我认为即使是汽车概念也可以很容易地添加到这样的 C++ 接口中(汽车接口 LessThanComparable,有人吗?)。

一个concept_map 不是和Adapter 模式相似吗?如果所有方法都是内联的,则适配器在编译时间之后基本上不存在;编译器只是用内联版本替换对接口的调用,在运行时直接调用目标对象。

我听说过一种叫做静态面向对象编程的东西,它本质上意味着在通用编程中有效地重用面向对象的概念,从而允许使用 OOP 的大部分功能而不会产生执行开销。为什么没有进一步考虑这个想法?

我希望这足够清楚。如果您认为我不是,我可以重写它;让我知道。

0 投票
1 回答
389 浏览

entity-framework - 实体框架 4.1 插入错误

我为有问题的基本窗口编写了一个通用存储库。更具体地说,有一个名为 Unit 的小 poco 类,如下所示:

它是从基实体类继承的:

这是我的通用存储库类的添加部分:

在添加新记录之前,从 db 中获取最大 id 并将其放置在 IdTextBox 中,然后调用基本形式的 add 方法,该方法调用上述基本存储库的 Add 方法。这是问题所在,我收到此错误,“属性'Id'是对象关键信息的一部分,无法修改。” 还有一个映射器类将每个属性映射到其相应的控件,该控件可以正常工作。我的问题是什么?

提前致谢。

0 投票
5 回答
153 浏览

java - 这个泛型类声明可能意味着什么?

我知道这不是一个好问题,我可能会被诅咒问这个问题,但我找不到任何地方可以在这​​个问题上获得帮助

下面是我的面试问题中出现的一个通用类(我已经失败了)。问题是要说明这个 Class 声明在做什么以及在什么情况下可以使用它?

我对通用编程的理解非常有限,但我知道“T”是类型,而“扩展”在这里意味着类型应该继承了“SimpleGenericClass”,但我不明白“?” 最后以及在什么情况下这个类可能被用于