Size: a a a

2021 June 30

DS

David Suchet in supapro.cxx
Типо конструктор, который принимает объект своего класса?
источник

DS

David Suchet in supapro.cxx
ой
источник

YH

Yevhenii Holovachov in supapro.cxx
Вообще он там не нужен, но мало ли
источник

YH

Yevhenii Holovachov in supapro.cxx
Ну и мув конструктор чтобы точно
источник

t

treg in supapro.cxx
источник

IZ

Ilia Zviagin in supapro.cxx
Чёта полностью говно какое-то...

нафига сначала шаблонный класс, а потом нешаблонный?
источник

YH

Yevhenii Holovachov in supapro.cxx
источник

DS

David Suchet in supapro.cxx
Ошибка происходит в test1, когда я пытаюсь вывести матрицу res. Смотрел по дебагу в Visual Studio, там ptr - указатель на двумерный массив - указывает на что-то непонятное, явно не то, что нужно. Я предполагаю, что ошибка в следующем: когда я вызываю operator-, то там создаю новый объект, который возвращаю по значению. Т.к. я возвращаю по значению, то деструктор же для него вызывается, а значит память по этому указателю очищается. И в итоге в test1 создается объект, в котором указатель на удаленные данные. Тогда остается лишь один вопрос, почему это нормально отрабатывает в других компиляторах
источник

DS

David Suchet in supapro.cxx
а вам не приходила в голову мысль, что это может быть частью программы? а вообще, задание такое, которому мне надо следовать
источник

YH

Yevhenii Holovachov in supapro.cxx
Читай copy elision что скинул
источник

DS

David Suchet in supapro.cxx
Сейчас посмотрю
источник

IZ

Ilia Zviagin in supapro.cxx
Нафига ты не матрицу создаёшь, а массив массивов
(массив указателей на массивы строк (столбцов))

       height = m;
       width = n;
       ptr = new T*[m];
источник

IZ

Ilia Zviagin in supapro.cxx
Бессмыслено задание такое давать... Но ок, это ж не самое плохое...
источник

N2

N 2 in supapro.cxx
Canvas::Canvas(unsigned int width, unsigned int height) 
: width(width), height(height), bitmap([width, height](){
   auto bitmap = SkBitmap();
   bitmap.allocN32Pixels(width, height);
   return bitmap;
}())
а почему это не работает?
источник

IZ

Ilia Zviagin in supapro.cxx
Ну и самое главное — у тебя размерность матрицы не входит в её тип — это неправильно, тебе и операции нельзя формулировать как раз в терминах общей матрицы.
источник

IZ

Ilia Zviagin in supapro.cxx
Что конкретно не работает — напиши...
источник

N2

N 2 in supapro.cxx
точно не знаю что не инициализируется но если вызывать методы канваса - сегфолт, причем если убрать консты и заинициализровать без лямбы то все работает
источник

IZ

Ilia Zviagin in supapro.cxx
Значит ошибка где-то — ищи, отладчиком.
источник

K

Kelbon in supapro.cxx
если ты делаешь сначала шаблонный класс матрицы, а потом решил сделать матрицу 2на2, то логично чтобы матрица 2 на2 не использовала динамическую память(её размер константный), по хорошему чтобы ничего не дублировать и т.д. это делается через шаблоны с некоторыми хитростями, где весь класс "модульный" - буфер, аллокатор, методы работы с буфером и т.д., можно взглянуть на любой класс стандартной библиотеки для примера(контейнеры те же), в твоём случае легче просто скопировать код и не парится, заменив везде динамический буфер на 4 числа.
(или написать 2 матрицы - одну с размером настраиваемым на рантайме, другую с размером задаваемым на компиляции)
источник

d

d7d1cd in supapro.cxx
У меня в std нет forward. В рамках создания своей библиотеки я реализовал свой. Всю свою библиотеку я покрываю тестами. Как мне протестировать свой forward?
источник