170 похожих чатов

Https://Pastebin.Com/8BXzn0Tq data в конструкторе и деструкторе это должен быть один

и тот же указатель?

31 ответов

8 просмотров

А что это у тебя за порно в коде? blob = (float *) operator new [] ( imageSize.cols * imageSize.rows * imageSize.channels() * sizeof(float) ); Это кто вам так учил?

Ffff-Ffff Автор вопроса
Ilya Zviagin
А что это у тебя за порно в коде? blob = (float ...

Сырой кусок памяти который считает нейронка после препроцессинга

Ffff-Ffff Автор вопроса
Ilya Zviagin
А что это у тебя за порно в коде? blob = (float ...

Можно просто new, просто я хотел обратить внимание с помощью operator new что это тупо кусок памяти

Ffff Ffff
А что плохого?

Зачем operator new явно вызывать?

Ffff-Ffff Автор вопроса
Ilya Zviagin
Зачем operator new явно вызывать?

Просто что бы выделить память

Ffff-Ffff Автор вопроса
Ilya Zviagin
Зачем operator new явно вызывать?

Это бэд практис? Я могу не знать

Ffff Ffff
Просто что бы выделить память

new float[imageSize.cols * imageSize.rows * imageSize.channels()]?

Ffff-Ffff Автор вопроса
Ffff Ffff
Изначально было так

А почему перестало быть так?)

Ffff-Ffff Автор вопроса
Ffff Ffff
Просто что бы выделить память

Что бы просто выделить, надо array или vector, и всё

Ffff Ffff
Что бы бросилось в глаза

Что ж, цель достигнута: бросилось)

Ffff-Ffff Автор вопроса
Ffff Ffff
Нейронка принимает float *

Да ты шо! Ужас какой...

Ffff-Ffff Автор вопроса
Sergey Anisimov
.data()?

а какие плюсы использовать std::vector вместо простого выделения памяти и удаления в деструкторе? кусок этот всегда фиксированный

Ffff Ffff
а какие плюсы использовать std::vector вместо прос...

> и удаления в деструкторе например. Повышаете RAII-гранулярность, что благоприятно. В частности, не требуется следить за исключениями в конструкторе Вашего типа. Если говорить о стандартобиблиотечном контейнере - он еще и набор инструментов по работе над содержимым предоставляет.

Ffff Ffff
а почему не требуется?

Сконструированные (под)объекты гарантированно разрушаются. Будь, скажем, вектор самостоятельным полем, освобождение захваченного ресурса (выделенной памяти) было бы делегировано ему и произошло бы автоматически, даже при броске из Вашего конструктора. Edit: В случае же с "сырым" new за освобождение отвечает Ваш конструктор.

Anatoly Shirokov
Деструктор

Конструктор. Речь о бросках из него. Edit: Условный T ( ): raw_ptr{new float} { throw 42; } против T ( ): u_ptr{new float} { throw 42; }

Ffff-Ffff Автор вопроса
Sergey Anisimov
Сконструированные (под)объекты гарантированно разр...

имеете ввиду явный вызов деструктора из конструктора при выбросе исключения?

Ffff Ffff
имеете ввиду явный вызов деструктора из конструкто...

Так в подавляющем большинстве случаев нельзя: разрушите объект дважды. Смотрите пример выше: в первом случае инициализируется float* raw_ptr, во втором - std::unique_ptr<float> u_ptr. В первом случае память потечет, во втором - нет.

Anatoly Shirokov
ok

Помимо этого, в vector уже реализован Аллокатор, что оптимизирует работу с динамической памятью.

Stepan Zorin
Помимо этого, в vector уже реализован Аллокатор, ч...

с этим я не спорил, да и вообще не спорил, что надо предпочитать умные указатели сырым

Ffff Ffff
имеете ввиду явный вызов деструктора из конструкто...

просто в случае исключения в конструкторе о всех сырых ресурсах надо позаботиться самостоятельно: struct holder { char* ptr; holder() try : ptr(new char) { throw 42; } catch(...) { delete ptr; } holder(const holder&) = delete; holder& operator=(const holder&) = delete; ~holder() { delete ptr; } }; int main() { try { holder h; } catch(...) { } } а вот если этот код переписать на std::vector, этого ужаса в конструкторе можно избежать

Ffff Ffff
а почему не требуется?

Потому что RAII работает

Похожие вопросы

Обсуждают сегодня

Друзья, за кем?
Magic
12
А шо, ты этой библиотекой пользуешься?
Darkanronpa Dark Hole
10
Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
58
Сообщение* в закодированном виде. То есть, просто сделать sendMessage?text=Привет бла-бла! не получится, надо в HEX переводить, и добавлять процент, типа такого: sendMessage?t...
КТ315
21
А случайно нет ли в паскале штатной возможности передать указатель и количество туда где array of в качестве аргумента?
zamtmn
25
Всем привет. Кто-то может подсказать, как можно перевести значения Selection поля, если список значений в нем формируется динамически? Я изначально их получаю из selection дру...
Наталья Селезнева
6
Или даже по-другому вопрос выстрою Есть ли вообще в electron'e для винды, возможность кнопки действий в нотификацию впихнуть ?
Андрей
7
Hello friends, I have a question. I have a site written in HTML. This site has been ranking high on Google for about 10 years. I will change the hosting of the site and I will...
Ens
4
приветы , подскажите что я не так сделал , почему у меня скрипт не работает в программе Revit ? ;Autohotkey_RU IfWinActive ("ahk_exe Revit.exe") ; только в открытом Revit Gu...
Anton Terentev
2
> комьюнити я бы не судил по этому чату. Как мы видели по статам просмотров нескольких телеговских постов, то в чате их набивается 30-40 или даже выше, когда как общаются акти...
Constantin F.
4
Карта сайта