小编Sug*_*gar的帖子

C++中的自定义迭代器

我有一个类TContainer,它是指向TItems类的几个stl集合指针的集合.

我需要创建一个迭代器来遍历我的TContainer类中所有集合中的元素,从而抽象出内部工作的客户端.

这样做有什么好办法?我应该创建一个扩展迭代器的类(如果是这样,我应该扩展什么迭代器类),我应该创建一个迭代器类,它是迭代器的集合吗?

我只需要一个FORWARD_ONLY迭代器.

IE,如果这是我的容器:

typedef std::vector <TItem*> ItemVector;
class TContainer {
   std::vector <ItemVector *> m_Items;
};
Run Code Online (Sandbox Code Playgroud)

遍历m_Items成员变量向量中包含的所有项的好迭代器是什么.

c++ iterator stl

29
推荐指数
4
解决办法
4万
查看次数

C#使用泛型和接口实现

上下文:.NET 4.0,C#

我正在创建一组接口和一组实现它们以提供某些服务的clases.客户端使用具体的clases,但调用使用interfaces作为参数类型声明的方法.

一个简化的例子就是这个:

namespace TestGenerics
{
    // Interface, of fields
    interface IField
    {
    }

    // Interface: Forms (contains fields)
    interface IForm<T> where T : IField
    {

    }

    // CONCRETE CLASES
    class Field : IField
    {   
    }

    class Form <T> : IForm<T> where T : IField
    {
    }

    // TEST PROGRAM
    class Program
    {
        // THIS IS THE SIGNATURE OF THE METHOD I WANT TO CALL
        // parameters are causing the error.
        public static void TestMethod(IForm<IField> form)
        {
            int i …
Run Code Online (Sandbox Code Playgroud)

.net c# generics

8
推荐指数
3
解决办法
1502
查看次数

标签 统计

.net ×1

c# ×1

c++ ×1

generics ×1

iterator ×1

stl ×1