以下是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,()
来允许这样做。 - NathanOliver