C++强化补补

  • Post author:
  • Post category:其他


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 版权协议,转载请附上原文出处链接和本声明。