ベクトルを含むクラスがあります:
class Foo {
typdef std::vector<int> Vec;
Vec m_kids;
void addKids(Vec::const_iterator begin,
Vec::const_iterator end) {
m_kids.insert(m_kids.end(), begin, end);
}
};
次の簡潔な関数呼び出しを許可する方法はありますか? addKids
(上記の関数を変更することでしょうか?)
int main() {
Foo foo;
foo.addKids(23,51,681); // these...
foo.addKids(3,6,1,4,88,2,4,-2,101); // ...would be nice?!
}
C++0x ベクトル初期化子リストでできると思いますか? 残念ながら C++0x は使えません。ただし、それが役立つ場合は Boost を使用できます。