Jon*_*Mee 4 c++ copy insert multimap key-value-store
鉴于istream_iterator<int>
和multimap<char, int> output
.
我想所有的值复制到output
的'a'
关键.如何处理这个问题的最佳方法是什么?
我试过用:
transform(
istream_iterator<int>(input),
istream_iterator<int>(),
begin(output),
[](const auto value){
return make_pair('a', value);
}
)
Run Code Online (Sandbox Code Playgroud)
但是我收到了错误:
错误:分配只读成员
std::pair<const char, int>::first
我想这意味着我无法写信begin(output)
.是我唯一的选择for_each
吗?
你很近,但你应该使用std::inserter
:
transform(
istream_iterator<int>(input),
istream_iterator<int>(),
inserter(output, begin(output)),
[](const auto value){
return make_pair('a', value);
}
);
Run Code Online (Sandbox Code Playgroud)
第二个参数是一个提示,但是multimap
它会被忽略.但是,界面要求您提供它.
归档时间: |
|
查看次数: |
197 次 |
最近记录: |