for schreibweise



  • Hallo,
    ich bin noch neu in der Programmierung und hab ne frage zu for
    normalerweise schreibt man das doch so an

    for(int x;x<vector.size();x++){
    vector[x]=Zahl;
    }
    

    aber gibts nicht eine kürzere schreibweise...
    sowas in der art:

    for(x:vector.size()){
    vector[x]=Zahl;
    }
    

    ??gibts sowas?



  • nein ... aber dein Beispiel sollte besser lauten:

    for (std::size_t i = 0; i < vec.size(); ++i)
        vec[i] = i;
    

    ...



  • naja...war nur ein bsp...wollte nur fragen obs eben eine kürzere schreibweise gibt...
    aber schade..in java geht das ...



  • ab und zu (hängt davon ab, was du machen willst), sind die funktionen aus der standardbibliothek auch ganz nützlich (copy, for_each und so ein zeug)



  • ne frage hab schrieb:

    naja...war nur ein bsp...wollte nur fragen obs eben eine kürzere schreibweise gibt...
    aber schade..in java geht das ...

    c++/C ist aber eine Systemnaherer Sprache (low level) als Java des wegen muss alles "beschriebener" angegeben werden.



  • (D)Evil schrieb:

    nein ... aber dein Beispiel sollte besser lauten:

    for (std::size_t i = 0; i < vec.size(); ++i)
        vec[i] = i;
    

    ...

    Na ja … und *noch* besser wäre es, Iteratoren zu verwenden:

    typedef std::vector<int>::iterator IT;
    
    for (IT i = vec.begin(); i != vec.end(); ++i)
        *i = i - vec.begin();
    

    ne frage hab schrieb:

    naja...war nur ein bsp...wollte nur fragen obs eben eine kürzere schreibweise gibt...
    aber schade..in java geht das ...

    Ach Quark, die Java-Syntax ist auch nur eine Kurzschreibweise für das, was *ich* (und nicht etwa für das was Du) geschrieben hast. Abgesehen davon macht der Code aber so ziemlich dasselbe und die paar Zeichen mehr tippen sollte auch nicht das Problem sein. Ansonsten schau Dir mal die Algorithmen im Header <algorithm> an, z.B. 'for_each' und 'transform'.


Anmelden zum Antworten