小编Pep*_*Mir的帖子

C++类中的任何泛型类型

在C++中是否有一种方法可以将任何类型*指定为模板的类型,例如通过通配符或某个关键字.

我记得在Java中我们可以使用?通配符,如通用类型 HashMap<Long, ?>.

我尝试使用示例代码更好地解释问题.假设我们有以下Record类:

template<typename T>
class Record
{
    private:
        T content;
        long size;

    public:
        Record(T _content, long _size)
        {
            this->content = _content;
            this->size = _size;
        }

        T getContent()
        {
            return this->content;
        }

        long getSize()
        {
            return this->size;
        }
};
Run Code Online (Sandbox Code Playgroud)

并且假设我们想要使用上面类的实例而不指定确切的类型(我在下面的类中使用了?),因为在计算机类只使用方法的情况下无用Record::getSize():

class Computer
{
    public:
        long long computeTotalSize(vector<Record<?>> recordVector)
        {
            long long totalSize = 0;
            for (vector<Record<?>>::iterator it = recordVector.begin() ; it != recordVector.end(); ++it)
                totalSize += (*it).getSize();

            return totalSize;
        }
};
Run Code Online (Sandbox Code Playgroud)

c++ templates types wildcard

6
推荐指数
2
解决办法
579
查看次数

Eclipse编辑器在向下/向右滚动期间绘制水平/垂直线

当我使用鼠标向下/向右滚动编辑器中的代码时(使用滚轮和单击并滚动,键盘问题不存在),会发生以下情况.

在此输入图像描述

它显然看起来像编辑重绘问题.相反,当我向上/向左滚动时,橙色线条消失.

我已经尝试过在Eclipse Mars模糊处理Lubuntu中的Eclipse Mars Scrolling中提出的解决方案没有成功.

编辑:

没有Eclipse的更新(我有最新版本)

ubuntu-14.04 eclipse-mars

5
推荐指数
0
解决办法
244
查看次数

标签 统计

c++ ×1

eclipse-mars ×1

templates ×1

types ×1

ubuntu-14.04 ×1

wildcard ×1