- 1
- 2
- 3
- 4
- 5
class Screen
{
private:
unsigned char *data; // do not move
size_t size; // do not move
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−27
class Screen
{
private:
unsigned char *data; // do not move
size_t size; // do not move
bormand 10.06.2012 06:25 # +7
Don't move or I'll shoot!
А почему нельзя двигать? Используются какие-то грязные хаки с доступом к полям по смещению от начала объекта?
geust 10.06.2012 10:22 # 0
bormand 10.06.2012 10:51 # 0
geust 10.06.2012 12:44 # −2
получается такая структура с хелперами, если её подогнать под нужный layout и поставить указатель, то можно дальше без байтоёбства работать уже с пикселами
в общем-то хак, но полезный
bormand 10.06.2012 13:05 # 0
> можно дальше без байтоёбства работать уже с пикселами
Как байтоебство при работе с самой структурой Screen (которое осталось за кадром, но судя по don't move существует) связано с байтоебством при работе с пикселями (на которые указывает data)??
geust 10.06.2012 13:25 # +1
Pedofil 10.06.2012 13:34 # −9
bormand 10.06.2012 13:38 # +1
Pedofil 10.06.2012 13:52 # −11
geust 10.06.2012 14:48 # +2
bormand 10.06.2012 14:50 # +1
bormand 10.06.2012 13:52 # +5
Имхо классы не предназначены для наложения их на что-либо. И лучше наложить куда нужно структуру (при описании которой не забыт pragma pack!), и аккуратно скопировать нужные поля в поля класса.
P.S. Пришел некий Вася Пупкин и добавил этому классу виртуальный метод. Кровь-кишки-распидорасило.
Better safe than sorry...
Pedofil 10.06.2012 13:55 # −12
geust 10.06.2012 16:57 # 0
USB 10.06.2012 14:55 # +2
> биосом адаптера
bormand 10.06.2012 15:00 # +4
Мда, все даже хуже чем мы тут обсуждали. Автор кода намертво пришил поля класса тупо потому, что не знал, как с ассемблера получить доступ к ним.
eth0 10.06.2012 16:53 # +3
Не встречал таких людей, которые ковыряли бы классы из ассемблера.
bormand 10.06.2012 17:19 # 0
roman-kashitsyn 10.06.2012 18:17 # 0
bormand 10.06.2012 18:29 # 0
Pedofil 10.06.2012 18:39 # −10
bormand 10.06.2012 18:47 # −5
Pedofil 10.06.2012 18:47 # −10
USB 10.06.2012 20:58 # +4
Pedofil 10.06.2012 21:14 # −11
sayidandrtfm 10.06.2012 10:11 # +3
Pedofil 10.06.2012 14:19 # −13