Я запутался в определении ассоциативности слева направо и справа налево. Я также видел, что они называются левой ассоциативностью и правой ассоциативностью и хотели бы знать, что соответствует.
Я знаю, что он связан с порядком, в котором выполняются операции с одинаковым приоритетом, как в случае, если a = x * y * z означает a = x * (y * z) или = (x * y) * z, Я не знаю, какая из них является ассоциацией слева направо и которая является ассоциативной справа налево.
Я попробовал Google, но все, что мне удалось найти, это таблицы того, что ассоциативность разных операторов в С++. Взгляд на все примеры только что смутил меня.
Что еще меня смущает, так это то, что:
glm::vec4 transformedVector = translationMatrix * rotationMatrix * scaleMatrix * originalVector;
сначала формирует умножение матрицы масштабирования, за которым следует матрица вращения, за которой следует перевод. В этом примере все матрицы имеют тип glm:: mat4, а векторы имеют тип glm:: vec4. Является ли это ассоциацией слева направо или справа налево? Это то же самое, что и нормальное умножение или умножение типов glm?