C++ Primer Plus 6th 读书笔记 - 第6章 分支语句和逻辑运算符
1. cin读取错误时对换行符的处理
#include <iostream>
using namespace std;
int main() {
double d;
char c;
cin >> d;
if(!cin) {
cout << "x" << endl;
cin.clear();
cout << cin.get() << endl;
}
// cin.get();
cin.get(c);
}
以上代码输入分为2种情况:
若输入为double类型,则cin.get(c)会读取换行符,程序运行结束。
若输入为非double类型,如char类型,则cin会置错误位,保留错误输入的同时丢弃回车符(现象如此,原因猜测),所以程序在运行到cin.get(c)时候会停止等待输入。
奇怪,又测试了几次,感觉和之前一样,程序运行结束。
2. const指针分析
在二级间接关系时,将const指针和非const指针混合的指针赋值方式将不再安全。
const int **pp2;
int *p1;
const int n = ;
pp2 = &p1; // not allowed
*pp2 = &n; // valid
*p1 = ; // valid
pp2是一个指针,他指向另一个指针的地址,而另一个指针是指向一个int变量的地址。
pp2指针本身非const,所以可以指向一个指针地址,即&p1。但在实际编程中,语句4语法检查错误,原因是p1指向的是非const的int,而要求是const int。
假如语句4运行成功,则*pp2为指向一个const int的指针,赋值成功,即 p1 = &n,但实际情况下非const指针不能指向const变量,故运行*p1 = 10时与原先造成冲突。
C++ Primer Plus 6th 读书笔记 - 第6章 分支语句和逻辑运算符的更多相关文章
- C++ primer plus读书笔记——第6章 分支语句和逻辑运算符
第6章 分支语句和逻辑运算符 1. 逻辑运算符的优先级比关系运算符的优先级低. 2. &&的优先级高于||. 3. cctype中的函数P179. 4. switch(integer- ...
- C++ Primer Plus读书笔记(六)分支语句和逻辑运算符
1. 以上均包含在cctype中 1 #include<cctype> 2 //#include<ctype.h> 2.文件操作 (1)头文件 1 #include<fs ...
- 《C++Primer中文版》读书笔记——第1章 开始
istream对象:cin(标准输入对象); ostream对象:cout(标准输出对象) cerr(输出错误和警告) clog(输出一般性信息) 读取数量不定的输入数据,eg , sum=; whi ...
- 《C++ Primer 4th》读书笔记 第3章-标准库类型
原创文章,转载请注明出处:http://www.cnblogs.com/DayByDay/p/3911534.html
- 《C++ Primer 4th》读书笔记 第4章-数组和指针
原创文章,转载请注明出处: http://www.cnblogs.com/DayByDay/p/3911573.html
- 《C++ Primer 4th》读书笔记 第5章-表达式
原创文章,转载请注明出处: http://www.cnblogs.com/DayByDay/p/3912114.html
- 《C++ Primer 4th》读书笔记 第6章-语句
原创文章,转载请注明出处: http://www.cnblogs.com/DayByDay/p/3912407.html
- 《C++ Primer 4th》读书笔记 第7章-函数
原创文章,转载请注明出处:http://www.cnblogs.com/DayByDay/p/3912413.html
- 《C++ Primer 4th》读书笔记 第8章-标准IO库
原创文章,转载请注明出处:http://www.cnblogs.com/DayByDay/p/3936457.html
随机推荐
- jQuery代码片段
禁用页面右键菜单 $(document).bind('contextmenu', function(){ return false; }); 浏览器判断 $.browser.version $.bro ...
- 深入理解 静态类和静态字段(C# 基础)
序言 以前,总是被提醒,在编程过程中尽量少用静态变量,数据丢失什么的,今天有空,禁不住对静态变量的强烈好奇,跟我一起了解下静态家族的内幕吧. 静态类 定义 静态类与非静态类的重要区别在于静态类不能实例 ...
- soapUI参数中文乱码问题解决方法 (groovy脚本中文乱码)
soapUI参数中文乱码问题解决方法 可能方案1: 字体不支持中文,将字体修改即可: file-preferences-editor settings-select font 修改字体,改成能显示中文 ...
- Oracle left查询案例
)) summoney from( select t2.ano,d.dmoney from ( select t1.*,c.cno from( select a.ano,b.bno from t_a ...
- 考查嵌入式C开发人员的最好的16道题
约定: 1) 下面的测试题中,认为所有必须的头文件都已经正确的包含了 2)数据类型 char 一个字节 1 byte int 两个字节 2 byte ( ...
- Sql Server 面试题
1.用一条SQL语句 查询出每门课都大于80分的学生姓名 name kecheng fenshu 张三 语文 81张三 数学 75李四 语文 ...
- Linux驱动开发相关
一般用printk 查看/etc/sysconf文件,看看内核调试信息放到了哪里 打印的消息一般放在/var/log/messages文件里面. 如果你是在X Windows下的XTerm中insmo ...
- [Android]通过setImageURI设置网络上面的图片
设置imageView显示网络上的图片 picUrl = new URL(getIntent().getExtras().getString("map_url")); Bitmap ...
- ulimit -c unlimited
tomcat 产生core日志: app:/usr/local/apache-tomcat-7.0.55_8082/logs# ulimit -a core file size (blocks, -c ...
- 107个常用Javascript语句
1.document.write( " "); 输出语句 2.JS中的注释为// 3.传统的HTML文档顺序是:document- >html- >(head,body ...