C++
小毒诶嘿嘿
这个作者很懒,什么都没留下…
展开
-
C++继承
继承继承方式:public, protected, private基类成员在子类中的访问权限:a. 基类中的私有成员在子类中不可见;b. 基类其他成员在子类中的访问权限为min{成员在基类中本身的访问权限, 子类的继承方式}protected, private区别:a. 都表示在类外不可见b. protected在子类中是可见的,子类可以复用protected 成员c. private成员虽然在子类中是不可见的,但子类包含私有成员一般采用public继承内置函数构造函数a.原创 2020-07-02 19:18:01 · 89 阅读 · 0 评论 -
vector和list的区别
vector与list区别baivector为存储的对象分配一块连续的地址du空间,因此对vector中的元素随机访问效zhi率很高。在vecotor中插入或者删除掉某个元素,需要将现有元素进行复制,移动。如果vector中存储的对象很大,或者构造函数复杂,则在对现有元素进行拷贝时开销较大,因为拷贝对象要调用拷贝构造函数。对于简单的小对象,vector的效率优于list。vector在每次扩张容量的时候,将容量扩展2倍,这样对于小对象来说,效率是很高的。list中的对象是离散存储的,随机访问某个元素需原创 2020-06-23 16:12:54 · 713 阅读 · 0 评论 -
函数模板和类模板
模板编程 : 增加代码的通用性, 编写与具体类型无关的通用代码函数模板template < class / typename 参数1, class / typename 参数2, … >返回值 函数名 (参数列表) {}函数模板不是一个可以执行的函数,只有通过实例化产生的具体类型的函数代码才可以执行函数模板实例化1 . 隐式实例化 : 编译器根据具体参数进行自动推导,然后根据推导出的具体参数类型生成可执行的代码2 .显示实例化 : 显示指定需要生成的参数类型 : 函数原创 2020-05-31 23:07:28 · 142 阅读 · 1 评论 -
友元类及友元函数
友元函数可以访问所在类的私有成员友元的声明不受限定符限制, 可以在类的任意位置声明友元类友元类的所有成员函数变成另一个的成员函数友元关系是单方面的,如果需要相互构成友元关系,则需要相互声明友元关系不能传递内部类可以通过对象访问外部类的私有成员, 类似于友元类,外部类不可以访问内部类的私有成员内部类可以直接访问外部类的静态成员class C{public: //D是内部类, D是C的友元类 class D { public: void displayC(con原创 2020-05-31 21:33:06 · 122 阅读 · 0 评论 -
const和static
const和static参考链接#include <iostream>using namespace std;class Time{public: Time(int h = 1, int m = 1, int s = 1) :_h(h) , _m(m) , _s(s) { cout << "Time(int h = 1, int m = 1, int s = 1)" << endl; }private: int _h; int _m原创 2020-05-26 09:25:05 · 82 阅读 · 0 评论 -
C++学习(二)
内存对齐//#pragma pack(4) //修改默认对齐数#include <iostream>using namespace std;class A{public: int _a; // 4 char _c; // 5 double _d; // 16 float _f; // 20 // 最高原则:结构体/类大小是最大成员的整数倍 24 // 有结构体定义,但是不算具体对象,所以不占大小 struct B { int _a; ch原创 2020-05-26 08:16:36 · 73 阅读 · 0 评论 -
C++初识
命名空间解决命名冲突命名空间定义1.namespace + 命名空间名称 + {}2.嵌套定义: namespace + 名称 + {namespace + 名称 + {}}3.同一个命名空间可以定义多个片段命名空间内成员的使用方式1.完整的作用域 + 成员 : std::cin2.引进成员 : using namespace std::cin3.展开命名空间 : using namespace std(不建议使用, 所有成员都暴露在全局域中,可能会导致成员重定义)命原创 2020-05-10 00:09:05 · 63 阅读 · 0 评论 -
排序
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...原创 2020-05-02 16:24:44 · 86 阅读 · 0 评论 -
岛屿数量
给定一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。例如:11110110101100000000只有一个岛屿11000110000010000011有三个岛屿深搜如下:#include <iostream>#include &l...原创 2020-04-11 20:15:06 · 150 阅读 · 0 评论 -
二叉树和完全二叉树
二叉树规律:假设根节点的高度为0二叉树是每个节点至多只有两个节点的树深度为i所在的层至多有 2^i个节点高度为k的二叉树至多有2^(k+1)-1个节点n0表示度为0的节点, n2表示度为2的节点,存在n0 = n2 + 1对所有树有:节点个数 = 边数+1完全二叉树规律节点数为N的完全二叉树,其高度为 (向下取整),也就是说该树一共有logn + 1 层。对于完全二叉树,若...原创 2020-04-10 18:17:52 · 350 阅读 · 0 评论 -
机器人的运动范围
leetcode机器人的运动范围(C++)思路:深度搜索遍历即可完成class Solution {public: //定义vi[i][j]是否被访问过 int vi[101][101] = {0}; //检查是否超出k值 bool inq(int i, int j, int k){ int sum = 0; while(...原创 2020-04-08 16:25:35 · 83 阅读 · 0 评论 -
生命游戏
Leetcode生命游戏(C++)思路:其实就是一个仿广度搜索遍历,把每个细胞旁边的活细胞数得出来就很容易解决了//增量数组int X[] = {0, 0, 1, -1, 1, -1, 1, -1};int Y[] = {1, -1, 0, 0, 1, -1, -1, 1};class Solution {public: void gameOfLife(vector<...原创 2020-04-08 15:53:44 · 108 阅读 · 0 评论 -
Sine之舞
资源限制时间限制:1.0s 内存限制:512.0MB问题描述 最近FJ为他的奶牛们开设了数学分析课,FJ知道若要学好这门课,必须有一个好的三角函数基本功。所以他准备和奶牛们做一个“Sine之舞”的游戏,寓教于乐,提高奶牛们的计算能力。 不妨设 An=sin(1–sin(2+sin(3–sin(4+…sin(n))…) Sn=(…(A1+n)A2+n-1)A3+…+2)An+...原创 2020-03-19 16:14:29 · 73 阅读 · 0 评论