C++ C++;:重载成员';带关键字运算符的s构造函数

C++ C++;:重载成员';带关键字运算符的s构造函数,c++,operator-overloading,overloading,C++,Operator Overloading,Overloading,在Halide的源代码中,我阅读了这行代码: operator halide_type_t() const { return type; } 在一个名为Type的类的定义中,它包含一个成员Type,该成员是halide\u Type\tstruct 我对操作符重载有点困惑,我应该如何使用新函数halide_type_t()?考虑下面的代码: struct number{ int numerator; int denominator; operator float() {

在Halide的源代码中,我阅读了这行代码:

operator halide_type_t() const { return type; }
在一个名为
Type
的类的定义中,它包含一个成员
Type
,该成员是
halide\u Type\t
struct


我对
操作符
重载有点困惑,我应该如何使用新函数
halide_type_t()

考虑下面的代码:

struct number{
    int numerator;
    int denominator;
    operator float() { return numerator*1.0 / denominator }

}
void main(){
    number n;
    n.numerator = 3;
    n.denominator = 4;
    float value = n; // here the user-defined conversion occurs
    std::cout << value; // 0.75
}
t1.type的值被分配给t。
希望有帮助!:)

参见。它可以像
类型t一样使用;卤化物类型htt=t等。
  Type t1;
  halide_type_t t = t1;