【发布时间】:2015-06-13 21:51:55
【问题描述】:
这是 Eigen 文档的一部分:
Matrix3f m;
m << 1, 2, 3,
4, 5, 6,
7, 8, 9;
std::cout << m;
输出:
1 2 3
4 5 6
7 8 9
我不明白上面的操作符
cout << "Just commas: ";
cout << 1, 2, 3, 4, 5;
cout << endl;
cout << "Commas in parentheses: ";
cout << ( 1, 2, 3, 4, 5 );
cout << endl;
可以预见(根据我对 C++ 语法的理解)只有一个值被 operator 捕获
Just commas: 1
Commas in parentheses: 5
因此标题问题。
【问题讨论】:
-
他们很可能已经超载了
operator,()以允许这样做。 -
找到this源代码。
标签: c++ initialization operator-overloading eigen