函数参数的传递顺序
{
func( new Obj1, new Obj2);
}
当执行func
函数时, 他的参数 是 从右往左扫描的!!!
即, 先执行 第二个参数: Obj2的构造函数
会先执行
然后, 再执行 第一个参数: Obj1的构造函数
会后执行;
这正好是 逗号表达式 相反的; new Obj1, new Obj2;
: 先是Obj1的构造, 然后是Obj2的构造
数组传参
------------------------------回顾指针--------------------------------
所有的指针问题,都可以划分为 两大类
1, 元素指针 (一个指针,他指向的是一个元素 T)
即使是: T* ptr = &arr[0][0];
' 虽然arr是数组,但 ptr指向的 还是一个元素!!! 只不过是数组里的元素 '
' 使用也很简单: 要么是*ptr *(ptr + i) , 要么是ptr[i] '
' 注意,不可以ptr[1][1]的使用!!! 因为ptr只是个T类型的指针 '
' 不支持多维操作!! 只能是一维,即 ptr[i] '
' 只不过,他的一维 也代表了多维. '
' T arr[2][2]; T* ptr = &arr[0][0]; 则 ptr[3] == arr[1][1] '
' & ptr[3] == & arr[1][1] '
2, 数组指针 (一个指针,他指向的是一个数组(>=1维的数组))
T arr[2];