C++ これぞ参照の真骨頂!vector の要素を編集する
これは面白い!と思ったので記事にしてみる。
参照を使えばスマートに vector の要素を編集できる。
#include <iostream> #include <vector> using namespace std; void TestFunc(vector<int>& v) { for (int& x : v) ++x; } void PrintFunc(vector<int>& v) { cout << "PrintFunc Start" << endl; for (int& x : v) cout << "v:" << x << endl; } int main() { int ret = 0; vector<int> v = {1,2,3,4,5}; PrintFunc(v); // vector の要素全てをインクリメント TestFunc(v); PrintFunc(v); return ret; }
PrintFunc Start v:1 v:2 v:3 v:4 v:5 PrintFunc Start v:2 v:3 v:4 v:5 v:6
よく考えれば当然のことだが、目からウロコが落ちた。
vector の要素を直接編集できるってなんだか面白い。