Chinaunix首页 | 论坛 | 博客
  • 博客访问: 291515
  • 博文数量: 111
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 816
  • 用 户 组: 普通用户
  • 注册时间: 2014-05-04 20:35
文章分类

全部博文(111)

文章存档

2016年(1)

2015年(5)

2014年(105)

我的朋友

分类: C/C++

2014-06-08 22:49:41


——任何规则都不可能完全一致,以至于不能容许任何例外

一、基本类型
1. 指针:指向常量的指针 vs 指向指针的常量
    a. 指向常量的指针:const char *p
    b. 指向指针的常量:char* const p
2. 引用:声明时必须赋值
3. 指向void的指针:可以从别的指针类型转换为void*,  反之必须适用static_cast()
4. new: 返回指针,对象分配在堆
    a. 异常函数set_new_handler(fn)
5. static_case:相近类型的转换,reinterpret_case是完全不相关的类型的转换——最好都不用
6. 递归与迭代:其实迭代更接近循环,是对另外函数的调用;递归是对自身的调用,必须有递归出口,否则无限循环
7.extern
   a. 声明变量:表明变量在本文件之后或者其他文件中定义,提供多个文件使用同一个变量的功能
   b. 函数声明:同上
   c. extern "C":函数用C的标准编译
8. 函数指针
   a. void (*fp)(string) //声明函数指针可以指向的原型(参数,返回值)
   b. void error(string s) //可以被指向的函数实体
   c. fp =&error //赋值函数指针
   d. fp("abcd") //通过指针调用函数
9. 不定数目的函数参数:printf(const char* s ...)
10. atexit:注册程序退出时的执行代码
    a. 代码顺序:定义对象1->atexit(函数)->定义对象2
    b. 销毁顺序:销毁对象2->定义函数->销毁对象2
11. 名字查找
   namespace xxx {
   class type1{};
   void f(type1)
    }
  void main()
{
   void f(xxx::type1 t) //正确, 会到xxx中找f定义
}

阅读(596) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~