上一页 1 ··· 53 54 55 56 57 58 59 60 61 ··· 75 下一页
摘要: 1、static成员函数没有this形参,它可以直接访问所属类的static成员,但不能直接使用非static成员。2、可以通过作用域操作符,对象,引用,指针来调用static成员。3、在类外给static成员数据赋值,或定义成员函数时不必要再指定static。4、因为 static 成员不是任何对象的组成部分,所以 static 成员函数不能被声明为 const。毕竟,将成员函数声明为 const 就是承诺不会修改该函数所属的对象;也不能声明为虚函数。保证对象正好定义一次的最好办法,就是将 static 数据成员的定义放在包含类非内联成员函数定义的文件中。5、整型const static数据 阅读全文
posted @ 2011-03-22 15:04 浪里飞 阅读(1082) 评论(1) 推荐(0) 编辑
摘要: 1、成员可以是数据,函数或类型别名(typedef定义的)。2、const必须同时出现在声明和定义中。3、重载的成员函数和普通函数应用相同的规则:两个重载成员的形参数量和类型不能完全相同。也可以根据const来定义。T& display(std::ostream &os){...}const T& display(std::ostream &os) const{...}4、inline在声明和定义处指定都是合法的。5、可以声明一个类而不定义它,这个声明有时称为前向声明(forward declaration),声明的类是一个不完全类型(incompete typ 阅读全文
posted @ 2011-03-22 11:55 浪里飞 阅读(507) 评论(0) 推荐(0) 编辑
摘要: 1、三种迭代器1)插入迭代器(insert iterator):迭代器适配器,与容器绑定在一起,实现在容器中插入元素的功能。形参为一个迭代器和一个指向容器的引用。• back_inserter,创建使用 push_back 实现插入的迭代器,形参为指向容器的引用的迭代器适配器。• front_inserter,使用 push_front 实现插入。• inserter,使用 insert 实现插入操作。除了所关联的容器外,inserter还带有第二实参:指向插入起始位置的迭代器。Inserter在它的迭代器实参所指的位置前面插入新元素。replace_copy (ivec.begin(), i 阅读全文
posted @ 2011-03-21 17:29 浪里飞 阅读(844) 评论(0) 推荐(0) 编辑
摘要: 1、泛型,指的是他们可以操作在多种容器类型上-不但可作用于 vector 或 list这些标准库类型,还可用在内置数组类型、甚至其他类型的序列上。自定义的容器类型只要与标准库兼容,同样可以使用这些泛型算法。2、在这里讨论的迭代器范围一般为[begin, end)这种左闭包形式。3、算法基于迭代器实现及其操作实现。算法从不直接改变它所操作的序列的大小;如果算法的实参是插入迭代器,则该迭代器会添加新元素,但算法并不直接这么做;如果需要添加或删除元素,则必须使用容器操作。理解算法的最基本方法是了解该算法是否读元素,写元素,或者对元素进行重新排序。4、初学者常犯的错误是:在没有元素的容器上调用fill 阅读全文
posted @ 2011-03-21 15:33 浪里飞 阅读(677) 评论(0) 推荐(0) 编辑
摘要: 1、map 和 set 容器中,一个键只能对应一个实例。multimap和multiset类型允许一个键对应多个实例。其支持的操作分别与map和set的操作相同,只有一个例外,multimap不支持下标运算。set与multiset专门用于存储键。2、关联容器 map 和 set 的元素是按顺序存储的。而 multimap 和multset 也一样。因此,在 multimap 和 multiset 容器中,如果某个键对应多个实例,则这些实例在容器中将相邻存放。迭代遍历 multimap 或 multiset 容器时,可保证依次返回特定键所关联的所有元素。3、在multimap与multiset 阅读全文
posted @ 2011-03-20 19:44 浪里飞 阅读(686) 评论(0) 推荐(0) 编辑
摘要: 1、关联容器和顺序容器的本质差别在于:关联容器通过键(key)存储和读取元素,而顺序容器则通过元素在容器中的位置顺序存储和访问元素。2、map 的元素以键-值(key-value)对的形式组织:键用作元素在 map 中的索引,而值则表示所存储和读取的数据。3、关联容器类型map关联数组:元素通过键来存储和读取set大小可变的集合,支持通过键实现的快速读取multimap支持同一个键多次出现的 map 类型multiset支持同一个键多次出现的 set 类型4、pair类型pairs 类型提供的操作pair<T1, T2> p1;创建一个空的 pair 对象,它的两个元素分别是 T1 阅读全文
posted @ 2011-03-20 14:28 浪里飞 阅读(596) 评论(3) 推荐(0) 编辑
摘要: 1、size 指容器当前拥有的元素个数;而 capacity 则指容器在必须分配新存储空间之前可以存储的元素总数。而reserve操作则告诉vector容器应该预留多少元素的存储空间。2、通常来说,除非找到选择使用其他容器的更好理由,否则vector 容器都是最佳选择。3、除了顺序容器,标准库还提供了三种顺序容器适配器:queue(FIFO queue,简称queue)、priority_queue 和 stack。适配器(adaptor)是标准库中通用的概念,包括容器适配器、迭代器适配器和函数适配器。4、适配器通用的操作和类型size_type 一种类型,足以存储此适配器类型最大对象的长度v 阅读全文
posted @ 2011-03-19 20:02 浪里飞 阅读(685) 评论(0) 推荐(0) 编辑
摘要: 1、string操作 string s; 定义一个新的空 string 对象,命名为 s string s(cp); 定义一个新的 string 对象,用 cp 所指向的(以空字符null 结束的)C 风格字符串(可以为字符串或字符数组,但是需以null结束)初始化该对象。但是,这个数组的所有字符,除null外,都被复制到新创建的string对象中。 string s(s2); 定义一个新的 s... 阅读全文
posted @ 2011-03-19 18:26 浪里飞 阅读(757) 评论(0) 推荐(0) 编辑
摘要: 1、所谓泛型,指的是两个方面:这些算法可作用于各种不同的容器类型,而这些容器又可以容纳多种不同类型的元素。2、顺序容器:将单一类型元素聚集起来成为容器,然后根据位置来存储和访问这些元素。顺序容器vector支持快速随机访问list 支持快速插入/删除deque 双端队列顺序容器适配器stack 后进先出(LIFO)堆栈queue 先进先出(FIFO)队列priority_queue 有优先级管理的队列3、容器元素的初始化容器构造函数C<T> c; 创建一个名为 c 的空容器。C 是容器类型名,如 vector,T 是元素类型,如 int 或 string 适用于所有容器。C c(c 阅读全文
posted @ 2011-03-18 23:52 浪里飞 阅读(661) 评论(0) 推荐(0) 编辑
摘要: 1、文件的输入输出由于历史原因,IO 标准库使用 C 风格字符串而不是 C++strings 类型的字符串作为文件名。如果要把fstream对象与另一个不同的文件关联,则必须先关闭(close)现在的文件,然后打开(open)另一个文件。2、读文件中文件流的状态如果程序员需要用文件流读写多个文件,必须在读另一个文件之前调用clear清除该流的状态。示例程序// for each file in the vectorwhile (it != files.end()) { ifstream input(it->c_str()); // open the file; // if the fil 阅读全文
posted @ 2011-03-18 17:42 浪里飞 阅读(339) 评论(0) 推荐(0) 编辑
上一页 1 ··· 53 54 55 56 57 58 59 60 61 ··· 75 下一页