现在有这样一个问题:首先要用
float *tmp_data;
获取数据的地址。然后要传递给
std::vector<float> data;
假设tmp_dta已经获取成功,现在如何把它的值传递给data?能否讲一下背后指针,地址的传递过程,刚学c++不是很清楚,谢谢!
业精于勤,荒于嬉;行成于思,毁于随。
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_)
总结:& 从一个数据获取其地址
从一个地址获取其数据
data.push_back(*tmp_data);
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_)
总结:
& 从一个数据获取其地址
从一个地址获取其数据
data.push_back(*tmp_data);