相关疑难解决方法(0)


循环中i ++和++ i之间的区别?

是否有差异++i,并i++在一个for循环?它只是一个语法的东西吗?

language-agnostic for-loop pre-increment post-increment

294
推荐指数
10
解决办法
28万
查看次数

什么更有效,i ++或++ i?

确切重复:在C++中i ++和++ i之间是否存在性能差异?
确切重复:循环中i ++和++ i之间的区别?


什么更有效,i ++或++ i?

我只在Java和C/C++中使用过这个,但我真的要求实现它的所有语言.

在大学里我有一位教授告诉我们++我更有效率,但已经有几年了,我想从Stack Overflow社区获得意见.

c++ java performance pre-increment post-increment

15
推荐指数
4
解决办法
2万
查看次数

为什么对迭代器使用前缀增量形式?

Johannes Schaub 在这里声称

对于您不知道其定义的迭代器,请始终使用前缀增量形式。这将确保您的代码尽可能地通用。

for(std::vector<T>::iterator it = v.begin(); it != v.end(); ++it) {
    /* std::cout << *it; ... */
}
Run Code Online (Sandbox Code Playgroud)

为什么不首先迭代它,然后开始循环(在v.begin()+ 1)?

c++ iterator

4
推荐指数
2
解决办法
1092
查看次数

C++:列出迭代器与矢量迭代器

我认为迭代器对象的想法是你可以类似地将它应用于C++容器类.但是,当我尝试遍历列表对象时,我尝试使用

for(list<int>::iterator it = obj.begin(); it < obj.end(); it++){
    // some code
}
Run Code Online (Sandbox Code Playgroud)

我收到了一个错误.为什么这不起作用?它为什么会起作用vector::iterator?是仅仅因为列表的实现是双向链表?我认为迭代器对象抽象了通过容器移动的概念,从而允许它在操作上是相同的,无论是向量还是列表.

我真的很感激澄清.

c++ containers iterator stl

2
推荐指数
1
解决办法
650
查看次数