小编o o*_*o o的帖子

关于递增迭代器的困惑

int main(){
        multiset<string> graph;

        graph.insert("a");
        graph.insert("b");
        multiset<string>::iterator it = graph.begin();
        cout << *(it + 1) // Wrong
        cout << *++it;    // True
        return 0;

}
Run Code Online (Sandbox Code Playgroud)

为什么编译器在执行时会报错*(it + 1),但是*(++it)可以很好的执行。不应该it + 1++it返回相同的值吗?

c++ iterator

4
推荐指数
1
解决办法
94
查看次数

endl 是否有必要刷新缓冲区?

根据 的定义endl,它用于插入换行符并刷新流。我记得如果插入新行,则缓冲区将自动刷新。如果是这样,为什么endl在插入新行后仍然需要刷新流。

c++ flush

0
推荐指数
1
解决办法
63
查看次数

标签 统计

c++ ×2

flush ×1

iterator ×1