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

Dieses Thema im Forum "C/C++" wurde erstellt von hehejo, 28.12.2004.

  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. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. 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);

     
  4. hehejo

    hehejo blöder Purist

    Dabei seit:
    12.10.2003
    Beiträge:
    1.280
    Zustimmungen:
    0
    Ort:
    Stein (Mittelfranken)
    schade.
     
  5. 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. ;)
     
  6. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
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. 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...
  2. 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...
  3. 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....
  4. FAI 5 mit Autodiscover-Funktion

    FAI 5 mit Autodiscover-Funktion: Die Entwickler des Softwarewerkzeugs zur vollautomatischen Installation von Betriebssystemen und Anwendungen haben mit FAI 5 eine neue Version des...
  5. Suse Linux Enterprise 11 SP4 verbessert Sicherheitsfunktionen

    Suse Linux Enterprise 11 SP4 verbessert Sicherheitsfunktionen: Suse hat das mittlerweile vierte Service Pack für Suse Linux Enterprise 11 veröffentlicht. Die neue Ausgabe liefert erweiterte...