<分区>
例子:
std::array<float, 3> vec;
我们可以...
vec = {1.1, 1.2, 1.3};
为什么我们不能也做以下比较?
vec == {1.1, 1.2, 1.3}
相反,看来我们必须做...
vec == std::array<float, 3>({1.1, 1.2, 1.3})
...或类似的东西。
Typedef'ing 允许我做类似...
typedef std::array<float, 3> vector;
vec == vector({1.1, 1.2, 1.3})
但是有没有办法只做...?
vec == {1.1, 1.2, 1.3}
我可以重载 operator==
来完成这个吗?编译器似乎应该知道将 {1.1, 1.2, 1.3}
解释为 ==
左侧的任何内容。它为 =
做这件事。为什么不是 ==
?