随笔分类 -  C++

摘要:一、C++编译模式 通常,在一个C++程序中,只包含两类文件——cpp文件和h文件。cpp文件被称作C++源文件,里面放的都是C++的源代码;h文件则被称作C++头文件,里面放的也是C++的源代码。 C+ +语言支持“分别编译”(separate compilation)。也就是说,一个程序所有的内 阅读全文
posted @ 2020-01-09 22:11 ZhuzhuDong 阅读(2178) 评论(0) 推荐(0)
摘要:一、c++中四个与类型转换相关的关键字分析 二、c++中用struct与class定义类型有什么不同 如果没有表明成员函数或成员变量的访问权限级别,struct默认为public,class默认为private。 三、c++中,当数组作为函数的参数进行传递时,数组会自动退化为同类型的指针。 四、链表 阅读全文
posted @ 2019-06-05 16:33 ZhuzhuDong
摘要:double x; int (x); /(int) x; 无法判定这种强制类型转换的风险。 1、static_cast static_cast用来进用行比较“自然”和低风险的转换,比如整型和实数型、字符型之间互相转换。 static_cast不能来在不同类型的指针之间互相转换,也不能用于整型和指针之 阅读全文
posted @ 2019-05-13 11:39 ZhuzhuDong 阅读(155) 评论(0) 推荐(0)
摘要:1、不变序列算法 不会修改算法所作用的容器或对象 适用于顺序容器和关联容器,时间复杂度为O(n)。 2、变值算法 会修改源区间或目标区间元素的值,值被修改的那个区间,不可属于关联容器。 3、删除算法 删除一个容器里的某些元素,但不会使容器里的元素减少,删除算法不应作用于关联容器。 将所有应该被删除的 阅读全文
posted @ 2019-05-11 23:03 ZhuzhuDong 阅读(264) 评论(0) 推荐(0)
摘要:1、C++中有两个方面体现重用: (1)面向对象的思想:继承和多态,标准类库。 (2)泛型程序设计(generic programming) 的思想: 模板机制,以及标准模板库 STL。 将一些常用的数据结构(比如链表,数组,二叉树)和算法(比如排序,查找)写成模板,标准模板库 (Standard 阅读全文
posted @ 2019-05-11 00:01 ZhuzhuDong 阅读(428) 评论(0) 推荐(0)
摘要:1、数据层次 位 bit 字节 byte 域/记录 将所有记录顺序地写入一个文件 >顺序文件:一个有限字符构成的顺序字符流 C++标准库中:ifsteam,ofstream,fstream三个类 2、文件操作 打开文件 >读/写文件 >关闭文件 改变程序中学生名字: 文件拷贝: 3、函数模板 (1) 阅读全文
posted @ 2019-05-09 22:18 ZhuzhuDong 阅读(598) 评论(0) 推荐(0)
摘要:1、虚函数 virtual 虚函数可以参与多态,而普通函数不能。 Note: virtual关键字只用在类定义的函数声明里,写函数体时不用。 构造函数和静态成员函数不能是虚函数。 2、多态:增强程序可扩充性 (1)派生类的指针可以赋给基类指针 通过基类指针调用基类和派生类中的同名虚函数时: 若该指针 阅读全文
posted @ 2019-05-09 22:11 ZhuzhuDong 阅读(425) 评论(0) 推荐(0)
摘要:1、继承&派生 在定义一个新的类B时,若该类与某个已有的类A相似(B拥有A的全部特点),则可以将A作为一个基类,把B作为基类的一个派生类(子类)。 在派生类的各个成员函数中,不能访问基类中的private成员。 派生类对象的体积,等于基类对象的体积+派生类对象自己的成员变量的体积。 在派生类对象中, 阅读全文
posted @ 2019-05-09 20:40 ZhuzhuDong 阅读(3680) 评论(0) 推荐(0)
摘要:1、运算符重载:实质就是函数重载 运算符重载为普通函数: 运算符重载为成员函数: Note:重载成全局函数时操作数个数等于函数参数个数。 2、赋值运算符“=”的重载 赋值运算符两边的类型可以不匹配,此时我们需要重载赋值运算符“=”,且只能重载为成员函数。例如: (1)把一个int型变量赋值给Comp 阅读全文
posted @ 2019-05-09 15:16 ZhuzhuDong 阅读(1064) 评论(0) 推荐(0)
摘要:一. 矩阵分解: 矩阵分解 (decomposition, factorization)是将矩阵拆解为数个矩阵的乘积,可分为三角分解、满秩分解、QR分解、Jordan分解和SVD(奇异值)分解等,常见的有三种:1)三角分解法 (Triangular Factorization),2)QR 分解法 ( 阅读全文
posted @ 2019-05-07 20:09 ZhuzhuDong 阅读(2481) 评论(0) 推荐(1)
摘要:1、初始化所有指针。 2、 (1)指向常量的指针: (2)常量指针:指针本身为常量: 3、若循环体内部包含有向vector对象添加元素的语句,则不能使用范围for循环。 4、字符数组要注意字符串字面值结尾处还有一个空字符。 5、数组的指针及数组的引用 6、C++中多维数组指的是数组的数组。 7、要使 阅读全文
posted @ 2019-05-07 20:06 ZhuzhuDong 阅读(949) 评论(0) 推荐(0)