博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2010年8月21日

摘要: 复制控制:赋值操作符,复制构造函数,析构函数复制构造函数:是一种特殊构造函数,具有单个形参,该形参(常用const修饰)是对该类类型的引用。析构函数:构造函数的互补,用来释放对象。不管是否显式定义了析构函数,编译器都会自动执行类中非static数据成员的析构函数。赋值操作符:可以通过指定不同类型的右操作数而重载,右操作数为类类型的版本的比较特殊,如果我没定义,编译器会自动生成一个。复制构造函数用途... 阅读全文

posted @ 2010-08-21 00:24 KurtWang 阅读(396) 评论(0) 推荐(0) 编辑

2010年8月20日

摘要: 类就是定义了一个新的类型和新的作用域,基本思想是数据抽象和封装数据抽象:接口与实现分离封装:将低层次的元素组合起来形成新的、高层次实体优点:避免类内部出现无意的、可能破坏对象状态的用户级错误。随时间推移可以根据需求改变或曲线报告来完善类实现。在类内部定义的函数,默认为inline,inline函数定义必须放在调用该函数的每个源文件可见的,即应放在头文件中。this指针非const函数中,this是... 阅读全文

posted @ 2010-08-20 23:50 KurtWang 阅读(276) 评论(0) 推荐(0) 编辑

摘要: 泛型算法从不执行容器操作,只是单独的依赖迭代器和迭代器操作实现,算法从不直接添加和删除元素(算法可以通过插入器(inserter)执行插入,对插入器赋值即可插入)。 只读算法: find(begin, end, search_value); accumulate(begin, end, 初值) find_first_of(begin1, end1, begin2, end2):在begin1... 阅读全文

posted @ 2010-08-20 00:04 KurtWang 阅读(361) 评论(0) 推荐(1) 编辑

2010年8月19日

摘要: 关联容器:Map(<key,value>), Set(<key>), MultiMap(key可以重复), MultiSet(key可以重复)pair类型初始化:pair<T1,T2> p1; pair<T1,T2> p1(v1,v2); make_pair(v1,v2)pair比较,先比较first,再比较secondpair相等,first相等且... 阅读全文

posted @ 2010-08-19 23:16 KurtWang 阅读(418) 评论(0) 推荐(0) 编辑

摘要: 顺序容器:vector(快速随机访问); list(快速插入删除); deque(双端队列) 顺序容器适配器:stack 后进先出,栈; queue 后进先出,队列; priority_queue 优先队列; 初始化 C<T> C:空容器,所有容器使用 C c(c2):创建c2的副本,要求c2与C元素类型一致,所有容器使用 C c(b,e):迭代器b和e范围内的副本,所有容器... 阅读全文

posted @ 2010-08-19 00:09 KurtWang 阅读(739) 评论(0) 推荐(0) 编辑

2010年8月18日

摘要: 所有的流都是由char类型组成的流。在流前加上w,即变成支持宽字符的流,如wstream,wfstream。IO对象不可复制或赋值不可放在vector等容器中,因为容器中元素必须支持复制流不能作为形参或返回类型IO标准库状态:strm::iostate(值为badbit, failbit,eofbit)s.eof(), s.fail(), s.bad(), s.good() 返回bools.cle... 阅读全文

posted @ 2010-08-18 22:45 KurtWang 阅读(325) 评论(0) 推荐(0) 编辑

摘要: 参数传递: 如果形参是非引用,则复制实参,如果只是引用,则只是实参的别名 const形参:具有const或非const形参的函数无区别,e.g. void fcn(const int i) 和 void fcn(int i)是重复定义 复制实参的局限性:1.需要修改实参 2. 大型对象 3. 无法实现对象复制。可定义为引用和指针类型 建议使用const引用形参 如果使用引用形参唯一目的是避免复... 阅读全文

posted @ 2010-08-18 00:14 KurtWang 阅读(450) 评论(0) 推荐(0) 编辑

2010年8月17日

摘要: switch 语句:误解:程序只会执行匹配的case标号相关联的语句,实际上程序会从该点开始,并跨越case边界继续执行,直到break。只能在最后一个case或default后面定义变量while语句:在循环条件中定义的变量在每次循环时都要经历创建和撤销的过程 阅读全文

posted @ 2010-08-17 23:02 KurtWang 阅读(157) 评论(0) 推荐(0) 编辑

摘要: 位操作符:~求反,&位与,|位或,^位异或位异或,b1^b2,b2中的1,b1中对应的那一位取反,b2中的0,b1中对应的那一位不变自增和自减:只有在必要时才使用后置操作符(i++,i--),推荐使用++i, –i前置操作需要做的事情更少,只需加1后返回加1的结果即可,不需要保存原来的值。sizeofsizeof对char结果是1对引用类型做sizeof,将返回此类型对象所需的... 阅读全文

posted @ 2010-08-17 22:21 KurtWang 阅读(207) 评论(0) 推荐(0) 编辑

摘要: 数组定义和初始化维数:必须为整型字面值常量,枚举常量或者常量表达式初始化的整型const对象。非const变量和直到运行阶段才知道的其值的变量不能作为维数(例如const unsigned sz=get_size(),sz虽然是const,但直到运行时刻才知道值,所以sz不能用作维数)。如果没有显式初始化:在函数体外定义的内置类型数组,元素均被初始化为0;在函数体内定义的内置类型数组,无初始化;不... 阅读全文

posted @ 2010-08-17 01:27 KurtWang 阅读(403) 评论(0) 推荐(0) 编辑