Hogyan adjunk át egy függvénynek változó számú paramétert?

Rakjuk bele egy containerbe, és a függvényben iterátorral annyit használunk fel,

amennyi van

Tutorial ESP32 iterator container

/*
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
*/

vissza