随笔分类 -  C++ Skills

摘要:1、函数异常void fun() throw(runtime_error);表明该函数能够抛出一个runtime_error的异常。void fun() throw();空说明表示该函数不抛出任何异常。异常说明是函数声明的一个部分。声明处的异常和实现处的异常必须一样。如果函数内部抛出了一个违反说明的异常,那么就调用unexpected函数比如说void f() throw(){ throw exception();}上面的函数已经说明了不会抛出异常,但是还是抛出了一个异常,这时就会调用unexpected函数。2、类的继承当从一个类继承的时候,函数的异常也会从基类继承出来,如果基类是抛出了一. 阅读全文
posted @ 2012-11-07 23:52 HighFUN 阅读(306) 评论(0) 推荐(0) 编辑
摘要:C++标准库的智能指针是一个模版类,为动态分配的对象提供异常安全。——非常不好用。1、创建auto_ptr<int> ap;auto_ptr<int> ap1(ap);auto_ptr<int> ap2(p);第一个是创建未绑定自动指针;第二个是将自动指针ap传递给ap1,ap1指向ap原来的指针,同时ap变成未绑定的自动指针。第三个是创建一个绑定指针的p的自动指针。2、赋值1 ap1 = ap2;将ap2的指针传递给ap1,同时ap2变成未绑定的3、绑定对象的引用*ap4、ap.reset(p) 将ap绑定到p。5、ap.release()返回ap绑定的指 阅读全文
posted @ 2012-11-06 00:02 HighFUN 阅读(156) 评论(0) 推荐(0) 编辑
摘要:1、寄存器变量 寄存器变量是存放在寄存器中的,使用关键字register来定义,寄存器变量只能定义在函数中,不能用取地址符“&”来操作,因为它在寄存器中,不在内存中,因此没有地址,寄存器变量数量是有限制的,超过限制的变量自动转为自动变量。其优点是速度快。2、volatilevolatile表示的是变化的,异变的。告诉编译器不要去假设这个变量的值,每次使用的时候要重新读取这个变量的值。 一般在嵌入式的开发中比较常见,或者在多线程中比较常见。 1 int i = 0; 2 void fun(LPVOID p) 3 { 4 i = 3; 5 cout<<"fun&quo 阅读全文
posted @ 2012-10-31 00:47 HighFUN 阅读(189) 评论(0) 推荐(0) 编辑
摘要:1、八进制数 int a = 010;八进制数以0开头,上面的a是9不是10;2、define一个常数#define A 123456UL其中UL表示是一个非负的长整数,一般在16位系统中会这么做。3、#define一个min函数#define MIN(a,b) ((a)<(b)?(a):(b))很多人忘记了最外面的括号4、typedef和define的区别typedef是编译的一部分,typedef是一个别名,因此具有类型检查的功能。define是预编译的一部分,发生在编译之前,仅仅是进行简单的字符串的替换,没有类型检查的功能。另外define可以实现函数的功能,但是typedef不行 阅读全文
posted @ 2012-10-25 00:10 HighFUN 阅读(205) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示