C++ 访问对象内部的指针

C++ 访问对象内部的指针,c++,pointers,C++,Pointers,我有一个叫做立方体的物体,里面有一个顶点向量。在我的主要DX11项目中,我正在制作D3D11_子资源_数据,以便创建顶点缓冲区。创建子资源时,我需要引用向量,如下所示: subresourcedata.psysem=&顶点 但是现在顶点在一个对象中,我不知道该怎么做(cube.vertices不一样),对象是否必须是指针,这样我才能使用->而不是。引用它们,或者是否有一种简单的方法来使用普通对象执行我正在执行的操作 谢谢只需向类中添加一个访问器,即可将顶点作为指针公开。假设你有一个顶点结构,比如

我有一个叫做立方体的物体,里面有一个顶点向量。在我的主要DX11项目中,我正在制作D3D11_子资源_数据,以便创建顶点缓冲区。创建子资源时,我需要引用向量,如下所示:

subresourcedata.psysem=&顶点

但是现在顶点在一个对象中,我不知道该怎么做(cube.vertices不一样),对象是否必须是指针,这样我才能使用->而不是。引用它们,或者是否有一种简单的方法来使用普通对象执行我正在执行的操作


谢谢

只需向类中添加一个访问器,即可将顶点作为指针公开。假设你有一个
顶点
结构,比如:

class CMyCube
{
    // ... blah blah

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

    // ... blah blah

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

只需向类中添加一个访问器,即可将顶点作为指针公开。假设你有一个
顶点
结构,比如:

class CMyCube
{
    // ... blah blah

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

    // ... blah blah

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

只需向类中添加一个访问器,即可将顶点作为指针公开。假设你有一个
顶点
结构,比如:

class CMyCube
{
    // ... blah blah

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

    // ... blah blah

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

只需向类中添加一个访问器,即可将顶点作为指针公开。假设你有一个
顶点
结构,比如:

class CMyCube
{
    // ... blah blah

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

    // ... blah blah

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

您可能会使&operator过载

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

    std::vector<vertices> _vertices;
};
类多维数据集
{
公众:
顶点*操作符&()常量{返回&_顶点[0];}
std::向量_顶点;
};
然后你可以这样做:

立方体c


subresourcedata.psysem=&c

您可能会使&operator过载

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

    std::vector<vertices> _vertices;
};
类多维数据集
{
公众:
顶点*操作符&()常量{返回&_顶点[0];}
std::向量_顶点;
};
然后你可以这样做:

立方体c


subresourcedata.psysem=&c

您可能会使&operator过载

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

    std::vector<vertices> _vertices;
};
类多维数据集
{
公众:
顶点*操作符&()常量{返回&_顶点[0];}
std::向量_顶点;
};
然后你可以这样做:

立方体c


subresourcedata.psysem=&c

您可能会使&operator过载

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

    std::vector<vertices> _vertices;
};
类多维数据集
{
公众:
顶点*操作符&()常量{返回&_顶点[0];}
std::向量_顶点;
};
然后你可以这样做:

立方体c


subresourcedata.psysem=&c

您应该发布一小段代码以简洁地说明您的问题。您应该发布一小段代码以简洁地说明您的问题。您应该发布一小段代码以简洁地说明您的问题。您应该发布一小段代码以简洁地说明您的问题。