C++ primer plus(第六版)
文章平均质量分 86
C++ primer plus(第六版)第六版 笔记,纯自己看的,部分有参考意义。另一些个人感觉比较有用的demo程序
金色暖阳
总结一下工作中遇到的各种问题,以及解决方法,权当纪念
展开
-
C++四种类型转换运算符
类型转换运算符在c种允许以下转换struct Junk{ int junk[100];};Data d = { 11,23,124 };char* pch = (char*)(&d);char ch = char(&d);Junk* pj = (Junk*)(&d);C++新增dynamic_cast若A是B的基类, A *a,B b;则a = dynamic_cast<A >b;在类层次结构中进行向上转换const_cast该运算符用原创 2021-05-08 13:58:09 · 382 阅读 · 1 评论 -
标准模板库方法和函数
标准模板库方法和函数STL和C++11大部分容器都有的成员序列容器的其它成员set和map的其它操作无序列关联容器(C++11)STL函数非修改式序列操作修改序列操作排序和相关操作数值运算标准模板库(STL)旨在提供通用算法的高效实现,它通过通用函数 (可用于满足特定算法要求的任何容器)和方法(可用于特定容器类实例)来表达这些算法。STL和C++11大部分容器都有的成员序列容器的其它成员set和map的其它操作无序列关联容器(C++11)STL函数非修改式原创 2021-02-08 16:21:21 · 140 阅读 · 0 评论 -
模板类String
模板类String13种类型和一个常量数据信息,构造函数以及其它字符串存取基本赋值字符串搜索13种类型和一个常量数据信息,构造函数以及其它字符串存取基本赋值字符串搜索原创 2021-02-08 15:28:59 · 200 阅读 · 0 评论 -
运算符
运算符按位运算符移位运算符逻辑按位运算符按位运算的替代表示常用的按位运算技术成员解除引用运算符alignof(c++11)noexcept(c++11)按位运算符<< >> ~ & | ^ 一共6个移位运算符value<<shift;13<<3; 13*2^3;逻辑按位运算符!非运算符:将true或者非零值转为false,将false值转为true~位非(取反)运算符。将其值的二进制0-》1 1-》0;usigned char原创 2021-02-08 14:45:10 · 90 阅读 · 0 评论 -
C++11新特性
C++11新特性复习前面提及的C++11新类型统一的初始化声明智能指针异常规范作用域内枚举对类的修改模板和STL方面的修改右值引用移动语义和右值引用为何需要移动语义移动示例移动构造函数解析赋值强制移动move新的类功能默认的方法和禁用的方法委托构造函数继承构造函数管理虚方法:override 和 finalLambda函数(表达式)函数指针,函数符,和 Lambda函数为何使用Lambda包装器包装器function以及模板的低效性修复问题其它方式复习前面提及的C++11新类型C++11新增了类型 l原创 2021-02-07 20:15:44 · 1265 阅读 · 0 评论 -
输入,输出和文件
输入,输出和文件C++输入和输出概述流和缓冲区流,缓冲区和iostream文件重定向C++输入和输出概述流和缓冲区使用缓冲区可以更高效的处理输入和输出,从内存中读写比从磁盘中读写快。还可以匹配两者的读写速度。键盘输入缓冲区,可以更改,直到按下回车,才刷新缓冲区。流,缓冲区和iostream文件iostream文件包含一些专门设计用来实现,管理流和缓冲区的类。C++98版本C++IO定义了一些类模板,以支持char和wchar_t数据;C++11添加了char16_t和char32_t具体化。原创 2021-02-07 19:59:17 · 290 阅读 · 0 评论 -
string类和标准模板库
string类和标准模板库一级目录二级目录三级目录一级目录二级目录三级目录原创 2021-02-03 16:18:34 · 177 阅读 · 0 评论 -
友元 异常 RTTI 类型转换符
友元异常和其它友元友元类友元成员函数其他友元关系C++异常处理提供了处理特殊情况的机制,如果不对其进行处理,将导致程序终止友元类并非只能拥有友元函数,也可以将类作为友元。友元类的所有方法都可以访问原始类的私有成员和保护成员。也可以做严格的限制,只将特定的成员函数指定为另一个类的友元。友元提高了公有接口的灵活性友元类电视机和遥控器(既非is-a,也非has-a)#pragma onceclass TV {public: friend class Remote; //使Remote成为友元类原创 2021-01-31 13:42:31 · 129 阅读 · 0 评论 -
类继承与代码重用
类继承与代码重用简单继承简单继承使用公有派生,基类的公有成员将成为派生类的公有成员;基类的私有部分也将成为派生类的一部分,但只能通过基类的公有和保护方法访问。派生类的构造:创建基类对象;派生类的构造函数应该通过成员初始化列表将基类信息传递给基类构造函数;派生类构造函数应该初始化派生类新增的数据成员。(如果不调用基类构造,程序将使用默认的基类构造)因此除非要使用默认的构造函数,否则应该显式调用正确的基类构造函数。RatedPlayer::RatedPlayer(unsigned int r, c原创 2021-01-28 21:10:06 · 447 阅读 · 0 评论 -
类
@[TOC]类类相关//Stock.h#pragma onceclass Stock {private: double total_val; void fun();// public: double GetVal(); void set_val(); void show();//cout显示};//内联,定义在类声明中的函数自动为内联函数,若也可以在声明函数之外定义内联 + inline//也可以放在.cpp文件中,通常将类定义放在头文件中。或者将实现放在代码声明的地方inli原创 2021-01-25 10:57:44 · 114 阅读 · 0 评论 -
内存模型和名称空间
内存模型和名称空间单独编译存储持续性,作用域和链接性作用域和链接自动存储持续性静态持续变量单独编译常规头文件中包含的内容:函数原型使用#define 或const定义的符号常量结构声明 //不创建变量,只是在原代码文件中声明结构变量时,告诉编译器将如何创建结构变量。类声明模板声明内联函数“ ”的方式头文件,编译器将首先在当前的工作目录查找,然后去标准位置<>的头文件,编译器将在主机系统的文件系统中查找。存储持续性,作用域和链接性自动存储持续性:函数中定义声明的变量,原创 2021-01-21 13:32:10 · 119 阅读 · 0 评论 -
函数探幽
函数探幽C++内联函数引用变量C++内联函数使用:在声明和定义前都加关键字inline注意:内联函数不能递归内联与普通的区别不在于编写方式,而在于C++编译器如何将他们组合到程序中普通函数:调转需要保存现在的地址,根据函数地址,去执行函数,得到返回值,在跳回来。需要一定的开销。内联比普通函数运行快,但需要空间大,每有一处调用,就会有一个函数的副本。引用变量主要用途:用作函数的形参。将引用变量用作函数参数,函数将使用原始数据而不是其副本。创建引用变量。 int a = 5; int &原创 2021-01-20 11:29:18 · 109 阅读 · 0 评论 -
函数——c++的编程模块
函数——c++的编程模块函数的基本知识函数参数和按值传递函数的基本知识C++对于函数的返回类型有一定的限制:不能是数组,但可以是其它的任意数据类型(整数,浮点,指针,甚至结构和对象,结构中包含数组也可以)函数参数和按值传递...原创 2021-01-19 14:33:50 · 187 阅读 · 0 评论 -
分支语句和逻辑运算符
分支语句和逻辑运算符if语句逻辑表达式字符函数库cctype?:运算符switch语句将枚举量用作标签switch 和ifbreak continue goto读取数字的循环if语句//统计字符串中的字符个数,以及空白int main(){ char ch; int count = 0; int space = 0; cout << "Enter characters;Enter # to quit" << endl; cin.get(ch); //先读一个原创 2021-01-15 20:10:45 · 175 阅读 · 0 评论 -
循环和关系表达式
循环和关系表达式for循环副作用和顺序点(顺序)递增 递减运算符和指针逗号运算符关系运算符C风格字符串比较比较string类字符串while循环for与while编写延时循环,让系统时钟完成类型别名do while基于范围的for循环(C++11)循环和文本输入使用原始的cin对象使用cin.get(char)进行补救文件尾条件嵌套循环和二维数组二级目录三级目录for循环副作用和顺序点(顺序)副作用指的是在计算表达式时对某些东西(如存储在变量中的值)进行了修改顺序点事程序执行过程中的一个点,在这里进原创 2021-01-15 13:53:07 · 463 阅读 · 0 评论 -
C++复合类型
C++复合类型一 数组数组说明二 字符串三 string类简介四 结构五 共用体六 枚举七 指针和自由存储空间八 指针,数组和指针算术九 类型组合十 数组替代品二级目录三级目录一 数组数组说明存储多个同类型的值。声明应该指出以下3点:存储在每个元素中的值的类型数组名数组中的元素数初始化:int a[3]={0,1,2};若没有初始化函数中定义的数组,则其元素值 将是不确定的,意味着元素的值为以前驻留在改内存单元中的值。二 字符串三 string类简介四 结构五 共用体六 枚举七原创 2021-01-14 21:31:56 · 235 阅读 · 0 评论 -
C++数据类型
C++数据类型一 基本类型基本类型又分整型和浮点型1. 整型宽度用于描述存储整数时使用的内存量。使用内存越多,则越宽C++的基本整型 char, short, int, long, 以及C++11新增的long long其中每种类型又有有符号和无符号之分,因此一共10种(1) char, short, int, long, long long计算机内存的基本单元是位(bit)字节(byte)指的是描述计算机内存量的度量单位。C++确保了最小长度a.short 至少16位int 至少与原创 2021-01-12 17:05:15 · 721 阅读 · 0 评论