Accelerated C++ 第6章 続き
関数を表すパラメータ定義
慣れてないので気持ち悪いが、明示的にポインタで定義しなくても良い。
アルゴリズムの関数を使い始めると、結構関数(のポインタ)を引数に渡すことが多くなりそう。
課題
本中のソースに関連するもの、面白いくないものはばっさり省略。
6-4
copyの第3引数を
- back_inserter(v)
- inserter(v, v.begin())
のいずれかに変更するか、手書き?
長短は不明。手書きは別として、back_inserter()の方がinserterより効率的な感があるが。。
6-9
accumulateを使う。
#include <iostream> #include <string> #include <vector> #include <numeric> int main() { std::vector<std::string> vs; vs.push_back("abc"); vs.push_back("123"); vs.push_back("xyz"); std::string s; s = std::accumulate(vs.begin(), vs.end(), s); std::cout << s << std::endl; return 0; }