Môže premenných sa používa na vyvolanie funkcie v troch bodiek funkcií v C++

0

Otázka

Pre túto funkciu, ktorá trvá premennej počet argumentov,

void func(int count, ...)  // ellipsis function
{
// function definition
}

Môže volanie funkcie byť ako nasleduje :

int a{};
double b{};
string c{};

func(3,a,b,c); // using actual variables instead of fixed values in function call

Moja otázka je, keď tri bodky funkcia sa nazýva to musí byť vždy len fixed hodnoty ako func(3,5,2.7,"Hi") alebo môžete premenných byť dodávané volanie funkcie, ako tak func(3,a,b,c)?

c++ ellipsis variadic-functions
2021-11-24 04:59:50
2

Najlepšiu odpoveď

3

Upozorňujeme, že absolvovanie triedy ako std::strings non-triviálne copy konštruktor alebo netriviálne presunúť konštruktér alebo non-triviálne destructor, nemusia byť podporované a "vykonávanie definované" sémantiky. Budete musieť skontrolovať svoj kompilátor dokumentáciu o tom, ako tieto triedy sú odovzdávané alebo skontrolovať, či sú podporované vôbec.

Môže premenných sa používa na vyvolanie funkcie v troch bodiek funkcií v C++

Áno.

Môže volanie funkcie byť ako takto

Áno.

po troch bodiek funkcia sa nazýva to musí byť vždy len pevné hodnoty, ako func(3,5,2.7,"Hi")

Č.

môže premenných byť dodávané volanie funkcie tak ako func(3,a,b,c)?

Áno.

Môžete navrhnúť akýkoľvek odkaz tak môžem si robiť nejaký výskum na to?

https://en.cppreference.com/w/cpp/language/variadic_arguments https://en.cppreference.com/w/cpp/utility/variadic https://eel.is/c++návrh/expr#hovor-12

A v C++, mali by ste silne preferujú: https://en.cppreference.com/w/cpp/language/parameter_pack z dôvodu typ bezpečnosť.

2021-11-24 07:01:52
0

Hoci značka dáva nám niektoré užitočné funkcie, je veľmi nebezpečné, ako ich použije. Pri použití elipsa, kompilátor nemá skontrolovať typ argumenty prešiel na funkciu. Takže kompilátor nemá hádzať akékoľvek chyby, ak argumenty sú rôznych typov. Aj keď pass reťazec, dvojité, alebo typu bool hodnoty sú postúpené priemerný() funkcia vráti sa vrátiť neočakávané hodnoty, kompilátor nemá hádzať akékoľvek chyby.

Zdroj : https://www.geeksforgeeks.org/ellipsis-in-c-with-examples/

2021-11-24 06:56:15

Toto nie je pomoc!
Pratap Biswakarma

V iných jazykoch

Táto stránka je v iných jazykoch

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................