假设有一个容器中存放着 int ,Container c, 现在想从其中删除数值 1963,可以有如下方法:1: c.erase(remove(c.begin(), c.end(), 1963), c.end()); // c is continguous memory container2: c.remove(1963); // c is list3: c.erase(1963) // c is standard associative container对于 continguous memory container 来说, std::remove() 可以保证返回的 iterator .. Read More
假设有个文件里面记录的一系列的 int 值,现在我们想把这些数值存到一个 List 里面,结合 Item 5, 我们可能会写出下面的代码:ifstream dataFile("ints.data");list data(istream_iterator(dataFile), // Start of iterator istream_iterator()); // End of iterator这段代码可以编译,但运行时并不工作,它不会去调用 list 的构造函数,从而不会生成我们想要的这个 List。问题,出在 C++ 对代码的解析上。假设我... Read More