我的班级
class Product
{
...
};
class Perishable : public : Product
{
public:
int getday();
};
我想同时包含易腐烂和产品对象的集合,并希望通过链表的方式做到这一点。
通常,对于链表,我们有这样的东西
class linkedlist
{
struct List
{
int item;
ListNode* next;
}
//.... all the functio
这是我在这里的第一个问题,很高兴找到这个网站。
我的问题涉及到Delphi2009中的新泛型特性。基本上,我尝试为现有的散列映射实现编写一个通用包装器类。现有的实现存储(字符串,指针)对,因此在包装器类中,我必须在泛型参数类型T和指针类型之间进行转换,反之亦然。
type THashMap <T : class> = class
private
FHashList : THashList;
...
end;
我想了一个这样的造型(Value : T)
Value := (TObject (Ptr)) as T
但这不管用。编译器告诉我“运算符不适用于此操作数类型”。
我注意到,与C++不同的是,在C#中,您可以组合使用虚拟方法和泛型方法。例如:
using System.Diagnostics;
class Base {
public virtual void Concrete() {Debug.WriteLine("base concrete");}
public virtual void Generic<T>() {Debug.WriteLine("base generic");}
}
class Derived : Base {
public override void Conc
我正在尝试创建一个泛型节点类,该类可以存储对其他泛型节点的引用,这些节点可以具有不同的数据类型。
template < class T >
class BiTreeNode {
T d;
BiTreeNode *parent; //Trying to store a node of different type here
public:
BiTreeNode(void);
BiTreeNode(T);
void setData(T);
T * getData(void);
void setParent(BiTreeNode *
假设我们有一个n个变量的函数
y = f (x1, ..., xn)
这样一个函数,我想通过作为一个论点。
在Matlab中,使用句柄的结构如下:
function y=func(x)
y = sin(x(0)) * cos(x(1)) //Any definition, not important
p_func=@func; //Define handle
可以将句柄用作另一个函数的参数:
y = function2(p_func, n);
其中n表示一个维度..。
如何使用C++重写这段代码?我们使用一个带有函数模板的简单模型。
temmplate <typename T>
我有以下函数签名
int foo(void **)
我试图给它一个指向char指针的指针,即char **。我的编译器正在抱怨下面的警告
argument of type "char **" is incompatible with parameter of type "void **"
这是意料之中的吗?我知道将一个char *传递给一个期望一个void *的函数不需要显式的强制转换,但是对于指向指针的指针来说是这样吗?
注意:这是一个明确的C问题。如果不同的C版本对此有不同的看法,我会感兴趣的。
我有一个关于void*和void**的问题,我知道这是一个古老的问题,以前在stackoverflow中已经(有点)被问过了。所以问题是这样的:
当我在ubuntu 10.10下用gcc 4.4.3编译这段代码时,我得到了以下警告:
zz.c: In function ‘main’:
zz.c:21: warning: passing argument 1 of ‘bar’ from incompatible pointer type
zz.c:9: note: expected ‘void **’ but argument is of type ‘float **’
为什么可以将变量x作为f
当我写一些处理反射的辅助函数时,我正在思考这个问题。除了classes、structs、enums和interfaces之外,C#还有别的什么吗?如果我编写一个检查class、struct、enum和interface的函数,那会是全能函数吗?
我看到delegate是类,不管怎么说,和。
帮我把我对这种等级制度的想法完美化:
reference type value type
| |
--------------- -----
假设您有一个类,它的工作是连接到远程服务器。我想抽象这个类以提供两个版本,一个通过UDP连接,另一个通过TCP连接。我想构建尽可能精简的运行时代码,而不是使用多态性,我正在考虑模板。下面是我的设想,但我不确定这是不是最好的方式:
class udp {};
class tcp {};
template<class T,typename X>
class service
{
private:
// Make this private so this non specialized version can't be used
service();
};
templ
我正在努力使我的graphQL突变成为通用的。但在运行时,我会得到一个错误。
错误是:对象引用未设置为对象的实例。
public class ApplicationMutation<T> : ObjectGraphType where T: BaseModel
{
public ApplicationMutation()
{
this.Name = "RootMutation";
var nameofT = typeof(T).GetElementType().Name;
this.Field<
我有一个定义如下的类:
public class Test {
static <T> List<Class<T>> filter(List<Class<T>> input) {
// code here
}
public static void main(String[] args) {
List<Class<? extends Throwable>> list =
new ArrayList<Class<? exte
我试图清理现有的代码库,并且在使用抽象类的不同派生类的泛型引用名称时遇到了困难。
例如:
public abstract class Base<T> : Utilities.CommonRequiredObject
{
protected List<T> RawContents = new List<T>();
.
.
public abstract void LoadContents(List<T> Contents); // Each Class needs to load and proces
这是从编译器内部角度提出的问题。
我对泛型感兴趣,而不是模板(C++),所以我用C#标记了这个问题。而不是Java,因为AFAIK两种语言中的泛型在实现上有所不同。
当我查看语言w/o泛型时,它非常简单,您可以验证类定义,将其添加到层次结构中,仅此而已。
但是如何处理泛型类,更重要的是如何处理对它的引用呢?如何确保每个实例化的静态字段都是单数(即每次解决泛型参数时)。
假设我看到一个电话:
var x = new Foo<Bar>();
我是否向层次结构中添加了新的Foo_Bar类?
更新:到目前为止,我只发现了两篇相关的文章,然而,即使它们在“如何自己做”的意义上也没有太多的细节
无论指针指向什么数据类型,指针的大小都是相同的,为什么我们需要声明它所指向的数据类型?
例如,
int *p; //p will point to an integer data type.
char *p; //p will point to a character
那么,为什么我们不能这样概括指针声明呢?
pointer p; //where p is an object of pointer class.
考虑到C#中的以下内容:
public Complex SomeMethodName<ISomething>(int x, int y, ....)
我们可以将每一部分描述如下:
public : accessor specifier
Complex : the resut of the function
SomeMethodName : Method Name
<ISomething> : ???
(int x, int y, ....) : parameter list
我的问题是<ISomething>部件的名称是什么?
PS :我知道尖括号的名字,