C++的vector容器相当于提供了长度可变的数组。但是这个“数组”的长度是如何增长的呢?详见C++ Primer(第五版),9.4节。写了一个程序来测试 1 /* vector对象是如何增长的 2 * gcc version 4.8.1 3 */ 4 5 #include 6 #inclu...
分类:
其他好文 时间:
2015-03-10 19:14:50
阅读次数:
103
第14章 操作重载与类型转换
1. 可以直接调用重载的运算符函数.
但是如果对于一个运算符比如+号,既有重载的成员函数,又有重载的非成员函数,那么此时如果直接使用+号,那么就会出现错误.
因为编译器不知道要调用那个运算符.
2. 逗号,运算符
逻辑与&&运算符
逻辑或||运算符不建议重载.
因为上述3种运算符本身是有求值顺序和短路求值特性...
分类:
编程语言 时间:
2015-03-10 10:31:07
阅读次数:
183
第15章 面向对象程序设计
1. 构造基类和派生类。
其中A类是基类,B类是派生类。派生类的构造函数必须重新写过,不能继承。(因为毕竟两个类的类名都不一样,不可能构造函数继承)只继承其他的成员函数和成员变量。
派生类可以覆盖基类的虚函数,但是也可以选择不覆盖(即直接使用父类的函数版本)比例A类的print_1()虚函数就没有被覆盖。
基类的静态成员:如果基类有一个静态成员...
分类:
编程语言 时间:
2015-03-10 10:28:45
阅读次数:
146
C++中默认构造函数就是没有形参的构造函数。准确的说法,按照《C++ Primer》中定义:只要定义一个对象时没有提供初始化式,就是用默认构造函数。为所有 的形参提供默认实参的构造函数也定义了默认构造函数。
合成的默认构造函数,即编译器自动生成的默认构造函数。《C++ Primer》中的说明:一个类哪怕只定义了一个构造函数,编译器也不会再生成默认构造函数。这条规则的根据是,如果一个类再某种情况下...
分类:
编程语言 时间:
2015-03-09 22:33:35
阅读次数:
221
第9章 顺序容器
1. 顺序容器如果有一个只需要容器大小参数的默认构造函数,该函数使用的是元素的默认构造函数来构造每个元素对象,如果该容器的元素没有默认构造函数,那么就不能使用这个容器的该构造函数P294:
2. 容器进行拷贝初始化时,两个容器的元素必须同类型.
但是如果列表初始化,或迭代器范围初始化容器,那么只要求列表中元素或迭代器所指元素可以转化为容...
分类:
编程语言 时间:
2015-03-09 11:02:04
阅读次数:
119
第10章 泛型算法
1. find()泛型算法使用示例:
2. 只读算法accumulate:对所给范围的元素求和并返回. 注意accumulate的第3个参数决定着它的返回类型. 即如果第3个参数是double,就算迭代器里都是int,最终还是返回double类型的数.
3. 只读算法equal:比较前两个迭代器表示范围的所有元素是...
分类:
编程语言 时间:
2015-03-09 11:00:18
阅读次数:
141
第11章 关联容器
1. 使用map的简单例子:
运行结果为:
2. 初始化map和set:
3. set与multiset的区别:
4. 使用map和set时,其元素类型必须是定义了严格弱序的(即定义了号比较的),如果元素类型没有定义
5. pair类型:pair是一个用来生成特定类型的模板. pa...
分类:
编程语言 时间:
2015-03-09 10:58:03
阅读次数:
294
第12章 动态内存
1. 申请并使用shared_ptr. P400
2. shared_ptr计数. P402
赋值, 拷贝, 向函数传递一个智能指针, 或函数返回一个智能指针都会增加当前智能指针的计数.
3. 不同对象间利用智能指针共享数据的例子.
4. 使用new来动态申请内存. P407
默认情况下...
分类:
编程语言 时间:
2015-03-09 10:57:10
阅读次数:
133
第13章 拷贝控制
1. 什么是拷贝构造函数? P440
如果一个类的构造函数的第一个参数是自己类类型的引用, 且所有其他参数都有默认值, 那么这就是一个拷贝构造函数.
2. 拷贝初始化和直接初始化. P441
如果初始化的时候使用等号”=”来初始化一个对象, 那么就是拷贝初始化.
相反, 如果初始化时, 没有用等号”=”, 那么就是直接初始化.
...
分类:
编程语言 时间:
2015-03-09 10:55:56
阅读次数:
244
这两天在重新学习c把《C Primer plus》的代码重新敲一遍进行学习,但是有个程序一直没有整过去,能够变异无法运行,在变量常量里改来改去,一直找不到原因,最后发现原因是:/*rows2.c--使内部循环依赖于外部循环的嵌套循环*/#include//int mian(void)--------...
分类:
其他好文 时间:
2015-03-09 10:51:15
阅读次数:
133