qq_35502317
舞秋风丶
采纳率83.3%
2017-02-15 09:59

结构体内有指针,怎么把结构体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条回答

  • u011261430 仅仅学会简单 4年前

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

    点赞 1 评论 复制链接分享
  • tutuxs Xefvan 4年前

    存对象,还不如存指针

    点赞 1 评论 复制链接分享