Войти
ФлеймФорумОбщее

Вопросы (784 стр)

Страницы: 1783 784 785 786817 Следующая »
#11745
14:42, 14 ноя. 2019

Doctor_Bro.
> Во-вторых, я имею пару лет стажа в пенсионном фонде, что позволит получать ну
> хоть какие-то копейки в старости, в отличие от того варианта, если бы я просто
> сидел дома и нигде не работал.
ты ровно столько же отдашь в пенсионный фонд сейчас. Ну т.е. чтобы ему заплатить тебе 5-7к ему еще надо государству отдать 5-7к, в пенсионный фонд и прочие налоговые.


#11746
14:51, 14 ноя. 2019

А, так у тебя до использования struct app_data_t не было ни полной ни преварительно декларации... (это называется forward declaration, используется для случаев, когда надо объявить тип, чтоб его использовать в рекурсивно сссылающихся структурах).

#11747
15:26, 14 ноя. 2019

Dmitry_Milk
Так а разве struct app_data_t в теле функции не является форвард декларацией?

#11748
16:18, 14 ноя. 2019

Так у тебя не в теле, у тебя в аргументах.

#11749
16:19, 14 ноя. 2019

Dmitry_Milk
Так а разве struct app_data_t в аргументах функции не является форвард декларацией?

#11750
16:42, 14 ноя. 2019

Зачем в крестах поломали совместимость функций с сями?
Я об этом кривом extern "C".

#11751
16:43, 14 ноя. 2019

nes
Перегрузки

#11752
16:48, 14 ноя. 2019
// Цэ фунхсий
void foo(void);
// Цэ++ фунхсий
void foo();
void foo(int a);
void foo(int a, float b);
// Линкерий
_foo
_foo@1
_foo@2
#11753
16:54, 14 ноя. 2019

nes
Ну и как их называть? Одинаковое имя давать нельзя.

#11754
16:55, 14 ноя. 2019

1 frag / 2 deaths
Так я привел пример для нескольких версий фу.

#11755
17:01, 14 ноя. 2019

nes
А если в список посередине дописать foo(float c), то перенумеруешь? Имя перегрузки должно содержать информацию о сигнатуре.

#11756
17:05, 14 ноя. 2019

Mangling в крестах - занятная штука. Там надо кодировать пространство имён и все типы аргументов функции. В результате безобидная функция foo с парой аргументов и где-нибудь в шаблонном классе будет иметь имя в несколько строк.

#11757
17:17, 14 ноя. 2019

Ну как-нибудь так:

void foo();
void foo(int);
void foo(float);
void foo(void(*)());
void foo(string(*)(char));
void foo(array(*)(int, float, string));
void foo(list(*)(map(*)(int)));
_foo@void
_foo@int
_foo@float
_foo@@void@void
_foo@@string@char
_foo@@array@int,float,string
_foo@@list@@map@int
#11758
17:23, 14 ноя. 2019

Подождите. extern "C" - это ж не столько про манглинг, сколько про конвенцию?

#11759
17:24, 14 ноя. 2019

Dmitry_Milk
Разве в Цэ используется что-то отличное от cdecl?

Страницы: 1783 784 785 786817 Следующая »
ФлеймФорумОбщее