Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
'\n'我脑子里放了一个小屁:我想删除std::string. 我更喜欢使用 STL 而不是手动的、多嵌套的 for 循环;唯一的问题是我忘记了如何...
'\n'
std::string
会for(...) { std::string::remove_if(...); } ;工作吗?我需要使用std::for_each(...,..., std::string::remove_if(...));吗?还是需要其他东西?
for(...) { std::string::remove_if(...); } ;
std::for_each(...,..., std::string::remove_if(...));
第一个想法:删除/擦除习语:
str.erase(std::remove(str.begin(), str.end(), '\n'), str.end());
如果你有 Boost.Range 它的工作时间会更短:
#include <boost\range\algorithm_ext\erase.hpp> boost::remove_erase(str, '\n');