- Быстро до
Так что, прежде чем кто-то скажет, что на этот вопрос ответили в другом посте, он не ... Это был домашний вопрос в другом посте, а на первоначальный вопрос никогда не отвечали, только сказалиони были не правы.
- Вопрос
Я пытаюсь перегрузить оператор >>, чтобы иметь возможность передавать n-число переменных, разделенных запятыми, в объект, подобный так ...
Mat M = (Mat_<double>(3,3) << 1, 0, 0, 0, 1, 0, 0, 0, 1);
Я пытаюсь повторно использовать список аргументов, разделенных запятыми, но, похоже, не могу заставить его работать.
Когда я перегружаю оператор << примерно так </p>
void operator<< (const double& is)
{
std::cout << "hiya " << is << std::endl;
}
и попытаться использовать его следующим образом:
mat << 1.0, 2.0;
оператору передается только первое значение ... Второе значение никогда не используется, так как я считаю, что <<
имеет более высокий рейтинг, чем ,
Так что мой вопрос в том, что они делают в библиотеках, таких как eigen и openCV, чтобы иметь такую функциональность.Я просмотрел их код, чтобы попытаться понять его, но, похоже, требуется более глубокое понимание того, как работает C ++, которого у меня нет, и я надеялся, что кто-то здесь сможет пролить на него свет.
Спасибо взаранее за любой совет.