随笔分类 - C++基础
摘要:返回多个返回值的方法3种,第3种是c++17的方式,一行结束 注意使用第三种时(结构体绑定),需要保证使用C++ 17标准编译 以前介绍过结构体的返回,返回一个结构体来需要的数据,但是为什么我们要创建一个只使用一次的结构体呢,这样会让代码变得基础混乱,我们可以使用这种结构体绑定的方式。
阅读全文
摘要:debug模式下会做非常多安全性的工作,所以我们改成release模式下去运行,查看效率,结果如图 多次运行结果一致。
阅读全文
摘要:https://www.jianshu.com/p/d19fc8447eaa
阅读全文
摘要:左值和右值(L值和R值) 基础概念 关于引用 1、左右值都可以做参数 2、左值参考 在这个错误提示中,有一个很特殊的规则,就是const。 当我们试图写 ,这是不被允许的,但是如果我们写 ,这样就可行了。这个特殊的规则实际上编译器做的事情可能就像是 实际上这只是避免去创建一个L值,而是仅仅能都支持L
阅读全文
摘要:https://blog.csdn.net/qq_37941471/article/details/80710099 八大排序算法 https://blog.csdn.net/qq_37623612/article/details/80312121 直接插入排序 其余排序:https://www.j
阅读全文
摘要:1.迭代器类型 迭代器是一种检查容器内元素并遍历元素的数据类型。C++更趋向于使用迭代器而不是下标操作,因为标准库为每一种标准容器(如vector)定义了一种迭代器类型,而只用少数容器(如vector)支持下标操作访问容器元素。 共有五类迭代器:Input Iterator ,Output Iter
阅读全文
摘要:【1】封装: 封装是设计类的基本原理,把抽象出来的数据和功能结合起来,去形成一个类。 数据和函数都是类的一个成员,它的主要目标就是使得代码模块化,在类中有public,protect,private三种类型的关键字,把类的成员做权限的管理,隐藏内部的实现,给出外部的接口。 比如说有些人写代码不提供任
阅读全文
摘要:先看这张图,32位系统,寻址空间是4g,在linux下0-3G是用户模式,3-4G是内核模式。 在用户模式中有这么几个段(注意内存地址从上到下是,高地址到低地址0xc0000000-0x08048000) (1)代码段:储存程序的二进制映像 (2)数据段:存储已经初始化的全局变量和局部静态变量 (3
阅读全文
摘要:浅拷贝通常是编译器提供的默认拷贝构造函数和默认赋值构造函数。 当类中有指针变量的时候,比如把a赋值给b。 b = a; 默认的赋值函数会导致b原有的内存没有释放,出现内存泄漏。 第二个问题是,b和a的指针,指向了同一块内存,不管是改动a,还是改动b,都会影响另一方。 第三是,当对象析构的时候,指针变
阅读全文
摘要:栈区由系统自动分配,自动在栈区申请内存,在存储上是连续的,如果我们在visual studio去查看栈区空间,debug模式下编译器会做一些处理,在分配之间留一些空间,但是实际分配上它是连续存储的,是从高地址向低地址扩展的数据结构,在这种情况下,栈顶的地址和他的最大容量,是固定的,一般来说大概就2m
阅读全文
摘要:旧式的类型转换中有俩种(Effect C++) //C风格 (T)expression(int)a//比如这样子 //函数风格 T(expression)doSomeWork(Widget(15)) 这里15作为一个参数给类Widget,会以转型动作创建一个Widget 而C++提供了四种新式转换。
阅读全文
摘要:2020/3/25 有四种智能指针,其中auto_ptr(已经被11弃用) 申请智能智能很大程度上可以去避免申请空间忘记释放导致的内存泄漏,因为智能指针是一个类,超过作用域之后就会调用析构函数,自动释放掉资源。 这也是它的原理(函数结束,自动释放内存空间) (1)auto_ptr,采用所有权模式 弃
阅读全文
摘要:https://www.cnblogs.com/raichen/p/5744300.html 相关解释非常清晰,关于最后菱形虚继承可以参考此文 https://www.cnblogs.com/QG-whz/p/4909359.html 待补充、有空会提炼精简相关内容 一、类成员分类 c++的对象模型
阅读全文
摘要:恢复内容开始 我们想象这样一个情况,有一个基类base,和派生类A,在基类中,有一个虚函数log,并且在A中重载了这个虚函数log。我们在base的构造函数中,调用了这个虚函数log。 当我们创建一个A的实例时,会发生什么呢。 无疑会有一个A的构造函数调用,但是base类的构造函数会被更早调用。 d
阅读全文

浙公网安备 33010602011771号