Wake of Gods Forum | Форум Во Имя Богов

Full Version: С++, общая тема
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
запускать через F8, если F5, то это дебаг Sm
(11.05.2012 14:44)GrayFace Wrote: [ -> ]36 Потеря корректности? Проблемы с освобождением?
там ты переприсваиваешь указатели, можно запутаться. а еще при таких изменениях переменных иногда лезут ошибки при освобождении памяти, я уже когда-то писал.
(11.05.2012 14:44)GrayFace Wrote: [ -> ]Почему же? Спокойно можно рисовать в таймере и в OnPaint.
можно. но зачем? потеря двойной буферизации (а значит и жутко медленная отрисовка), стирание при следующем вызове отрисовки, еще что-нибудь вылезет. уже лучше вызвать перерисовку формы через invalidate.
(11.05.2012 14:44)GrayFace Wrote: [ -> ]Еще можно вызывать Repaint - он отрисовывает сразу, а не когда дойдет до сообщения.
не знаю что это, описание какое-то мутное.
(11.05.2012 18:14)NIKr0m@nceR Wrote: [ -> ]чем сишные функции выделения памяти лучше и почему их нельзя юзать в плюсах я так и не узнаю.
емнип, ты и не спрашивал.
конечно же, их можно (и нужно) использовать в плюсах. а лучше они наличием realloc
(12.05.2012 20:42)packa Wrote: [ -> ]Поделитесь ссылкой на нормальный компилятор под Си.
msvc. емнип, он поддерживает С. но размер большой, конечно.
(12.05.2012 22:53)packa Wrote: [ -> ]красным то что бы хотел убрать
не пойму чем оно тебе мешает
(13.05.2012 18:49)NIKr0m@nceR Wrote: [ -> ]а еще, мне не нравятся эти сини с сяутами Bad наверное потому. что я кучу времени писал на с и привык к принтфосканфам.
а насчёт ошибки - мне бы побольше глянуть а то так не понятно нифига Bad
так стандартный ввод-вывод намного гибче Sm мне он тоже нравится больше потокового.
бтв, а как работает реаллок? в том смысле что действительно ли это сильно эффективнее чем тупо создать новый кусок и удалить старый?
про так и не узнаю это я просто неудачно выразился и не заметил, извиняюсь

у меня тут вопрос возник: какой механизм работы исключений типа деления на 0? просто интересно а гуглить влом, если кто знает - просветите.
>>бтв, а как работает реаллок? в том смысле что действительно ли это сильно эффективнее чем тупо создать новый кусок и удалить старый?
Да, вроде эффективнее, хотя я не тестировал на скорость. В первом случае всё происходит средствами ОСи, а во втором ты своими ручками, то есть кодом. Зря что ли создавались АПИшные функции типа HeapRealloc()?
(15.05.2012 23:22)NIKr0m@nceR Wrote: [ -> ]бтв, а как работает реаллок? в том смысле что действительно ли это сильно эффективнее чем тупо создать новый кусок и удалить старый?
вроде бы должно быть эффективнее:
msdn Wrote:realloc returns a void pointer to the reallocated (and possibly moved) memory block.
но в то же время:
msdn Wrote:realloc calls malloc in order to use the C++ _set_new_mode function to set the new handler mode.
(15.05.2012 23:22)NIKr0m@nceR Wrote: [ -> ]какой механизм работы исключений типа деления на 0?
всмысле? как и другие исключения. вылазит ошибка деления на ноль - выбрасывается исключение
а где оно выбрасывается? на каком уровне? просто в моей мингв нет виндовской обработки исключений и её обработка реализована страшненьким макросом с асмовставками, вот я и заинтересовался.
так деление на ноль это прерывание. в обработчике прерывания и выбрасывается.
а, протупил. точно. спс
Эх, ну какой дурак придумал, что в сях неинициализированные указатели равны мусору, а не NULL?
Полдня сегодня из-за этого потратил - в одной из if-веток конструктора забыл проинициализировать поле-указатель...
ага, бывает. на всякий случай стараюсь сразу проинициализировать всё.
(17.05.2012 14:32)Efrit Wrote: [ -> ]Эх, ну какой дурак придумал, что в сях неинициализированные указатели равны мусору, а не NULL?
Полдня сегодня из-за этого потратил - в одной из if-веток конструктора забыл проинициализировать поле-указатель...

Ну с таким же успехом можно отгрести багов и от любой другой переменной. Тут уж либо обнулять все (как в паскале при создании объекта в куче) либо ничего не трогать. В сях скрость работы на одном из первых мест - ничего "лишнего" компилятор пытается не вставлять.
AVS Wrote:Ну с таким же успехом можно отгрести багов и от любой другой переменной.
Не совсем так. Ведь "другие переменные" нельзя разыменовывать - только указатели...

AVS Wrote:В сях скрость работы на одном из первых мест - ничего "лишнего" компилятор пытается не вставлять.
Сделали бы опцию в компиляторе, и всего делов... Может, это есть уже где?
cyclone?
(17.05.2012 16:02)Efrit Wrote: [ -> ]
AVS Wrote:Ну с таким же успехом можно отгрести багов и от любой другой переменной.
Не совсем так. Ведь "другие переменные" нельзя разыменовывать - только указатели...

И чо? Да с другими переменными не будет сразу AV (или что еще хуже порча чего нить полезного) , но например какой нить case пойдет не по той ветке - тоже мало приятного; да мало ли, что еще может быть.
указатель - тоже переменная. и имеет полное право быть равным мусору.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
Reference URL's