찾다

 >  Q&A  >  본문

c++ - 如何把指针获取的数值传递给容器?

现在有这样一个问题:首先要用

float *tmp_data;

获取数据的地址。
然后要传递给

std::vector<float> data;

假设tmp_dta已经获取成功,现在如何把它的值传递给data?
能否讲一下背后指针,地址的传递过程,刚学c++不是很清楚,谢谢!

迷茫迷茫2774일 전434

모든 응답(2)나는 대답할 것이다

  • 大家讲道理

    大家讲道理2017-04-17 13:44:06

    float temp = 10;//这个是已经在栈上分配了内存的数据
    std::vector<float> data;//定义了一个盛放float数据内省的vector

    float* tmp_data = &temp;//使用&操作符获取temp的地址

    data.push_back(temp_data);//使用反过来从地址获取数据,
    //*temp_data会产生一个临时变量,比如叫data_,类型是float
    //data.push_back(*temp_data)会变成data.push_back(data_)

    总结:
    & 从一个数据获取其地址

    • 从一个地址获取其数据

    회신하다
    0
  • 巴扎黑

    巴扎黑2017-04-17 13:44:06

    data.push_back(*tmp_data);

    회신하다
    0
  • 취소회신하다