Когда перегружать оператор запятой? - PullRequest
63 голосов
/ 09 апреля 2011

Я часто вижу вопросы о SO по поводу перегрузки оператора запятой в C ++ (в основном, не связанного с самой перегрузкой, но с такими вещами, как понятие точек последовательности), и это заставляет меня задуматься:

Когда следует перегружать запятую? Каковы некоторые примеры его практического использования?

Я просто не могу вспомнить ни одного примера на макушке, где я видел или нуждался в чем-то вроде

foo, bar;

в реальном коде, поэтому мне любопытно, когда (если вообще когда-либо) это на самом деле используется.

Ответы [ 11 ]

1 голос
/ 20 мая 2014

Вот пример из документации OpenCV (http://docs.opencv.org/modules/core/doc/basic_structures.html#mat). Оператор запятой используется для инициализации cv :: Mat:

// create a 3x3 double-precision identity matrix
Mat M = (Mat_<double>(3,3) << 1, 0, 0, 0, 1, 0, 0, 0, 1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...