Ned
тогда не вижу смысла, это не сэкономит ничего
Ned
а хз, "лепи конст везде где не вредит"
🦥Alex Fails
Rafael 🌵
ксттаи inline вроде деприкатед
🦥Alex Fails
тогда не вижу смысла, это не сэкономит ничего
если тип составной, то const T getElem(const int x, const int y) const; Вызовет T::T(const &T)
Dumitru
Потому что метод крнст
const T f() const; В чем смысл первого конст?
Rafael 🌵
мне ребята из яндекса говорили, что ее нужно юзать ну в оочень крайних случаях
Rafael 🌵
типо компилятор и так норм это обтрабатывает
🦥Alex Fails
const T f() const; В чем смысл первого конст?
Вернуть неизменяемое знвчение
Dumitru
Вернуть неизменяемое знвчение
T a = f(); То есть я не смогу поменять а ?
Rafael 🌵
не все ж
поэтому только в крайних случаях
Rafael 🌵
и только после профайлинга
Ned
хотя мб ты и прав
Rafael 🌵
Matrix<T>::Matrix(const int _rows, const int _cols): rows(_rows), cols(_cols){ _name должно юзаться чтобы показать что это внутренняя переменная
Rafael 🌵
а ты пихаешь это как параметры
🦥Alex Fails
это стиль кода
🦥Alex Fails
Похер
🦥Alex Fails
Тут есть замечания посерьещнее
Dumitru
Сможешь
Ну тогда в чем его смысл? В каком случае я не смогу поменять возвращаемое значение ?
🦥Alex Fails
вперёд!
Я не дочитал пока до конца. Но
Rafael 🌵
а тут какбе показывается, что она в местной области видимости
ты используешь список инициализации, где и инициализируешь внутренние перменные
🦥Alex Fails
Я не дочитал пока до конца. Но
Не надо инт использоввть. size_t для индексов
Rafael 🌵
меня за такое бы санными трпками в универе побили
Ned
Не надо инт использоввть. size_t для индексов
вооот, давно хотел отрефакторить, но забыл
Ned
меня за такое бы санными трпками в универе побили
что ты понимаешь под внутренними переменными? которые приват?
Dumitru
ты используешь список инициализации, где и инициализируешь внутренние перменные
А можно по подробнее? Разве не надо использовать список для инициализации?
Ned
может ты и прав, и так даже симпатичнее
🦥Alex Fails
вооот, давно хотел отрефакторить, но забыл
Я те pr пришлю, как закончится праздник
Rafael 🌵
(T)0 вот такое тоже не оч хорошо использовать, во первых оно медленное, а во вторых плохо читается
Rafael 🌵
не надо так называть параметры
🦥Alex Fails
список надо юзать
Через двоеточие?
Rafael 🌵
а что? статик каст?
там есть 4 типо преобразования я не помню
🦥Alex Fails
а что? статик каст?
Главное что не реинтерпрет
Ned
ок, уловил
🦥Alex Fails
Ned
ну другие три - в другую степь
Ned
тут явное приведение
Ned
в С стиле даж
Rafael 🌵
в С стиле даж
оно не читаемо
Dumitru
в С стиле даж
Не по канону :)
Ned
да понял я, починю, спасибо)
Rafael 🌵
я секунд 30 тупил, что ты там делаешь
Ned
азазаза
🦥Alex Fails
Норм
🦥Alex Fails
Это не критично тут
Ned
я пока сижу и баглист пишу по вашим словам)
Rafael 🌵
он хочет чтобы я названия сменил
тем более что ты геттеры и сетеры используешь
Dumitru
тем более что ты геттеры и сетеры используешь
А с ними что не так ? Хотяб геттеры же норм
Ned
тем более что ты геттеры и сетеры используешь
то есть, как я понял data -> _data, cols -> _cols, rows -> _rows?
Rafael 🌵
А с ними что не так ? Хотяб геттеры же норм
я про названия внутренних переменных rows и cols
Ned
да
а разве такое будет вообще читаемо? data[x*_cols + y] = elem;
Rafael 🌵
просто надо пробелу вокруг арфиметических действий ставить
Ned
_cols*_rows
Rafael 🌵
_cols * _rows
Ned
мне прост нра чисто эстетически, хз
Ned
окей
Dumitru
ставлю у +- пишу слитно */
Прикольная идея
Rafael 🌵
с звездочной не всегда понятно
Rafael 🌵
это может быть разименовывание
Rafael 🌵
но это как по мне
Ned
Прикольная идея
всё как в математике ab + c a*b + c
Anonymous
cols_, rows_, prow_ - тогда уже.
Rafael 🌵
Rafael 🌵
я где-то читал что именно перед нужно ставить
Ned
prow?