C++基础知识总结
文章平均质量分 57
_刘小雨
一枚普通而~~~
展开
-
linux 段错误及产品原因
主要分为下面几点: 基本是是错误地使用指针引起的访问系统数据区,尤其是往 系统保护的内存地址写数据最常见就是给一个指针以0地址内存越界(数组越界,变量类型不一致等) 访问到不属于你的内存区域(空指针、野指针、堆栈错误都是上面的指针问题)段错误及产品原因分析...转载 2022-02-18 13:53:21 · 148 阅读 · 0 评论 -
cc、cpp后缀文件的区别
cc、cpp后缀文件的区别添加链接描述转载 2022-02-18 13:43:34 · 3281 阅读 · 0 评论 -
快速入门SHELL
SHELL学习笔记基础1、基本命令shell是一个命令解释器,它接收应用程序/用户命令,然后调用操作系统内核脚本是为了方便的快速开发和运维的。root@ubuntu:~# echo $BASH # 需要大写/bin/bashroot@ubuntu:~# echo $bashroot@ubuntu:~# df -h # 查看系统分区Filesystem Size Used Avail Use% Mounted onudev 934M 0原创 2021-06-21 23:52:29 · 504 阅读 · 0 评论 -
fasdfs操作步骤
nginx启动默认安装在⽬录/usr/local/nginx中:cd usr/local/nginxls显示:conf html logs sbin其中,其中Nginx的配置⽂件存放于conf/nginx.conf,bin⽂件是位于sbin⽬录下的nginx⽂件。1)默认⽅式启动Nginx服务器/usr/local/nginx/sbin/nginx (需要sudo权限)这时,会⾃动读取配置⽂件:/usr/local/nginx/conf/nginx.conf2)查看nginx进程$ p原创 2021-06-08 22:31:52 · 852 阅读 · 0 评论 -
C/C++ 中的逗号运算符
在C语言中逗号运算符可以将两个表达式连接起来int n = 3+5, 6+ 10; // 此时 n = 16 , 称为逗号表达式,又称为“顺序求值运算符”。逗号表达式的一般形式为 表达式1, 表达式2逗号表达式的求解过程是:先求解表达式1,再求解表达式2。整个逗号表达式的值是表达式2的值。例如,上面的逗号表达式“3+5, 6+ 10”的值为16。例子 : a=3*5,a*4, 注意重点 : 逗号运算符优先度最低,比赋值运算符低。对此表达式的求解,读者可能会有两种不同的理解:一种认为原创 2021-03-04 21:17:45 · 2113 阅读 · 1 评论 -
main函数中的参数代表的意义
int main(int argc, char* argv[]) 或者是 int main(int argc, char** argv) 里面的参数是什么意义呢?argc 是 argument count的缩写,表示传入main函数的参数个数;argv 是 argument vector的缩写,表示传入main函数的参数序列或指针,并且第一个参数argv[0]一定是程序的名称(是固定的值),是包含了程序所在的完整路径,因此准确的说我们输入的main函数的参数个数应该是argc-1个;下面.原创 2021-03-04 19:38:45 · 747 阅读 · 1 评论 -
硬中断和软中断的区分
概述:从本质上来讲,中断是一种电信号,当设备有某种事件发生时,它就会产生中断,通过总线把电信号发送给中断控制器。如果中断的线是激活的,中断控制器就把电信号发送给处理器的某个特定引脚。处理器于是立即停止自己正在做的事, 跳到中断处理程序的入口点,进行中断处理。(1) 硬中断由与系统相连的外设(比如网卡、硬盘)自动产生的。主要是用来通知操作系统系统外设状态的变化。比如当网卡收到数据包的时候,就会发出一个中断。我们通常所说的中断指的是硬中断(hardirq)。(2) 软中断为了满足实时系统的要求转载 2021-03-03 20:48:38 · 847 阅读 · 1 评论 -
select函数的第一个参数是fdmax + 1 问题? 而 poll和epoll不需要+1
先说明一下, 在Windows中, 并不要求select函数的第一个参数总应该是fdmax + 1(在Windows下, 给定-1就行), 那linux中为什么又是呢? 这就涉及到linux select第一个参数的函数: 待测试的描述集的总个数。 但要注意, 待测试的描述集总是从0, 1, 2, ...开始的。 所以, 假如你要检测的描述符为8, 9, 10, 那么系统实际也要监测0, 1, 2, 3, 4, 5, 6, 7, 此时真正待测试的描述符的个数为11个, 也就是max(8, 9, 1转载 2021-03-03 20:39:41 · 262 阅读 · 1 评论 -
同步,异步,协程的概念
在服务器端:同步: 等数据来处理后在进行下一步操作;异步:数据来了后放进队列里,直接下一步,不用等待就进行下一步。在客户端client例子: dns服务器,mysql服务器,http服务器等等同步: 数据发送服务器后等待返回的数据后在发送下一条数据(阻塞式)异步:数据发送后不等待结果直接进行下一条数据的发送。(非阻塞式)上面的异步是将数据全部发送,(服务器接收数据后等待发送完,然后一起处理),然后服务器一次性发送客户端。总结同步和异步的差别异步比同步性能高同步比异步流程快原创 2021-02-28 22:48:15 · 957 阅读 · 0 评论 -
单例模式的几种实现方式
定义保证一个类仅有一个实例,并提供一个该实例的全局访问点。 ------《设计模式》GoF结构图:想在有下面的几个版本:1.// 内存栈区// 内存堆区// 常数区// 静态区 系统释放// ⼆进制代码区/*问题1 : _instance 是静态变量,最后是由系统释放的,但是new出来的Singleton 是在内存堆上的,这个没有释放会导致内存泄露问题。问题2: 多线程的问题。*/class Singleton {public: static Singlet原创 2021-02-24 23:26:45 · 81 阅读 · 0 评论 -
volatile关键字的作用和应用场景【面试备用】
VolatileVolatile : (意思是 不稳定的)限定一个对象可被外部进程(操作系统、硬件或并发线程等)改变,声明时的语法如下:int volatile nVint; 这个说明 让程序每次读取nVint 真正的值。volatile int i=10;int a = i;... // 这里的代码可能回改变i 的值// 其他代码,并未明确告诉编译器,对 i 进行过操作int b = i;在上面 volatile 指出 i 是随时可能发生变化的,每次使用它的时候必须从 i的地原创 2021-02-10 23:09:48 · 4633 阅读 · 0 评论 -
C++11 中四种cast类型学习
#include <iostream>using namespace std;int main(){ //// 一、 隐式类型转换: 系统自动进行,不需要开发人员管 //int x = 3 + 4.213; //double b = 4 + 5.1231; //// 二、显式类型转换:(强制类型转换) //int k = 5 % (int) 2.3; // c语言风格中的强制转换, 没有类型检查,像int k = 5 % (int)"asdad"; 都能过,但没意义 /原创 2021-02-09 22:42:23 · 447 阅读 · 0 评论 -
普通指针和智能指针(share_ptr、weak_ptr、unique_ptr)
new、delete初识(new、delete)new 、delete 申请的内存是在堆里面,和c语言中的malloc、free一样。是直接内存管理方式。class A{ // 称为间接内存管理 int i, j; // 临时对象 static int j = 10; // 局部静态对象}int* ptr = new int; // 初值未定义string *ptr1 = new string; //空字符串,是直接调用了string默认构造函数int *ptr2 = n原创 2021-01-28 00:17:59 · 3791 阅读 · 1 评论 -
mysql 中的索引本质及发展
mysql 中的索引本质及发展mysql中为什么有索引,在大学中,我记得老师将的数据库就是说索引就类似课本前面的目录,当然这也不能算是错的,只是现在回过头来重新学习,觉得还是太浅了。 索引是帮助MySQL高效获取数据的排好序的数据结构。 说到数据结构,我们必定会想起二叉树,红黑树,Btree等等。是的,我们今天讲的mysql索引从最初的发展开始一步一步讲为什么最后决定用B+tree这种数据结构。 ·最开始数据库的索引就是用二叉树(这里的二叉排序树)当做索引的,从下图左边看如果不用索引技术,从原创 2021-01-22 22:23:57 · 244 阅读 · 0 评论 -
strlen 和 sizeof 的区别
复习一下C++基础知识点两者的区别sizeof 是运算符、 strlen 是函数sizeof 返回的类型是size_t , 在头文件中typedef 为unsigned int类型sizeof 可以用类型做参数,strlen 只能用char* 做参数且必须是以”\0“ 结尾的。sizeof 是编译的时候就计算了结果, strlen 需要在运行的时候进行计算。sizeof() 求数据类型(实体)的大小;strlen() 是一个函数,求字符串的长度,它的长度不包括‘\0’;#inclu.原创 2020-10-19 19:58:37 · 158 阅读 · 0 评论