Войти
ПрограммированиеФорумГрафика

Сравнение std::vector<SomePOD> (2 стр)

Страницы: 1 2
#15
3:20, 30 окт. 2018

https://stackoverflow.com/questions/5195512/namespaces-and-operator-resolution

#16
7:21, 30 окт. 2018

Panzerschrek[CN]
> оператор должен быть определён в одном из классов аргументов.
А умножение вектора на матрицу где правильнее определить: в классе вектора или матрицы?

#17
8:17, 30 окт. 2018

mahrizh
> А что если есть два чужих класса (например Vector2 и Size2) которые разработчик
> жутко хочет складывать и вычитать, но в чужой либе это не предусмотрено?
А) изменить самому библиотеку и работать с изменённой версией
Б) изменить библиотеку и отправить pull request автору
В) выкинуть эту библиотеку, т. к. она такое говно, что такой элементарщины в ней нету
Г) умерить аппетиты, может и не нужны тебе такие операторы

Adler
> #include "Vector2.h" Vector2.source_code+="Vector2
> operator+(Vector2&ref){/*...*/}";
Ну говнище же. Тем более в Ü так нельзя.

Wraith
> А умножение вектора на матрицу где правильнее определить: в классе вектора или
> матрицы?
Как пожелаешь.

#18
8:27, 30 окт. 2018
glm::vec2 v0, v1;
glm::vec2 res0 = v0 glm::+ v1
glm::vec2 res1 = v0 my::+ v1;
#19
8:36, 30 окт. 2018

Wraith
> > оператор должен быть определён в одном из классов аргументов.
> А умножение вектора на матрицу где правильнее определить: в классе вектора или
> матрицы?

friends?

#20
9:20, 30 окт. 2018

Panzerschrek[CN]
> А) изменить самому библиотеку и работать с изменённой версией
> Б) изменить библиотеку и отправить pull request автору
> В) выкинуть эту библиотеку, т. к. она такое говно, что такой элементарщины в
> ней нету
> Г) умерить аппетиты, может и не нужны тебе такие операторы
Выберу Д) Использовать более гибки ЯП.

#21
20:22, 30 окт. 2018

Suslik
Так есть уже:

glm::vec2 v0, v1;
glm::vec2 res0 = glm::operator+(v0, v1);
glm::vec2 res1 = my::operator+(v0, v1);
Страницы: 1 2
ПрограммированиеФорумГрафика