2009-06-09から1日間の記事一覧

staticメンバなvectorの初期化

C++

間違ってないかなぁ… #include <iostream> #include <vector> using namespace std; struct Foo { static const vector<int> v; static vector<int> new_v(); }; vector<int> Foo::new_v() { vector<int> v; v.push_back(1); v.push_back(2); v.push_back(3); return v; } const vector<int> Foo::v = Fo</int></int></int></int></int></vector></iostream>…

staticメンバなvectorの初期化 その2

C++

普通に使える感じだけど、罠がある気が。 #include <iostream> #include <vector> using namespace std; class Foo { static const vector<int> v; static const vector<int> new_v(); public: void func() { for(vector<int>::const_iterator i = Foo::v.begin(); i != Foo::v.end(); i++) { </int></int></int></vector></iostream>…

サイズの違うvectorの代入

C++

大きい場合 #include <iostream> #include <vector> int main() { using namespace std; vector<int> v(3); for (vector<int>::iterator i = v.begin(); i != v.end(); i++) { cout << *i << endl; } v = vector<int>(5, 1); for (vector<int>::iterator i = v.begin(); i != v.end(); i++) { cout <</int></int></int></int></vector></iostream>…