繁体   English   中英

访问对象内部的指针

[英]Accessing pointers inside objects

我有一个称为立方体的对象,并且其中有一个顶点向量。 在我的主要DX11项目中,我正在制作D3D11_SUBRESOURCE_DATA以创建顶点缓冲区。 创建子资源时,我需要像这样引用向量:

subresourcedata.pSysMem =&vertices;

但是现在顶点在对象中了,我不确定该怎么做(cube.vertices不一样),该对象是否必须是指针,所以我可以使用->代替。 引用它们还是有一种简单的方法来使用普通对象做我正在做的事情?

谢谢

只需在类中添加访问器,即可将顶点显示为指针。 因此,假设您具有Vertex结构,则类似于:

class CMyCube
{
    // ... blah blah

public:
    const Vertex* GetVertices() const { return &m_pVertices[0]; }

    // ... blah blah

private:
    std::vector<Vertex> m_pVertices;
};

然后,您可以执行以下操作:

pSubResource.pSysMem = pSomeCubeInstance.GetVertices();

您可以重载&运算符。

class cube
{
public:
    vertices* operator&() const { return &_vertices[0]; }

    std::vector<vertices> _vertices;
};

然后,您可以执行以下操作:

立方体c;

subresourcedata.pSysMem =&c;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM