为typedef定义的对象添加Stream方法 让我们在C++代码中定义一个自定义类型来处理3D中的向量: typedef tuple<double,double,double> vector3d; typedef元组向量3d;
是否可以添加一个方法,以便我可以使用以下方法快速输出其坐标:为typedef定义的对象添加Stream方法 让我们在C++代码中定义一个自定义类型来处理3D中的向量: typedef tuple<double,double,double> vector3d; typedef元组向量3d;,c++,typedef,C++,Typedef,是否可以添加一个方法,以便我可以使用以下方法快速输出其坐标: vector3d somevector(1,1,1); cout << somevector << "\n"; vector3d-somevector(1,1,1); 对于ostream,不能过载 typedef tuple<double,double,double> vector3d; ostream& operator<<(ostream& os, const v
vector3d somevector(1,1,1);
cout << somevector << "\n";
vector3d-somevector(1,1,1);
对于ostream
,不能过载
typedef tuple<double,double,double> vector3d;
ostream& operator<<(ostream& os, const vector3d& vec)
{
os << '(' <<
std::get<0>(vec) << ',' <<
std::get<1>(vec) << ',' <<
std::get<2>(vec) << ')';
return os;
}
int main(int argc, char *argv[])
{
cout << vector3d(1, 2, 3);
return 0;
}
typedef元组向量3d;
ostream&operator重载ostream
typedef tuple<double,double,double> vector3d;
ostream& operator<<(ostream& os, const vector3d& vec)
{
os << '(' <<
std::get<0>(vec) << ',' <<
std::get<1>(vec) << ',' <<
std::get<2>(vec) << ')';
return os;
}
int main(int argc, char *argv[])
{
cout << vector3d(1, 2, 3);
return 0;
}
typedef元组向量3d;
ostream&operatorIt值得注意的是,该运算符将用于其中包含3个double的所有元组,忽略typedef。值得注意的是,该运算符将用于其中包含3个double的所有元组,忽略typedef