C++
文章平均质量分 50
WHCer
GitHub: https://github.com/WHCer
展开
-
Cpp_Primer--类型转换
1.隐式类型转换2.算术转换3.显示类型转换原创 2016-08-24 22:16:11 · 443 阅读 · 0 评论 -
CppPrimer笔记 Chapter13 拷贝控制
CppPrimer笔记 Chapter13 拷贝控制标签: CppCppPrimer笔记 Chapter13 拷贝控制概述拷贝赋值与销毁131拷贝控制和资源管理132动态内存管理类135对象移动136概述一个类通过定义五中特殊成员函数来控制对象的: 拷贝 移动 赋值 销毁 包括 拷贝构造函数 拷贝赋值运算符 移动构造函数 移动赋值运算符 析构函数拷贝,赋值与销毁(13.1)若一个原创 2017-03-14 23:17:23 · 246 阅读 · 0 评论 -
CppPrimer笔记 Chapter14 重载运算与类型转换
CppPrimer笔记 Chapter14 重载运算与类型转换标签: CppCppPrimer笔记 Chapter14 重载运算与类型转换基本概念141各种运算符142-148重载类型转换与运算符149基本概念(14.1)一般不要重载, & && || 运算符,无法保留求值顺序 和/或 短路求值属性.因为重载运算可以认为是函数调用(优先级与原优先级一致)选择作为成员或非成员 赋值= 下原创 2017-03-14 23:17:35 · 236 阅读 · 0 评论 -
CppPrimer笔记 Chapter15 面对对象程序设计
CppPrimer笔记 Chapter15 面对对象程序设计标签: CppCppPrimer笔记 Chapter15 面对对象程序设计OOP概述151派生类与基类152类型转换与继承虚函数152153抽象基类154访问控制符与继承155继承中的类作用域156构造函数与拷贝控制157OOP概述(15.1)OOP的核心在于(实现的核心) 数据抽象:将类的接口与实现分离继承:定义相原创 2017-03-14 23:18:30 · 227 阅读 · 0 评论 -
CppPrimer笔记 Chapter16 模板与泛型编程
CppPrimer笔记 Chapter16 模板与泛型编程标签: CppCppPrimer笔记 Chapter16 模板与泛型编程定义模板161模板实参推断162重载与模板163可变参数模板164模板特例化定义模板(16.1)定义函数模板(为什么以下调用了函数版本二?)using namespace std;template <typename T>int compare(con原创 2017-03-14 23:21:08 · 1023 阅读 · 0 评论 -
CppPrimer笔记 Chapter17 标准库特殊设施
CppPrimer笔记 Chapter17 标准库特殊设施标签: CppCppPrimer笔记 Chapter17 标准库特殊设施tuple类型171bitset类型172正则表达式173随机数174IO库再探175tuple类型(17.1)tuple的基本使用与操作 //tuple构造函数是explicit的 //tuple<int, int, int> threeD原创 2017-03-14 23:21:55 · 224 阅读 · 0 评论 -
CppPrimer笔记 Chapter18 用于大型程序的工具
CppPrimer笔记 Chapter18 用于大型程序的工具标签: CppCppPrimer笔记 Chapter18 用于大型程序的工具异常处理181命名空间182异常处理(18.1)当执行一个throw时,跟在throw后的语句将不再被执行,相反,程序的控制权从throw转移到与之匹配的catch模块.这意味着 沿着调用链的函数可能会提早退出一旦程序开始执行异常处理代码,则沿着调用链原创 2017-03-14 23:22:05 · 558 阅读 · 0 评论 -
CppPrimer笔记 Chapter19 特殊工具与技术
CppPrimer笔记 Chapter19 特殊工具与技术标签: CppCppPrimer笔记 Chapter19 特殊工具与技术控制内存分配191运行时类型识别RTTI192枚举类型193类成员指针194嵌套类195union类型196局部类197固有的不可移植的特性198控制内存分配(19.1)可以自定义operator new但不能改变new 运算符对象的new与dele原创 2017-03-14 23:22:15 · 260 阅读 · 0 评论 -
CppPrimer--顶层const与底层const
CppPrimer–顶层const与底层const标签(空格分隔): Cpp顶层 const 表示的是指针本身是一个常量, 底层const 表示的是指针所指的对象是一个常量, 更一般情况下, 顶层const可以表示任意对象本身是一个常量,这对于算术类型、类、指针等任何数据类型都是成立的顶层 const 与底层 const 在执行拷贝操作时的不同 (1)顶层 const 不受什么影响int原创 2017-03-14 23:25:01 · 257 阅读 · 0 评论 -
CppPrimer--数组名与指针& 函数名与函数指针
CppPrimer–数组名与指针& 函数名与函数指针标签(空格分隔): Cpp数组名与指针 使用的异同点(1)数组名的内涵在于其指代实体是一种数据结构,这种数据结构就是数组;(2)数组名的外延在于其可以转换为指向其指代实体的指针,而且是一个指针常量;(3)指向数组的指针则是另外一种变量类型(在WIN32平台下,长度为4),仅仅意味着数组的存放地址(4)数组名作为函数形参时,在函数体内,其失去了本身的原创 2017-03-14 23:25:50 · 340 阅读 · 0 评论 -
Cpp_Primer--左值与右值,求值顺序
1. 左值与右值 Lvalues and Rvalues 2.求值顺序原创 2016-08-24 17:11:50 · 607 阅读 · 0 评论 -
Cpp Primer--++a与a++
Cpp Primer–++a与a++标签(空格分隔): Cpp对于后缀++int a = 1;a = (a++)*3;//a = 4//a++ 相当于// int temp = a;// a = a+1;// return temp;//则上面为// a = temp*3 + 1;//因而 a++=3为错,由于a++返回了temp,为一个原创 2017-03-14 23:30:14 · 427 阅读 · 0 评论 -
问题汇总
个人问题原创 2016-08-22 21:12:02 · 320 阅读 · 0 评论 -
Cpp Primer--c++内置类型的默认初始化
Cpp Primer–c++内置类型的默认初始化标签(空格分隔): Cpp内置类型内置类型是编程语言自己定义的一些类型 在C++中内置类型有: 整型: ①整数 int、short和long ②字符型 char和wchar_t ③布尔型 bool 整型可用修饰:unsigned 浮点: float、double和long double 另外还定义了一种称为void的特殊类型。void原创 2017-03-15 12:06:09 · 938 阅读 · 0 评论 -
CppPrimer--算术运算符
CppPrimer–算术运算符Tags :CppCppPrimer算术运算符Tags Cpp一元正负号运算符-乘除求余逻辑运算符与或 运算符非 运算符关系运算符相等性测试与布尔字面值赋值运算符递增与递减运算符成员访问运算符条件运算符位操作符sizeof运算符逗号运算符算术运算符的运算对象和求值结果都是右值, 在表达式求值前,小整数类型的运算类型会被提升成较大的整数类原创 2017-03-15 12:07:41 · 500 阅读 · 0 评论 -
C++-自动析构时的顺序
C++:自动析构时的顺序标签(空格分隔): Cpp自动析构时是先析构后构造的. //普通(非模板)类的成员模板class DebugDelete{public: DebugDelete(ostream &s = cerr) :os(s){} template <typename T>void operator()(T*p)const { os << "de原创 2017-03-15 12:08:03 · 2549 阅读 · 0 评论 -
CppPrimer笔记 Chapter12 动态内存
CppPrimer笔记 Chapter12 动态内存标签: CppCppPrimer笔记 Chapter12 动态内存动态内存与智能指针121动态数组122动态内存与智能指针(12.1)shared_ptr允许多个指针指向同一个对象 指向shared_ptr所管理的对象智能指针可以认为是能记录有多少个指向相同对象,因而能在恰当时调用析构函数自动释放使用动态内存的三种原因 程序不知道自原创 2017-03-14 23:13:56 · 205 阅读 · 0 评论 -
CppPrimer笔记 Chapter9 顺序容器
CppPrimer笔记 Chapter9 顺序容器标签: CppCppPrimer笔记 Chapter9 顺序容器容器库概览92顺序容器操作93vector对象是如何增长的94容器适配器96容器库概览(9.2)没有默认构造函数的类,定义容器时不能只传递一个元素数目参数.(我认为是 类中包含一个其他类类型的成员且这个成员的类型没有默认构造函数,则编译器无法初始化该成员.)class X原创 2017-03-14 23:11:22 · 249 阅读 · 0 评论 -
Cpp_Primer--Chapter8--IO库
IO--文件操作与sstring原创 2016-09-04 13:15:32 · 179 阅读 · 0 评论 -
Cpp_Primer--学习的相关资源
第五版中文pdf文件链接密码:yo5m书中代码资源下载http://www.informit.com/store/c-plus-plus-primer-9780321714114 最下方Download课后习题解答https://github.com/Mooophy/Cpp-Primer转载 2016-08-30 20:56:12 · 489 阅读 · 0 评论 -
Cpp_Primer--函数
1.const 形参与实参-6.2.32.执行需要输入的main函数-6.2.53.函数重载与const_cast应用4.默认初始形参初始值5.重载与作用域-6.4.16.把内联函数和constexpr函数放在头文件内-6.5.27.获取一些DEBUG信息-6.5.38.函数匹配-6.69.函数指针6.7原创 2016-08-26 22:36:22 · 524 阅读 · 0 评论 -
Cpp_Primer--异常检测入门
异常检测Cpp_Primer 最浅显实例原创 2016-08-26 17:29:55 · 414 阅读 · 0 评论 -
Cpp_Primer--运算符
算术运算符原创 2016-08-24 19:41:37 · 425 阅读 · 0 评论 -
Cpp_Primer--Arrays
Arrays原创 2016-08-22 21:53:33 · 249 阅读 · 0 评论 -
Cpp_Primer--using注意事项 与 Range-Based for
Headers Should Not Include using Declarations Range-Based for原创 2016-07-30 01:21:38 · 255 阅读 · 0 评论 -
Cpp Primer - constexpr
Cpp Primer - constexpr原创 2016-07-26 23:37:45 · 405 阅读 · 0 评论 -
Cpp Primer杂记–extern const的声明注意
Cpp Primer杂记–extern const的声明注意结论:在用extern const 时,在.h文件中对const 的 object 进行的一些非声明操作在链接时会认为是定义而可编译而无法链接(重定义).解释: 错误代码: 这里多出file_2.h 嵌套在file_1.h中再include到main里,那么如果在file_2.h对bufSize进行了一些非声明操作会导致其的重定义.v原创 2016-07-21 23:47:20 · 269 阅读 · 0 评论 -
CppPrimer笔记 Chapter6 函数
CppPrimer笔记 Chapter6 函数标签: CppCppPrimer笔记 Chapter6 函数含有可变形参的函数基础626函数重载64默认实参651函数匹配66问题函数指针67含有可变形参的函数基础(6.2.6)实参类型相同,使用initializer_list#include <iostream>using namespace std;int sum(initializ原创 2017-03-14 23:06:05 · 289 阅读 · 0 评论 -
CppPrimer笔记 Chapter7 类
CppPrimer笔记 Chapter7 类标签(空格分隔): CppCppPrimer笔记 Chapter7 类this712构造函数基础714友元721734内联函数731可变数据成员731类的作用域74构造函数75类的静态成员76this(7.1.2)this默认为绑定在非常量对象上的常量指针.那么它不能用于常量类的访问.因此,常量对象,及其指针,引用,都只能调用常量成员函原创 2017-03-14 23:10:12 · 272 阅读 · 0 评论 -
CppPrimer笔记 Chapter8 IO库
CppPrimer笔记 Chapter8 IO库标签: CppCppPrimer笔记 Chapter8 IO库IO类81文件输入输出82IO类(8.1)IO对象无拷贝或赋值,因而也不能将形参或返回类型设置为流类型,通常以引用方式传递和返回流.由于读写一个IO对象会改变其状态,因此传递和返回的引用不能是const的bool(cin) 用于检测流状态,只要出现了 badbit(崩溃),fai原创 2017-03-14 23:10:40 · 270 阅读 · 0 评论 -
CppPrimer笔记 Chapter10 泛型算法
CppPrimer笔记 Chapter10 泛型算法标签: CppCppPrimer笔记 Chapter10 泛型算法概述101初识泛型算法102向算法传递函数1031lambda表达式1032-1033参数绑定1034迭代器1045类迭代器1051特定容器算法106移动迭代器P480概述(10.1)find(vec.it1,vec.it2,val);在[it1,it2)[it1原创 2017-03-14 23:11:49 · 255 阅读 · 0 评论 -
CppPrimer笔记 Chapter11 关联容器
CppPrimer笔记 Chapter11 关联容器标签: CppCppPrimer笔记 Chapter11 关联容器关联容器类型关联容器概述112无序容器114关联容器类型按关键字有序保存元素 map 不可重复,平衡二叉树set 不可重复,红黑树multimap 可重复multiset 可重复无序集合 unordered_map 无序不可重复,hashunordered_s原创 2017-03-14 23:12:03 · 265 阅读 · 0 评论 -
C++之三五法则
C++之三五法则标签(空格分隔): CppReference:What is the rule of three 1. 需要析构函数的类也需要拷贝构造函数和拷贝赋值函数。 2. 需要拷贝操作的类也需要赋值操作,反之亦然。 3. 析构函数不能是删除的 4. 如果一个类有删除的或不可访问的析构函数,那么其默认和拷贝构造函数会被定义为删除的。 5. 如果一个类有const或引用成员,则不能使用合原创 2017-03-15 12:08:54 · 4456 阅读 · 0 评论