for循环中声明变量的一个问题回顾
来源:互联网 发布:上交所待遇知乎 编辑:程序博客网 时间:2024/05/19 00:13
for 虽然是个非常简单的循环表达式,但对于新手来说,用好它却并不是一件简单的事情。
以前我曾经犯过一个错误,现在想起来是个很愚蠢的一个问题,但对于当时的我,却是一个很迷惘的事情。
//我在某个地方写了类似于如下的for循环代码vector<int> vecInt;vector<MyType> vecMyType;for (vector<int>::iterator itInt = vecInt.begin(),
vector<MyType>::iterator itMy = vecMyType.begin(); itInt != vecInt.end() && itMy != vecMyType.end(); ++itInt, ++itMy){ //使用itInt,itMy}
死活编译不过,老是提示 itMy 未声明,我也是百思不得其解啊。
过了一段时间之后,我看到相关资料的时候,才知道其中原委,原来for循环的声明中,只能声明一种类型的变量,而我上面那段代码中,声明了两种类型的iterator,当然编译不过了。
比如说
for(int i = 0, j = 0, k = 0; i < 10 && j < 10; ++i, ++j, ++k){ cout << "i = " << i << ", j = " << j << ", k = " << k << endl;}这样一段代码,不会有什么问题。
但如果换成
for(int i = 0, j = 0, shrot k = 0; i < 10 && j < 10; ++i, ++j, ++k){ cout << "i = " << i << ", j = " << j << ", k = " << k << endl;}就行不通了。当然,for循环表达式中声明的变量作用域,也仅限于for循环内部,这是另外一个话题了。
所以,对于C++的初学者来说,最重要的不是写了多少代码,而是在遇到问题的时候,多看书,尤其是多看经典的C++著作,同时,一定要看C++标准。市面上很多书都在无聊的讨论很多C++中的未定义行为,其实在标准中,都已经讲的很清楚,未定义行为,就是怎么做都行,看编译器实现,所以嘞,就没必要扯来扯去了嘛。
- for循环中声明变量的一个问题回顾
- 命令行参数的使用、goto标签的使用以及for循环中局部变量声明问题
- for初始语句中声明变量的作用域问题
- Python中一个for循环循环多个变量
- matlab中for循环的循环变量在循环体中不能改变的问题
- 请教一个声明变量的问题
- 问题(已解决):push pop for循环中push变量,变量随之改变的问题
- 易错点:for循环中循环变量的更新所带来的问题
- [python笔记]for循环中循环变量迭代问题
- oracle存储过程、声明变量、for循环
- oracle存储过程、声明变量、for循环
- oracle存储过程、声明变量、for循环
- oracle存储过程、声明变量、for循环
- for循环中的变量声明1
- for(声明循环变量 : 数组名)
- oracle存储过程、声明变量、for循环
- oracle存储过程、声明变量、for循环
- sass for循环中变量的计算
- sql 转换成xml语言(转)
- DataSet与DataAdapter初步
- 《那些年啊,那些事——一个程序员的奋斗史》——96
- JSP页面查询显示常用模式
- 是什么浪费了我的时间
- for循环中声明变量的一个问题回顾
- SQL Server 返回最后插入记录的自动编号ID (Java语言)
- ie6 滤镜问题
- 为什么在CDialog::OnInitDialog函数中绘图没效果呢?
- JSP连接各类数据库大全
- TCP协议: 拥塞控制算法
- Lucene 3.6.0中contrib文件夹下面都是些什么?
- 用scrapy进行网页抓取
- 选项菜单和子菜单(SubMenu)