小编And*_*eas的帖子

在基类中引用不同大小的std :: array而不是std :: array

我有以下问题.考虑这些课程

class face {
    virtual std::vector<ptr>& get_vertices(void) const = 0;
};

class triangle : public face {
private:
    std::vector<ptr> vertices;
public:
    std::vector<ptr>& get_vertices(void) const { return vertices; };
};

class quadrilateral : public face {
private:
    std::vector<ptr> vertices;
public:
    std::vector<ptr>& get_vertices(void) const { return vertices; };
};
Run Code Online (Sandbox Code Playgroud)

显然,三角形和四边形将始终分别具有3和4个顶点.因此,我想用适当大小的std :: array交换std :: vector,以节省由std :: vector中的三个附加指针引起的开销.(这是因为我将拥有数以百万计的面孔......)现在,是否有机会在std :: array面前拥有一个公共访问函数,就像上面的std :: vector一样?使用标准C数组,我只需返回指向第一个数组条目及其大小的指针.是否有STL方式来做同样的事情或类似的事情?或者还有其他很好的方法来实现这个功能吗?

感谢阅读和可能的回答!! 安德烈亚斯

c++ arrays reference vector

3
推荐指数
1
解决办法
2412
查看次数

标签 统计

arrays ×1

c++ ×1

reference ×1

vector ×1