当结构是赋值的右值时,返回结构内变量的值
Returning value of variable inside a struct when the struct is rvalue of an assignment
我有以下代码:
class example {
int x;
inline void operator=(int value) { x = value; }
};
int main() {
example foo { 100 };
int bar = foo;
}
int bar = foo;
显然不起作用,因为我试图将 example
类型的变量分配给 int
.
类型的变量
是否可以在不使用 getter 函数且不使用 operator.
的情况下检索 x
变量 ?如果是这样,是否仍然可以纯粹通过结构内的代码来完成,并保持 int bar = foo;
不变?
添加一个conversion function to allow implicit conversion
struct example {
int x;
inline void operator=(int value) { x = value; }
operator int() const
{
return x;
}
};
int main() {
example foo { 100 };
int bar = foo;
}
我有以下代码:
class example {
int x;
inline void operator=(int value) { x = value; }
};
int main() {
example foo { 100 };
int bar = foo;
}
int bar = foo;
显然不起作用,因为我试图将 example
类型的变量分配给 int
.
是否可以在不使用 getter 函数且不使用 operator.
的情况下检索 x
变量 ?如果是这样,是否仍然可以纯粹通过结构内的代码来完成,并保持 int bar = foo;
不变?
添加一个conversion function to allow implicit conversion
struct example {
int x;
inline void operator=(int value) { x = value; }
operator int() const
{
return x;
}
};
int main() {
example foo { 100 };
int bar = foo;
}