0
的名單有這樣的結構:修改列表
std::list<std::list<std::string>> data;
我需要去THROU頂層列表,並追加內部列表對一些標準。這樣的事情:
std::for_each(data.begin(), data.end(),
[<some variable required for the logic>]
(const std::list<std::string>& int_list) {
if(...)
int_list.push_back(...);
});
你看到這段代碼是無效的,因爲for_each不能修改序列。 你會推薦我如何執行我所需要的(不需要修改初始數據結構)?
你能不能用['transform'(http://en.cppreference.com/w/cpp/algorithm/transform)? – EdChum
轉換需要額外的副本,不是嗎?從謂詞返回 – amigo421
https://www.youtube.com/watch?v=YQs6IC-vgmo bjarne Stroustrup:爲什麼你應該避免列表 –