tensorflow源码 结构体 当成 public 类

今天读到这几行代码,把我弄的晕了,后来才想明白。

c_api_internal.h (tensorflow-master\tensorflow\c\eager)

typedef struct TFE_TensorHandle TFE_TensorHandle;//初看此行代码时,我一愣,把自己重命名成自己,这代码多余;

//再细想,不多余,以后用到这个结构体,可以少一个struct了。


struct TFE_TensorHandle {
  TFE_TensorHandle(const tensorflow::Tensor& t, tensorflow::Device* d,
                   tensorflow::Device* op_device)
      : handle(new tensorflow::TensorHandle(t, d, op_device, nullptr)) {}

  TFE_TensorHandle(tensorflow::TensorHandle* handle) : handle(handle) {}

  tensorflow::TensorHandle* handle;

  // Create a symbolic tensor.
  TFE_TensorHandle(TF_Output t, TF_DataType dtype)
      : handle(new tensorflow::TensorHandle(
            tensorflow::OutputGraphNode{t.oper, t.index},
            static_cast<tensorflow::DataType>(dtype))) {}
};

看到4个TFE_TensorHandle ,瞬间晕了,这是啥,此时脑袋不清醒?后来细想,大括号内的TFE_TensorHandle 是构造函数啊。把结构体当成类就顺当多了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值