※このエントリではIDEによるコード補完は一切考慮していません
【before】
#include <vector> int main() { std::vector<int> v; v.reserve(5); v.push_back(1); v.push_back(2); v.push_back(3); v.push_back(4); v.push_back(5); }
v.push_backって打つのめんどい><。
↓
【関数に切り出してみる】
#include <vector> template <class T> void push(std::vector<T>& v, const T& x) { v.push_back(x); } int main() { std::vector<int> v; v.reserve(5); push(v, 1); push(v, 2); push(v, 3); push(v, 4); push(v, 5); }
vがジャマ
↓
【ラムダ式を使ってみる】
#include <vector> #include <functional> int main() { std::vector<int> v; std::function<void(int)> push = [&v] (int x) { v.push_back(x); }; v.reserve(5); push(1); push(2); push(3); push(4); push(5); }
お、これはアリなんじゃないか。