[英]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.