C++强化补补:
一、
reinterpret_cast<float*>(input_channels->at(0).data)
== net_->input_blobs()[0]->cpu_data()
reinterpret_cast <new_type> (expression)
reinterpret_cast运算符是用来处理无关类型之间的转换;它会产生一个新的值,这个值会有与原始参数(expressoin)有完全相同的比特位。
例:int *n= new int ;
double *d=reinterpret_cast<double*> (n);
在进行计算以后, d 包含无用值. 这是因为 reinterpret_cast 仅仅是复制 n 的比特位到 d, 没有进行必要的分析。
inline const vector<Blob<Dtype>*>& input_blobs() const {
return net_input_blobs_;
}
vector<Blob<Dtype>*> net_input_blobs_;
template <typename Dtype>
const Dtype* Blob<Dtype>::cpu_data() const {
CHECK(data_);
return (const Dtype*)data_->cpu_data();
}
版权声明:本文为forest_world原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。