Array-Indexe angeben
-
Ist es in c++ eigentlich möglich nur bestimmte Indexe eines Arrays anzugeben (aussert das ganze mit einer for-schleife zu durchlaufen)?
Ich habe gerade ein bisschen ADA Code vor mir, und dort wird das so angegeben:
myArray(45..103)Sprich ich würde in c++ nun gerne die Indexe 44-102 weitergeben.
Wie mach ich das?grz
-
Siehe hier:
#include <vector> #include <iostream> using namespace std; template<class Iter> void show(Iter begin, Iter end) { while (begin!=end) { cout << ' ' << *begin; ++begin; } cout << '\n'; } int main() { vector<int> v; for (int k=1; k<=5; ++k) v.push_back(11*k); show(v.begin() ,v.end() ); show(v.begin()+1,v.end()-1); }
-
Und geht das ganze auch komplett ohne Schleife?
Ich möchte die elemente von Index X bis Z einer Funktion übergeben.
-
__) schrieb:
Und geht das ganze auch komplett ohne Schleife?
Ich möchte die elemente von Index X bis Z einer Funktion übergeben.Das Ausgeben geht nicht ohne Schleife. In Ada übrigens auch nicht. Die Übergabe des Ranges schon, und zwar so, wie krümelkacker es zeigt.
-
Alternativ kann man sich auch
http://www.boost.org/doc/libs/1_44_0/libs/multi_array/doc/user.html
angucken (siehe "Creating Views").