Когсуэлл Джефф
Шрифт:
Часто стандартные последовательности инициализируются путем вызова несколько раз функции-члена
Возможно, вы и не знали, что запятая является оператором, который можно переопределять. Здесь вы не одиноки — этот факт не является общеизвестным. Оператор запятой было разрешено перегружать почти только ради решения этой задачи.
В решении используется вспомогательная функция
Такое решение требует, чтобы я определил отдельную вспомогательную функцию из-за особенностей восприятия компилятором оператора
Оператор запятой (comma operator), называемый также оператором последовательности (sequencing operator), по умолчанию рассматривает выражения слева направо, и в результате получается значение и тип самого правого значения. Однако при перегрузке
Пример 15.7. Применение перегруженного оператора запятой, когда порядок вычисления аргументов не определен
В правильном варианте функции