ラクに vector を作る
そろそろ Google Code Jam です。 Google Code Jam は入力とかが vector
#include <vector> #include <iostream> #include <algorithm> #include <iterator> #include <assert.h> using namespace std; template <class T> struct vector_ : public vector<T> { vector_() {} template <class U> vector_(vector<U> v) { copy(v.begin(), v.end(), back_inserter(*this)); } template <class U> operator vector<U>() { vector<U> r; copy(this->begin(), this->end(), back_inserter(r)); return r; } }; struct any_null_vector { template <class T> vector_<T> operator << (T t) { vector_<T> r; r.push_back(t); return r; } template <class T> operator vector_<T>() { vector_<T> r; return r; } }; template <class T> vector_<T> operator << (vector_<T> v, T t) { v.push_back(t); return v; } template <class T> ostream& operator << (ostream& os, const vector<T>& v) { os << '['; for (int i = 0; i < v.size(); i++) { if (i) os << ", "; os << v[i]; } os << ']'; return os; } any_null_vector vec; int main() { vector<int> iv = vec << 1 << 2 << 3; cout << iv << endl; vector<string> sv = vec << "hage" << "hige"; cout << sv << endl; vector<vector<string> > ssv = vec << (vec << "boke" << "bake") << (vec << "hage" << "hige"); cout << ssv << endl; }
あやしげな物体を提供して敵を潰す計画…とかではたぶん無いと思います。というかなんか今とてもやる気ない期なので、問題次第ですが、 Python で参加しようかなーと思ってます。まだみんなの Python 読み終わっとらんのが問題です。