从C+转换时使用C#泛型+;程序 我把一个旧的C++程序转换成C语言。在C++程序中有这样的函数: bool Checkpoints(string inputImageFilename, vector<Point> basePoints)

从C+转换时使用C#泛型+;程序 我把一个旧的C++程序转换成C语言。在C++程序中有这样的函数: bool Checkpoints(string inputImageFilename, vector<Point> basePoints),c#,c++,generics,C#,C++,Generics,矢量来自STL。 我知道C#泛型有点像模板,但我以前从未使用过泛型 我还读到C#很快就会得到一个通用向量类,但同时列表有点像向量,所以我可以使用这个系统。绘制点结构并制作一个通用列表,这样我就可以编写这样的代码了 bool Checkpoints(string inputImageFilename, MyGenericList<Point> basePoints) bool检查点(字符串inputImageFilename,MyGenericList基点) ……如果是,我可以用C

矢量来自STL。 我知道C#泛型有点像模板,但我以前从未使用过泛型

我还读到C#很快就会得到一个通用向量类,但同时列表有点像向量,所以我可以使用这个系统。绘制点结构并制作一个通用列表,这样我就可以编写这样的代码了

bool Checkpoints(string inputImageFilename, MyGenericList<Point> basePoints)
bool检查点(字符串inputImageFilename,MyGenericList基点)

……如果是,我可以用C++语法中的数组语法访问它,或者我必须使用一个数组来表示它?

< p>使用<代码>列表< /> >或者至少使用<代码> IIST< /Cord>。它们都定义了索引器

您可以只接受IList,甚至可以使用开箱即用的数组

bool Checkpoints(string inputImageFilename, IList<Point> basePoints)
bool检查点(字符串inputImageFilename,IList基点)
使用
列表
或至少实现
IList
,如果您使用自己的。它们都定义了索引器

您可以只接受IList,甚至可以使用开箱即用的数组

bool Checkpoints(string inputImageFilename, IList<Point> basePoints)
bool检查点(字符串inputImageFilename,IList基点)
我还读到,C#很快就会得到一个通用向量类,但在 同时,列表有点像向量,所以我可以使用 系统。绘制点结构,并制作一个通用列表,以便 像这样的代码

你可以用

bool Checkpoints(string inputImageFilename, List<Point> basePoints)
bool检查点(字符串inputImageFilename,列出基点)
实际上,您可以使用类似的say[]语法访问成员。请确保C++中的点类与C++中使用的那个类类似。p> 您还可以记住,在C#术语中,列表对象将是引用类型,而向量(在C++中使用)是值类型

我还读到,C#很快就会得到一个通用向量类,但在 同时,列表有点像向量,所以我可以使用 系统。绘制点结构,并制作一个通用列表,以便 像这样的代码

你可以用

bool Checkpoints(string inputImageFilename, List<Point> basePoints)
bool检查点(字符串inputImageFilename,列出基点)
实际上,您可以使用类似的say[]语法访问成员。请确保C++中的点类与C++中使用的那个类类似。p>
您还可以记住,在C#术语中,列表对象将是引用类型,而向量(在C++中使用)是值类型。

“向量来自STL”它不是上世纪90年代的STL!同时我们有C++标准库…我说它是旧的。我仍然不相信你真的是指这里提到的具体实现。这是一个经常被误用的术语。“C#很快就会得到一个通用的向量类”-->哦,已经有了,但它的意思完全不同。它用于SIMD<代码>列表直接等同于
标准::向量
“向量来自STL”它不是上世纪90年代的STL!同时我们有C++标准库…我说它是旧的。我仍然不相信你真的是指这里提到的具体实现。这是一个经常被误用的术语。“C#很快就会得到一个通用的向量类”-->哦,已经有了,但它的意思完全不同。它用于SIMD<代码>列表直接等同于
std::vector