随笔分类 - c++学习
从基础重新恢复能量
摘要:前序 根左右 中序 左根右 后序 左右根 双序 先根 左优先 如果没左就走自己 然后走右
阅读全文
摘要://提前下载这个软件,方便使用protocol buffer
阅读全文
摘要:需要在main所在的解决方式中的引用中加要使用函数的解决方案 vs修改静态库 右键解决方案 属性 更改方式。 面向对象时 虚幻里加动态库
阅读全文
摘要:多线程: 多线程分为三个知识点: 1.线程的建立,在main中要进行函数终止, 在函数中使用后才能使得main函数在线程结束后才结束。如果不使用,那么可能线程结束前,main函数就结束了 2.线程的可加入,用来防止线程出现,因为速度时间原因导致线程先后不一的执行, 而第二个分离的使用,使得使用线程不
阅读全文
摘要:时间复杂度就是用来方便开发者估算出程序的运行时间 我们该如何估计程序运行时间呢,我们通常会估计算法的操作单元数量,来代表程序消耗的时间, 这里我们默认CPU的每个单元运行消耗的时间都是相同的。 假设算法的问题规模为n,那么操作单元数量便用函数f(n)来表示 随着数据规模n的增大,算法执行时间的增长率
阅读全文
摘要:1.23 四种cast类型转换 作用:克服c中强制类型转化带来的风险,C++引入四种更加安全的强制类型转换运算符(明确转换的目 的,偏于程序的维护和分析) const_cast:// 1.去除const属性,将只读变为只读写// 2.针对常量指针、常量引用和常量对象const char *p;ch
阅读全文
摘要:工厂模式: 通过创建接口来实现使用接口的类来具体进行具体各自的独特行为, 然后创建工厂,工厂可以将所有的继承的接口类都进行选择性的包容下,并可以供给使用者的需求来创建实际的类, 使用工厂时只需要创建一个工厂类的实例就可以拿到工厂内与自己需求相同的实例。 (在需求符合工厂内已有的依赖关系时可以用工厂,
阅读全文
摘要:Class和Structure 作用域 一个程序分为几个selection 从低地址到高地址,分为代码段,数据段,BSS段 (数据段存放已经初始化的静态或者全局变量,(初始化不为0) BSS段存放为初始化或者初始化为0的) 当程序运行之后,会出现栈区和堆区,栈比对地址高,两个区中间存在文件映射区。
阅读全文
摘要:二叉树 节点 Node { 左子节点 Left Node 右子节点 Right Node 父亲节点 Parent Node } 树的相关概念根节点:非空树处于最上层的唯一节点,其余节点都是它的子孙后代 节点的度:节点具有的孩子节点个数 叶子节点:度为0的节点 父子节点:直接相连的一对节点,处于上层的
阅读全文
摘要:对象的三个特性:封装,继承,多态 封装: 将对象的属性和行为作为一个整体,表现生活中事物 将属性和行为加以权限控制 public //公共权限 类内外都可以访问 protected//保护权限 内可以访问,类外部可以访问 儿子类可以访问到父类的protect private//私人权限 类内可以访问
阅读全文
摘要:函数可以给默认值 声明优先默认值 占位参数: int func(int a, float) float 这里就是占位 函数重载: 函数名可以相同,可以提高函数复用性 (在同一个作用域下,函数名称相同,函数参数类型不同或者个数不同或者顺序不同) 注意事项: 接引用常量参数时 要注意,传入参数是不是变量
阅读全文
摘要:引用的本质: 引用的本质是在c++内部实现一个指针常量 int &a 相当于 int * const a 指向地址已经固定不可改变 常量引用: 常量引用主要用来修饰形参,防止误操作 引用必须 引一块合法的内存空间 比如:栈区的或者堆区的数据 const int & a 加上const 编译器自动将c
阅读全文
摘要:由程序员手动开辟,手动释放,释放利用关键字 delete 语法:new 数据类型 利用 new创建的数据,会返回该数据对应的类型的指针 引用: 给变量起别名 语法:数据类型 &别名 = 原名; 引用的注意事项: 引用必须初始化 --告诉别名是给谁起的 引用在初始化后就不能发生变化了 引用进行参数传递
阅读全文
摘要:恢复内容开始 局部变量存储在栈区 (局部变量及形参会放在栈区) 栈区的变量 ,编译器会负责关闭,第一次使用,编译器会保留 堆区: 在c++中使用new来在堆区开辟内存 恢复内容结束
阅读全文
摘要:出现问题 :提示使用地址时非常量引用的初始值必须为左值 解决:参数没有取地址
阅读全文
摘要:系统需求: 通讯录是一个可以记录亲人,好友信息的工具 实现功能: 1.添加联系人 姓名,性别,年龄,家庭住址,联系电话 2.显示联系人 显示联系人所有信息 3.删除联系人 按照姓名删除 4.查找联系人 按照姓名查找 5.修改联系人 按照姓名重新修改联系人信息 6.清空联系人 清空通信录中联系人所有信
阅读全文
摘要:函数 声明: 函数类型 函数名(形参1,形参2); //声明以后函数定义可以放在主函数后面 函数的分文件编写: 1.创建.h后缀名的头文件 2.创建.cpp后缀名的源文件 “”用来引用自己的声明 3.在头文件中写函数的声明 4.在源文件中写函数的定义 指针:一个指针的大小 32 位是4字节,64位是
阅读全文
摘要:恢复内容开始 不能直接在函数中调用数组来sizeof()来计算数组长度: 原因在于:第一,在c中,数组在作为参数的时候就退化为指针,对一个地址来取大小呢,如果是32位系统的话即为4,如果是64位系统的话为8,所以呢,在函数中sizeof获取的是指针的长度而不是数组的长度。第二呢,在函数中,sizeo
阅读全文
摘要:数组元素逆置: 使用下标和中间量进行数据交换 冒泡排序: 按照冒泡来依次相邻元素数据比较,将最大值每轮换到最后一位
阅读全文