Size: a a a

2021 February 14

t

ttldtor in codingteam
и доступ к полям через десяток методов
источник

D

Devel29A in codingteam
Приватные структуры...
источник

D

Devel29A in codingteam
Указатели отмывают?
источник

t

ttldtor in codingteam
структурка в eba.c

typedef eba {
int field;
} eba;

наружу

void* get_eba();
int get_eba_field(void* eba, void* field);
источник

t

ttldtor in codingteam
и всё в таком духе
источник

t

ttldtor in codingteam
точнее,

void* get_eba(void* eba_context);
источник

t

ttldtor in codingteam
и ты смотришь  на этот "просветвлённый" код, автор которого просто люто не хотел, чтобы его eba улетела в хедеры, которыми может воспользоваться любой юзер. Потому что "абстракция" же протечёт!
источник

t

ttldtor in codingteam
сука
источник

t

ttldtor in codingteam
"просветлённый" *
источник

t

ttldtor in codingteam
как же, бля, я благодарен, что "просветлённый" не стал городить vtbl
источник

c

codingteam@cjr in codingteam
Minoru
/me подвинул к Мантикору чашку чаю
источник

c

codingteam@cjr in codingteam
Minoru
присядь, попей
источник

c

codingteam@cjr in codingteam
Minoru
а то что-то у тебя стресс, флешбеки какие-то
источник

t

ttldtor in codingteam
а это было бы

typedef int (*get_eba_field_fptr)(void* field);

typedef  struct eba {
int field;
get_eba_field_fptr get_eba_field_method;
} eba;
источник

t

ttldtor in codingteam
а инициализация этого vtbl бы в анусе, а реализация в другом
источник

t

ttldtor in codingteam
codingteam@cjr
Minoru
а то что-то у тебя стресс, флешбеки какие-то
у меня глаз дёргается
источник

t

ttldtor in codingteam
не то, чтобы я не любил си....я не люблю людей
источник

D

Devel29A in codingteam
ttldtor
и всё в таком духе
кокой ад
источник

t

ttldtor in codingteam
за их ... эээ.. изобретательность
источник

t

ttldtor in codingteam
о, а ведь можно ещё и запилить

typedef  struct eba {
int field;
get_eba_field_fptr get_eba_field_method;

void* reserved_eba_extention_point;
} eba;

и угадайте, что было бы в reserved_eba_extention_point
источник