Új hozzászólás Aktív témák

  • Janos250

    őstag

    válasz ekkold #16588 üzenetére

    Hogyan tudunk függvénybe bevinni előre meg nem határozott számú paramétert?
    Közben csináltam mintapéldát, hogyan tudjuk belerakni containerbe, akármennyi van is, és a függvényben iteratorral annyit használunk fel, amennyi van.

    /*
    mintapelda elore meg nem hatarozott szamu parameter atadasa fuggvenybe iteratorral
    Minden olyan container hasznalhato, aminek van .begin() es .end() iteratora
    peldaul: vector, list, deque, map, set, stack, stb
    */

    #include <iostream>
    #include <vector>
    #include <list>
    #include <deque>
    using namespace std;

    //void parameterAtadasVectorral(auto parameter){ // ez csak C++14 -tol el
    void parameterAtadasVectorral(vector <int> parameter){
    Serial.println("\nfelhasznaljuk a vector elemeit:");
    for (auto i = parameter.begin(); i != parameter.end(); ++i){
    //vagy: for (vector<int>::iterator i = parameter.begin(); i != parameter.end(); ++i){
    Serial.println(*i);
    };
    } ;


    void parameterAtadasListaval(list <int> parameter){
    Serial.println("\nfelhasznaljuk a lista elemeit:");
    for (auto i = parameter.begin(); i != parameter.end(); ++i){
    Serial.println(*i);
    };
    } ;


    void parameterAtadasDequeSorral(std::deque <String> parameter){
    Serial.println("\nfelhasznaljuk a deque elemeit:");
    for (auto i = parameter.begin(); i != parameter.end(); ++i){
    Serial.println(*i);
    };
    } ;

    void setup() {

    Serial.begin(115200);
    delay(1000);

    vector <int> enVectorom {10,115} ;
    enVectorom.push_back(8); // a vegere betesz egy elemet

    parameterAtadasVectorral(enVectorom) ;


    std::list<int> enListam = { 9,7,3,29 };
    enListam.push_back(50);

    parameterAtadasListaval(enListam) ;


    std::deque<String> enDqueueDuplaveguSorom= { "macska","kutya","lo" };
    enDqueueDuplaveguSorom.push_front("kismalac"); // elejere teszi
    enDqueueDuplaveguSorom.push_back("pipi"); // veger teszi
    parameterAtadasDequeSorral(enDqueueDuplaveguSorom) ;

    } ;

    void loop() {
    };
    /*
    Ezt irja ki:
    felhasznaljuk a vector elemeit:
    10
    115
    8

    felhasznaljuk a lista elemeit:
    9
    7
    3
    29
    50

    felhasznaljuk a deque elemeit:
    kismalac
    macska
    kutya
    lo
    pipi
    */

Új hozzászólás Aktív témák

Hirdetés