Șabloane Variadic

În C ++, este posibilă crearea unei funcții cu un număr variabil de argumente. În C ++ 11, modul de a crea o astfel de funcție are un nou mod. A devenit posibilă specificarea unui șablon cu un număr variabil de argumente. Șabloanele de funcții sunt un lucru minunat care poate înlocui tipurile pentru variabilele din interiorul unei funcții.







  • Șabloanele cu un număr variabil de argumente oferă un mijloc de a crea funcții șablon și clase de șabloane care iau un număr variabil de argumente.

Acest lucru poate fi util atunci când numărul de parametri care trec la o funcție nu este cunoscut în prealabil. Să scriem un cod simplu care afișează numai variabilele transmise funcției de șablon.
A apărut un fel de recepție "HELLO WORLD" pentru această ocazie.

În primul rând, vom descrie o funcție de șablon simplu

foo ( 2 . 4 . 6 . 8 . "cine facem noi" . șir ( "apreciază-l)) ;







Nu sunt suficiente citate

foo (2, 4, 6, 8, "cine facem", șir ("apreciem");

Nu există suficiente citate și spațiu de nume (dacă vrei să spui std :: string)

Un exemplu cu afișarea pe ecran și numărarea sumei "mănâncă" ultima valoare din pachetul de măsuri
Pentru că este trecut la o funcție cu un argument.

În primul exemplu: o funcție cu un argument imprimă un șir nou (mai mult decât se aștepta, va imprima ultimul argument)

În cel de-al doilea exemplu: o funcție cu un argument revine la zero și este mai mult de așteptat ca acesta să adauge ultimul element la suma totală

Nu știu dacă e un bug sau o decizie conștientă. Dar sa dovedit neevitat

Acesta nu este un bug. Am greșit când scriu.
Vezi acum.

Subiecte recente

Cartea aleatorie în format electronic

Șabloane Variadic

Trebuie să ne asigurăm că site-ul nu este un robot. Pentru a face acest lucru, dezbracați goale și porniți camera web.

Îmi exprim recunoștința

  • Maxim este foarte recunoscător pentru indicarea greșelilor și inexactităților mele.
  • Sergio ===> pentru că am ajutat la corectarea greșelilor mele
  • Gen ===> pentru dorința corectă de a ajuta pe ceilalți nou-veniți și de a-mi identifica greșelile






Trimiteți-le prietenilor: