随笔分类 - 转载
摘要:1. 初始化一个引用变量必须在定义的时候。而所有的运算符操作都被视为赋值而不是初始化,所以引用参数的初始化必须在初始化列表中进行。class Test{ public: Test(int val) : ref_(val){} ~Test() {} private: int & ref_;}; int main(){ Test t(1); return 0; } 也许你不会碰见任何问题,但这里我们会发现val是一个形式参数,但构造函数执行完后它会自动释放,所以更好的方式是: class Test{ public: Test(int &val) : ref_(val){} ~...
阅读全文
posted @ 2013-06-03 14:30
成长的点点滴滴
摘要:某些情况下希望函数的参数个数可以根据需要确定。典型的例子有大家熟悉的函数printf()、scanf()和系统调用execl()等。那么它们是怎样实现的呢?C编译器通常提供了一系列处理这种情况的宏,以屏蔽不同的硬件平台造成的差异,增加程序的可移植性。这些宏包括va_start、va_arg和va_end等。 ----采用ANSI标准形式时,参数个数可变的函数的原型声明是: typefuncname(typepara1,typepara2,...) ----这种形式至少需要一个普通的形式参数,后面的省略号不表示省略,而是函数原型的一部分。type是函数返回值和形式参数的类型。 ----采用与UN
阅读全文

浙公网安备 33010602011771号