2.3程序转化语意学
1. X是一个class, 已知有X x0; 那么,
(1)X x1(x0);
(2)X x2 = x0;
(3)X x3 = X(x0); 有什么不同?各自的效率如何?(P61, P70)
2. 把一个class object 当作参数传给一个函数的时候,编译器会怎么做?(P62-P63)
3. 一个函数返回一个class object的时候,编译器会怎么做?(P63)
4. 一个函数,
X bar(const T& y, const T& z)
{
return X(y, z);----------------L1
}
请问L1这一句这么写有什么效果?(65-66)
5. NVR优化的过程是什么?好处是什么?(P66-P67)
6. 编译器实施NVR优化的必要条件是什么?(P67)
7. NVR被批评的原因有那些?(P68-P70)
8. 什么时候应该自己写”Copy constaructor”?原因是什么?(P72-P73)
2.4成员们的初始化队伍
1. 什么情况下必须使用一个”initialization list”?(P74-P75)
2. “member initialization list”是一组函数调用吗?(P76-P77)
3. “member initialization list”的调用顺序是根据什么来排的?(P77)
4. “member initialization list”被放在函数的什么地方?(P79)
5. 在“member initialization list”中, 能否用一个member function 来设定一个member的初值?应该注意些什么?(P79-P80)
本文地址:http://com.8s8s.com/it/it2229.htm