舞秋风丶
2017-02-15 09:59
采纳率: 83.3%
浏览 3.7k
已采纳

结构体内有指针,怎么把结构体push_back到容器内

有这么一个结构体

typedef struct imageBufferStruct {
    char *data_im;
    float *data_depth;
}imageBuffer;

定义一个结构体并给指针申请空间

imageBuffer *buffer;
buffer = new imageBuffer();
buffer->data_im = new char[1024*1024];
buffer->data_depth = new float[1024*1024];

我想把buffer放到容器内

vector<imageBuffer> vec;
vec.push_back(buffer); //这是好像内存是有问题

请问结构体内有指针的容器怎么push_back类似的例子
谢谢大神给个链接例子

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 仅仅学会简单 2017-02-15 10:19
    已采纳

    vec.push_back(*buffer);
    你vector类型是imageBuffer,imageBuffer *buffer是指针,解引用成对象就可以了 *buffer

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • Xefvan 2017-02-15 14:40

    存对象,还不如存指针

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题