В следующем примере, почему operator <<
предпочитают использовать для двойного, а не для строки? Это потому, что примитив имеет более высокий приоритет?C++: оператор << неявный приоритет литья
class R {
public:
R(double x) : _x(x) {}
operator string() {cout << "In string operator\n"; return std::to_string(_x);}
operator double() {cout << "In double operator\n"; return _x;}
private:
double _x;
};
int main() {
R r(2.5);
cout << r << endl;
return 0;
}