[STL] Wie Funktion bei for_each mehr Parameter übergeben?

Diskutiere [STL] Wie Funktion bei for_each mehr Parameter übergeben? im C/C++ Forum im Bereich Programmieren unter Linux/Unix; Hallo, hier ein kurzer Umriß meines Problems: #include <iostream> #include <string> using namespace std; void ausgabe(const string&,...

  1. hehejo

    hehejo blöder Purist

    Dabei seit:
    12.10.2003
    Beiträge:
    1.280
    Zustimmungen:
    0
    Ort:
    Stein (Mittelfranken)
    Hallo,
    hier ein kurzer Umriß meines Problems:

    PHP:
    #include <iostream>
    #include <string>
    using namespace std;

    void ausgabe(const string&, const string sTrenner="\n");
     
    int main() {
      
    vector<stringbox;
      
    box.push_back("hoho");
      
    box.push_back("haha");
      
    box.push_back("hihi");
      
    box.push_back("hehe");

      
    for_each(box.begin(), box.end(), ausgabe);
      
    // FEHLER
      
    for_each(box.begin(), box.end(), ausgabe("\t"));
      
    // FEHLER
    }

    void ausgabe(const strings, const string sTrenner="\n") {
      
    cout << s.c_str() << sTrenner.c_str();
    }
    Wie muss ich es schreiben, damit for_each mit den weiteren Parametern von ausgabe klarkommt?
     
  2. mapiox

    mapiox Tripel-As

    Dabei seit:
    21.04.2002
    Beiträge:
    176
    Zustimmungen:
    0
    das geht nicht.
    du brauchst für jedes Vorhaben eine Funktion

    PHP:
    void ausgabe(const strings, const string sTrenner="\t")
    {
      
    cout << s  << sTrenner;

     
    void ausgabe2(const strings)
    {
      
    cout << s  << endl;


    int main() { 
      
    vector<stringbox
      
    box.push_back("hoho"); 
      
    box.push_back("haha"); 
      
    box.push_back("hihi"); 
      
    box.push_back("hehe"); 
      
      
    for_each(box.begin(), box.end(), ausgabe); 
      
    for_each(box.begin(), box.end(), ausgabe2);

     
  3. hehejo

    hehejo blöder Purist

    Dabei seit:
    12.10.2003
    Beiträge:
    1.280
    Zustimmungen:
    0
    Ort:
    Stein (Mittelfranken)
    schade.
     
  4. panzi

    panzi Grünschnabel

    Dabei seit:
    09.08.2003
    Beiträge:
    9
    Zustimmungen:
    0
    NATÜRLICH geht das!

    PHP:
    #include <iostream>
    #include <string>
    using namespace std;

    class 
    ausgabe {
    private:
      
    string m_delim;

    public:
      
    ausgabe( const string delim "\t" ) : m_delimdelim ) {}
      
    virtual ~ausgabevoid ) {}

      
    void operator () ( const string str ) {
        
    // wozu das .c_str()?
        
    cout << str << m_delim;
      }
    };

    int main() {
      
    vector<stringbox;
      
    box.push_back("hoho");
      
    box.push_back("haha");
      
    box.push_back("hihi");
      
    box.push_back("hehe");

      
    for_each(box.begin(), box.end(), ausgabe);
      
    for_each(box.begin(), box.end(), ausgabe("\t"));

      return 
    0;
    }
    Nur noch eins: es gibt output iteratoren die das machen können, ohne das du dir ne Klasse schreiben musst:
    PHP:
    #include <iostream>
    #include <string>
    #include <iterator> // für ostream_iterator
    #include <algorithm> // für copy

    using namespace std;

    int main() {
      
    vector<stringbox;
      
      
    box.push_back("hoho");
      
    box.push_back("haha");
      
    box.push_back("hihi");
      
    box.push_back("hehe");

      
    copybox.begin(), box.end(), ostream_iteratorcout"\t" ) );

      return 
    0;
    }
    Tja, in der STL ist für fast alles schon ne Klasse vorhanden. ;)
     
Thema:

[STL] Wie Funktion bei for_each mehr Parameter übergeben?

Die Seite wird geladen...

[STL] Wie Funktion bei for_each mehr Parameter übergeben? - Ähnliche Themen

  1. Unix Shell Funktionen funktionieren nicht

    Unix Shell Funktionen funktionieren nicht: Guten Tag Ich hoffe sehr, dass Sie mir weiterhelfen können, denn ich habe ein riesiges Problem: Zurzeit arbeite ich mit meinem Server an einem...
  2. Shell: Funktion ls Not found

    Shell: Funktion ls Not found: Hallo zusammen. Ich habe vor längerer Zeit mal mit Ubuntu gearbeitet wo ich auch ein paar befehle im Terminal gelernt habe. Nun zu meinem...
  3. CentOS 7.2: Mailversand funktioniert obwohl nicht definiert

    CentOS 7.2: Mailversand funktioniert obwohl nicht definiert: Hallo Habe CentOS 7.2 installiert/konfiguriert. Testweise habe ich eine mail versendet: mail -s "test mail" email@adresse.de May 25 15:45:04...
  4. In eigener Sache: Neue, stark verbesserte Suchfunktion

    In eigener Sache: Neue, stark verbesserte Suchfunktion: Pro-Linux läuft nun mit der erneuerten Version 1.5 des Content Management Systems NB3. Die wichtigste sichtbare Änderung ist die neue, auf der...
  5. Funktionssuche in C: Emacs oder Vim?

    Funktionssuche in C: Emacs oder Vim?: Hallo, ich muss mir häufig C-Projekte angucken, und dann suche ich bspw., wo eine aufgerufene Funkion definiert oder deklariert (Header) wird....