自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 C++ Primer 第19章 知识点回顾

19.1控制内存分配new过程:一、operator new标准库函数,分配原始未构造内存;二、编译器运行相应构造函数;三、返回指针operator delete释放内存空间定位new: new (place_address) type (initializers),定位new允许我们在一个特定的。预先分配的内存地址上构造对象 1. 定位new与allocator的construct成员非常

2016-08-13 17:26:20 413

原创 C++ Primer 第18章 知识点回顾

18.1 处理异常异常对象用来初始化catch的参数异常声明的静态类型将决定catch语句所能执行的操作18.2 命名空间命名空间作用域后面无须分号 2. 对于命名空间中名字的隐藏规则来说有一个重要的例外,它是的我们可以直接访问输出运算符。这个例外是,当我们给函数传递一个类类型的对象时,除了在常规的作用域查找外还会找实参类所属的命名空间。这一例外对于传递类的引用或指针的调用同样有效在函

2016-08-13 12:26:08 310

原创 C++ Primer 第17章 知识点回顾

17.1 tuple类型17.2 bitset类型17.4.1 随机数引擎和分布引擎类型、分布类型default_random_engine e; cout<<e()<<endl;uniform_int_distribution<unsigned> u(0, 9);//指定分布类型 default_random_engine e; //将u作为随机数源 //每个调用返回在指定范围内并服从

2016-08-12 21:31:00 361

原创 C++ Primer 第16章 知识点回顾

16.1.1 函数模板非类型模板参数:用户提供的值必须是常量表达式,从而允许编译器在编译时实例化模板在模板定义内,模板非类型参数是一个常量值,在需要常量表达式的地方,可以使用非类型参数,例如指定数组的大小模板程序应该尽量减少对实参类型的要求函数模板与类模板成员函数的定义通常放在头文件中。而类成员函数和普通函数的定义通常放在源文件,同时类定义和函数声明放在头文件中16.1.2 类模板与函数

2016-08-12 10:01:05 276

原创 C++ Primer 第15章 知识点回顾

15.2.1 定义基类派生类可以继承定义在基类中的成员,但是派生类的成员函数不一定有权访问从基类继承而来的成员。和其他使用基类的代码一样,派生类能访问公有成员,而不能访问私有成员。15.2.2 定义派生类声明派生类,声明中更包含类名但是不能包含它的派生类列表class NoDerived final {/*..*/}//防止继承15.3 虚函数所有虚函数都必须有定义把某个函数指定为fi

2016-08-10 20:51:22 426

原创 C++ Primer 第14章 知识点回顾

14.1 基本概念通常情况下,不应该重载逗号,取地址,逻辑与,逻辑或运算符重载运算符至少含有一个类类型的参数。14.2.1 重载输出运算符<<ostream& operator<<(ostream& os,const Sales_data& item);通常,输出运算符应该主要负责打印对象的内容而非控制格式,输出运算符不应该打印换行符IO运算符通常需要读写类的非公有数据成员,所以IO运算

2016-08-09 21:15:37 376

原创 C++ Primer 第13章 知识点回顾

13.1.1 拷贝构造函数直接初始化:根据参数选择最匹配的构造函数拷贝初始化:使用拷贝构造函数或移动构造函数来完成,要求编译器将右侧运算对象拷贝到正在创建的对象中,如果需要的话还要进行类型转换Foo(const Foo&);//声明拷贝构造函数有explicit构造函数的对象只能使用直接初始化如果我们没有为一个类定义拷贝构造函数,编译器会为我们定义一个。即使我们定义了其他构造函数,编译器也

2016-08-08 22:23:31 474

原创 C++ Primer 第12章 知识点回顾

静态内存(局部static对象,类static成员,全局变量)、栈内存(函数内非static变量)、堆(也叫自由空间,存储动态分配的对象,即运行时分配)。动态对象生存期由程序来控制,其他对象由编译器自动创建和销毁。12.1.1 shared_ptr类程序使用动态内存处于一下三种原因之一: 程序不知道自己需要使用多少对象程序不知道所需对象的准确类型程序需要在多个对象间共享数据12.1.2 直

2016-08-07 19:35:17 487 5

原创 C++ Primer 第11章 知识点回顾

11.2.2关键字类型的要求在实际编程中,重要的是,如果一个类型定义了“行为正常”的<运算符,则他可以用作关键字类型。用来组织一个容器中元素的操作的类型也是该容器类型的一部分,为了指定使用自定义的操作,必须在定义关联容器类型是提供此操作的类型。自定义的操作类型必须在尖括号中紧跟元素类型给出 //定义了比较函数,比较操作类型应该是一种函数指针类型 multiset<Sales_data,dec

2016-08-07 11:41:43 497

原创 C++ Primer 第10章 知识点回顾

10.2.2 写容器元素的算法我们常常使用back_inserter来创建一个迭代器,作为算法的目的位置来使用fill_n(back_inserter(vec),10,0);(每次赋值都会在vec上调用push_back),使用back_inserter按需要增长目标序列10.2.3 重排容器元素的算法标准库算法对迭代器而不是容器进行操作,因此,算法不能直接添加或删除元素10.3.1 向算法

2016-08-06 20:58:31 309

原创 C++ Primer 第9章 知识点回顾

9.2.3 begin和end成员实际上有两个名为begin的成员,一个是const成员,返回const_iterator,另一个是非常量成员,返回iterator,构成重载auto it=a.begin();//仅当a是const,it是const_iterator;9.2.4 定义和初始化只有顺序容器的构造函数才接受大小参数,关联容器并不支持将一个容器初始化为另一容器的拷贝:接受迭代器范

2016-08-06 10:52:51 248

原创 C++ Primer 第8章 知识点回顾

暂时无

2016-08-05 18:55:38 209

原创 C++ Primer 第7章 知识点回顾

7.1 定义抽象数据类型定义在类内部的函数是隐式inline函数成员函数通过一个名为this的额外的隐式形参来访问调用它的那个对象。当我们调用一个成员函数时,用请求该函数的对象地址初始化this,例如total.isbn()则编译器负责吧total的地址传递给isbn的隐式形参this。因为this的目的总是指向“这个”对象,所以this是一个常量指针,我们不允许改变this中保存的地址。常量

2016-08-05 17:07:28 463

原创 C++ Primer 第6章 知识点回顾

6.1.1 局部对象如果局部静态变量没有显式的初始值,它将执行值初始化。内置类型的局部静态变量初始化为06.2.3 const形参和实参形参的顶层const被忽略掉了,故void fcn(const int i);void fcn(int i);表示同一个函数,不会构成重载6.2.4 数组形参int (&arr)[10]c++允许将变量定义成数组的引用,此时,引用形参绑定到对应的实参上,也

2016-08-04 22:17:58 320

原创 C++ Primer 第5章 知识点回顾

5.3.2 switch语句switch语句计算一个整型表达式的值,然后根据这个值从几条执行路径中选择一条。case关键字和她对应的值被一起称为case标签,case标签必须是整型常量表达式5.5.4 do while语句condition不能为空,condition使用的变量必须定义在循环体之外,不允许在条件部分定义变量

2016-08-04 14:51:30 259

原创 C++ Primer 第4章 知识点回顾

4.2 算术运算符(-m)/n和m/(-n)都等于-(m/n),m%(-n)等于m%n,(-m)%n等于-(m%n)4.3 逻辑和关系运算符进行比较运算时除非比较的对象是布尔类型,否则不要使用布尔字面值true和false作为运算对象&&、||、条件运算符、逗号运算符规定了求值顺序,对于没有规定运算对象求职顺序的运算符,可能产生未定义行为4.8 位运算符& 、|、~重载运算符的优先级和

2016-08-04 10:32:13 394

原创 C++ Primer 第3章 知识点回顾

3.2.2 string对象上的操作在执行读取操作时,string对象会自动忽略开头的空白(即空格符、换行符、制表符等)从第一个真正的字符开始读起,直到遇见下一个空白为止。getline(cin,str)//读取一整行,遇到换行符结束。把换行符也读进来了,但是没有保存到str中3.5.1 定义和初始化内置数组数组的维度必须是一个常量表达式,默认情况下,数组的元素被默认初始化int *(&a

2016-08-03 21:24:24 330

原创 C++ Primer 第2章 知识点回顾

2.3.1 引用引用必须被初始化引用并非对象,不能定义引用的引用引用只能绑定到对象上,而不能与字面值或某个表达式的计算结果绑定在一起2.3.2 指针因为引用不是对象,没有实际地址,所以不能定义指向引用的指针预处理器是运行于编译过程之前的一段程序,当用到一个预处理变量时,预处理器会自动的将它替换为实际值引用本身不是一个对象,因此不能第一指向引用的指针。但指针是对象,所以存在对指针的引用

2016-08-02 23:12:41 347

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除