Size: a a a

2021 February 19

CK

Charlotte Karlos in supapro.cxx
Ilia Zviagin
Начиная с чего?
Я сохраняю нулевой элемент в temp переменную. Начинаю бежать по массиву с первого элемента. В теле цикла я приравниваю элемент по индексу j к элементу с индексом j - 1 (то есть элемент по индексу 1 к 0-му элементу; элемент с индексом 2 к элементу с индексом 1; и тд). После чего я приравниваю temp переменную к последнему элементу массива.
источник

IZ

Ilia Zviagin in supapro.cxx
Charlotte Karlos
Просто реализую свой метод
А что с 1 работает - это ложные сведения
источник

CK

Charlotte Karlos in supapro.cxx
Ilia Zviagin
А что с 1 работает - это ложные сведения
В смысле?
источник

IZ

Ilia Zviagin in supapro.cxx
Charlotte Karlos
В смысле?
Я уверен что ты заблуждаешься
источник

CK

Charlotte Karlos in supapro.cxx
Ilia Zviagin
Я уверен что ты заблуждаешься
ммм
источник

CK

Charlotte Karlos in supapro.cxx
Ну, господ, ведь алгоритм работает прекрасно, проверял тысячу раз. Он ломается, когда я вызываю перегрузку
источник

Q

Queen in supapro.cxx
Аргумент по умолчанию
источник

CK

Charlotte Karlos in supapro.cxx
Queen
Аргумент по умолчанию
Королъева, я понимаю. Но мне интересна проблема, i want to solve it!!!
источник

CK

Charlotte Karlos in supapro.cxx
Ведь баг ломает мне мозг.. Я вызываю перегрузку, она вызывает базовый метод (при том базовый метод работает отлично). ВСЁ
источник

АК

Александр Караев... in supapro.cxx
Charlotte Karlos
Королъева, я понимаю. Но мне интересна проблема, i want to solve it!!!
я уверен, что тесты неправильные.
backward() должен и будет вести себя также, как backward(1), если внутри него это написано
источник

D

Danya in supapro.cxx
Charlotte Karlos
У меня есть метод backward, задача которого - смещение массива влево/назад. Он принимает один аргумент типа int в качестве смещения (на 1, 2, 3 или другое количество элементов). Так же, я добавил для него перегрузку, которая не принимает никаких параметров и просто делает backward(1), то есть просто для удобства. Но, когда я вызываю метод backward(), происходит нечто, что ломает работу программы. В то время, как вызов backward(1) не приносит никаких проблем. Почему? Ведь перегрузка не делает ничего, кроме как вызывает основной метод.

template <typename T>
void row<T>::backward(int iOffset)
{
 for (int i = 0; i < iOffset; ++i)
 {
   T temp = this -> arr[0];
   for (int j = 1; j < this -> iLen; ++j)
     this -> arr[j - 1] = this -> arr[j];
   this -> arr[this -> iLen - 1] = temp;
 }
}

template <typename T>
void row<T>::backward()
{
 this -> backward(1);
}
Ох уж эти любители this-> без причины
источник

АК

Александр Караев... in supapro.cxx
Александр Караев
я уверен, что тесты неправильные.
backward() должен и будет вести себя также, как backward(1), если внутри него это написано
исключения:
1. где-то UB - тогда может быть что угодно
2. где-то виртуальные функции замешаны
источник

CK

Charlotte Karlos in supapro.cxx
Александр Караев
исключения:
1. где-то UB - тогда может быть что угодно
2. где-то виртуальные функции замешаны
я думаю УБ, ведь ничто не предвещает проблем, ни в реализации, ни в проверке работоспособности базового метода
источник

CK

Charlotte Karlos in supapro.cxx
Danya
Ох уж эти любители this-> без причины
ахах)
источник

АК

Александр Караев... in supapro.cxx
Charlotte Karlos
я думаю УБ, ведь ничто не предвещает проблем, ни в реализации, ни в проверке работоспособности базового метода
возможно где-то аллоцируется массив на стеке и возвращается ссылка на него
источник

CK

Charlotte Karlos in supapro.cxx
Мне нравится отмечать методы класса this-ом, это сразу даёт знать, что метод или свойство относится к этому классу)
источник

CD

Constantine Drozdov in supapro.cxx
Charlotte Karlos
Просто реализую свой метод
Можно было посмотреть как он это делает
источник

CK

Charlotte Karlos in supapro.cxx
Александр Караев
возможно где-то аллоцируется массив на стеке и возвращается ссылка на него
кхм, я не в курсе понятия "аллокация" (
источник

АК

Александр Караев... in supapro.cxx
Charlotte Karlos
кхм, я не в курсе понятия "аллокация" (
покажи, как ты свой массив создаёшь
источник

CK

Charlotte Karlos in supapro.cxx
Constantine Drozdov
Можно было посмотреть как он это делает
Ну, мне алгоритм и так понятен, он довольно прост
источник