Järelikult annab käitusaegne väljakutse C-stiilis variadic-funktsioonile, mis edastab sobimatuid argumente, määratlemata käitumise. … Sellist määratlemata käitumist saab ära kasutada suvalise koodi käivitamiseks.
Mis on varieeruv funktsioon C-s?
Variaadilised funktsioonid on funktsioonid, mis võivad võtta muutuva arvu argumente. C-programmeerimises lisab variadic-funktsioon programmile paindlikkust. See võtab ühe fikseeritud argumendi ja seejärel saab edastada suvalise arvu argumente.
Kas variadic-funktsioonid on halvad?
Põhjused on järgmised: Malli variadic funktsioonid teavad nii oma argumentide arvu kui ka tüüpe. Need on tüübikindlad, ei muuda nende argumentide tüüpe.
Kuidas deklareerida variadic funktsiooni C++-s?
Variadic funktsioonid on funktsioonid (nt std::printf), mis võtavad muutuva arvu argumente. Variadic funktsiooni deklareerimiseks ilmub parameetrite loendi järele ellips, nt. int printf(const char form…);, millele võib eelneda valikuline koma.
Kuidas edastada variadic parameetreid teisele funktsioonile?
Te ei saa variadic argumente variadic-funktsioonile edastada. Selle asemel peate kutsuma funktsiooni, mis võtab argumendina va_list. Standardne teek pakub printf ja scanf variante, mis võtavad va_list; nende nimedel on eesliide v.