![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
cpp
文章平均质量分 65
卷起来卷起来
这个作者很懒,什么都没留下…
展开
-
全网最详细C/C++文件读写总结
1.linux系统函数文件读写open函数:int open(const char * pathname, int flags);int open(const char * pathname, int flags, mode_t mode)注:第一个参数pathname 指向欲打开的文件路径字符串第二个参数 flags 指文件打开方式(O_RDONLY|O_WRONLY|O_RDWR|O_APPEND|O_CREAT|O_NONBLOCK|O_TRUNC…)第三个参数mode,只有flags为原创 2022-03-16 15:17:24 · 2782 阅读 · 2 评论 -
移动构造函数及右值左值引用详解
1.移动构造函数:有时候我们会遇到这样一种情况,我们用对象a初始化对象b后对象a我们就不在使用了,但是对象a的空间还在呀(在析构之前),既然拷贝构造函数,实际上就是把a对象的内容复制一份到b中,那么为什么我们不能直接使用a的空间呢?这样就避免了新的空间的分配,大大降低了构造的成本。这就是移动构造函数设计的初衷;拷贝构造函数中,对于指针,我们一定要采用深拷贝,而移动构造函数中,对于指针,我们采用浅拷贝;与拷贝类似,移动也使用一个对象的值设置另一个对象的值。但是,又与拷贝不同的是,移动实现的是对象值真原创 2021-07-28 15:41:53 · 334 阅读 · 0 评论 -
c++多重继承及优缺点
实际生活中,一些事物往往会拥有两个或两个以上事物的属性,为了解决这个问题,C++引入了多重继承的概念,C++允许为一个派生类指定多个基类,这样的继承结构被称做多重继承。举个例子:人(Person)可以派生出作者(Author)和程序员(Programmer),然而程序员作者同时拥有作家和程序员的两个属性,即既能编程又能写作,如图9.2所示。使用多重继承的例子程序如下:#include <iostream>2 using namespace std;3 4原创 2021-07-27 19:08:32 · 1041 阅读 · 0 评论 -
C++智能指针及循环引用
目录:auto_ptrunique_ptrshared_ptrweak_ptr循环引用问题智能指针的原理:智能指针的原理:智能指针是一个类,这个类的构造函数中传入一个普通指针,析构函数中释放传入的指针指向的内存。智能指针本身是栈上的对象,所以当函数(程序)结束时会被自动释放掉。1) auto_ptr:不支持复制和赋值,但复制和赋值时不提示错误,不能放入容器中。2)unique_ptr:独享指针,不支持复制和赋值,但是赋值会编译出错。提供move方法。3)shared_ptr:共享指针原创 2021-07-03 16:00:53 · 1644 阅读 · 0 评论 -
代码风格及规范
代码风格代码规范:一、变量命名权威的C++规范以Google为主,下载链接链接:https://pan.baidu.com/s/1_1CN6O2HmgJ_tvfi5soorA提取码:b4NL主流有如下三种变量规则:小驼峰、大驼峰命名法下划线命名法匈牙利命名法*# 二、各命名规范小驼峰:第一个单词首字母小写,后面其他单词首字母大写;int serviceInfo大驼峰:第一个单词首字母大写,后面其他单词首字母大写;int ServiceInfo下划线命名法:下划线命名原创 2021-03-15 19:29:47 · 212 阅读 · 3 评论 -
十大排序算法总结
1.排序算法基础知识1.1排序算法分类十种常见排序算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。1.2 算法复杂度1.3 知识点稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面。不稳定:如果a原本在b的前面,而a=b,排序之后 a 可能会出现在 b 的后转载 2021-04-02 22:25:27 · 90 阅读 · 0 评论 -
C++ 标准库排序函数总结
C++ STL排序函数排序函数功能sort()对指定范围内所有的数据进行排序,排序后各个元素的相对位置很可能发生改变。stable_sort()对指定范围内所有的数据进行排序,并确保排序后各个元素的相对位置不发生改变。partial_sort()对指定范围内最大或最小的 n 个元素进行排序。nth_element()调整指定范围内元素的存储位置,实现位于位置 n 的元素正好是全排序情况下的第 n 个元素,并且按照 全排序规则排在位置 n 之前的元素都在该位置原创 2021-03-30 16:16:36 · 639 阅读 · 0 评论 -
static关键字
概述static关键字在c语言中比较常用,使用恰当能够大大提高程序的模块化特性,有利于扩展和维护。但是对于c语言初学者,static由于使用灵活,并不容易掌握。本文就static在c语言中的应用进行总结,供参考使用。错漏之处,请不吝指正。最后一节加入了c++面向对象中static的使用特性,当作拓展阅读。在程序中使用static变量1. 局部变量普通局部变量是再熟悉不过的变量了,在任何一个函数内部定义的变量(不加static修饰符)都属于这个范畴。编译器一般不对普通局部变量进行初始化,也就是转载 2021-03-18 10:56:18 · 52 阅读 · 0 评论