【发布时间】:2021-08-28 17:21:41
【问题描述】:
在 C# 中考虑这个例子:
class C<T> {
void greetMe() { print("Hello you"); }
}
class D : C<E> {
void useE(E e) {
e.greetMe();
}
}
class E : C<D> {
void useD(D d) {
d.greetMe();
}
}
在 C++ 中是否可以使用模板进行等效构造?
我没有任何有用的 C++ 代码可以展示,因为我对此的兴趣纯粹是学术性的。您可以将此代码视为伪代码。
出于好奇:我正在研究急切语言处理循环引用的限制,而不是惰性语言。我记得在 C# 的类型系统中可能会发生这样的事情,我试图将其视为一种静态检查的惰性语言。我记得 C++ 的模板正好相反(但还是有点功能性?),我认为这可能是一项有趣的研究。
感谢您的宝贵时间!
【问题讨论】:
-
我正处于添加 C# 标签的边缘。您可能想解释一下 C# 代码的作用,否则许多 C++ 程序员将无法为您提供帮助。