4.1
105
4.2
无
4.3
我认为这个是可以接受的,c++的生成效率在c++中占有重要的位置,如果不是专业人员,尽量不要碰未定义的行为。
4.6
if((a%2)==1) return 1; else
4.7
计算的结果超出该类型所能表示的范围就会溢出
4.8
= & ||
4.9
先判断cp的值是否为真,再判断cp指向的对象是空集,取他们的并集
4.10
while(cin>>i&&i!=42);
4.12
首先判断j<k的结果 再讲结果与i比较 判断i是否等于该结果
4.13
i=3 d=3 d=3.5 i=3;
4.14
1.报错
2.if内的语句总为真,继续执行下面的内容
4.15
double 与int之间的类型转换会造成数据丢失 而指针变量只能有指针初始化
4.16
1.可能会先判断!=
4.17
前置版本得到递增之后的值
后置版本得到递增之前的值
4.18
第一个值将不会显示
++*显示的是变化后的结果
最后会引用end指向的内容,产生未定义的行为
4.19
a.ptr不是空指针 并且ptr指向的内容不为0 移向下一指针
b.ival加1 并且ival不为0
c.错误行为。报错
4.20
1.得到当前迭代器结果 并且指向下一迭代器
2.string对象不能++
3.错误
4.判断当前迭代器是否为空
5.string对象不能++
6.判断下一迭代器是否为空