- 博客(26)
- 收藏
- 关注
原创 线程控制(万字详解)
CPU调度时,就是按照LWP调度的线程间自带通信功能static_cast 强转在Linux下,C++11中的多线程 ,底层也是封装pthread原生线程库实现的一般情况下,都推荐直接使用语言的线程库,因为系统调用接口是不具备可移植性的。主线程的tcb也在线程库里,但是主线程的栈不在线程库不仅管理你当前进程创建的线程,还同时在管理别人进程创建的线程
2023-12-22 17:27:34 914
原创 线程的概念
进程的独立性不仅在于拥有独立的pcb还有页表映射不同的物理内存CPU不关心是进程还是线程,CPU只有调度执行流的概念task_struct代表一个执行流进程:线程=1:nCPU没有线程概念,但是Linux操作系统需要区分一个进程内的多个线程共享时间片,每一个一个部分正文代码就是代码段热数据(高频被访问)
2023-12-16 21:43:31 887
原创 map和set(仿函数控制比较大小)
set(去重与排序) multiset(排序,无去重)map(里面使用pair存储数据)C++98 单参数构造函数才可以隐式类型转换,多参数不可以任意类型都可以做key和value,如果没有比较大小,就写一个仿函数。set("insert") √ map("insert","插入")×C++11支持多参数隐式类型转换当你有多个值需要返回时,将这些值定义成一个结构返回传参要注意传的是类型(Compare)还是对象(comp)自己写仿函数,控制比较规则
2023-09-04 22:05:29 151
原创 C++之多态
指向父类调用父类,指向子类调用子类建议在继承体系中基类的析构函数前加上virtual,形成多态。想要不被继承要设置成私有并且提供一个静态接口,那么派生类不能调用这个接口嘛?虚表存的是虚函数的地址,虚函数本身还是存在代码段。虚函数重写只是重写了实现,整体架子还是使用的父类的,这也可以解释为什么派生类虚函数可以不加virtual。
2023-08-14 20:17:06 245
原创 C++之继承
继承体系中成员变量最好写成protected父类的私有成员,无论子类如何继承,都无法使用继承的是成员变量,成员函数在公共代码区向上转换是不会产生临时变量的,因为它是对子类对象的切割,切片,子类对象可以给父类对象/引用/指针赋值编译器编译时的查找(语法上的查找)遵循就近原则,局部域->子类成员变量->父类成员变量->全局域重载有一个限制:在同一个作用域,底层是运用函数名修饰规则父子类域中,函数名相同就构成隐藏(重定义),不管参数。先继承的在前面virtual关键字虚继承解决棱形继承问题
2023-08-08 16:55:20 254
原创 Linux下git的简单使用
注意:要分开执行,其中第一句输入你的名字,第二句输入你的email。git --vecsion 查看是否安装了git。client客户端和server服务端。为了方便找到代码负责人,对代码进行溯源。1.进行版本管理(版本控制)将文件拷贝到你的仓库目录下。再将该文件添加到本地仓库里。git clone 地址。修改后缀文件记住添加 *将你的远端仓库拷贝过来。
2023-07-27 14:21:35 72
原创 string模拟实现
开空间是一定要记得多开一个给'\0'缺省值是给初始化列表的,静态成员变量是不走初始化列表的,静态变量都要声明和定义分开写,const static size_t也建议分开写引用计数和写时拷贝(延时拷贝)
2023-07-18 18:37:18 59 1
原创 2023.7.3(Linux)
在Linux中/被称为路径分隔符,最开始的/被称为根目录/home 家目录 普通用户默认在家目录下相对路径与绝对路径。
2023-07-13 17:55:27 68 1
原创 2023.5.17(C++笔记)
《STL源码剖析》一本很好的书,候捷老师类模板的名字不是真正的类,实例化生成的类才是真正的类 普通类,类名和类型是一样类模板,类名和类型不一样 类名:Stack 类型:Stack
2023-05-24 18:03:08 48
原创 C++笔记(2023.5.15)
new和delete是操作符malloc和free是函数长期在线的服务器+每天一点的内存泄漏程序将造成绝杀模板参数定义的是类型
2023-05-23 21:01:37 59
原创 Linux权限的概念
root不受权限约束超级用户的命令提示符是“#”,普通用户的命令提示符是“$”rm * -rf 删除全部文件给共享目录文件设置粘滞位(t),避免互删
2023-05-21 22:26:37 169 1
原创 指令的运行原理
Linux严格意义上说的是一个操作系统,我们称之为核心(kernel,但我们一般用户,不能直接使用kernel。而是通过kernel的外壳程序,也就是所谓的shell,来与kernel沟通Yechenchen 用户名VM-4-9-centos 主机名~ 当前目录$ 命令提示符1.上面总体称为bash命令行2.输入指令的过程,本质就是输入字符串由1,2可知指令的本质,就是编译好的程序和脚步一定会在系统的特定路径下存放。
2023-05-20 15:28:51 55
原创 Linux指令笔记(2023.4.20)
指令可以在usr/bin目录下搜索到,~家目录,/根目录x86_64位系统等价于x64 x86==32位(默认)
2023-05-18 23:26:38 668
原创 2023.5.10(C++笔记)
内部类是外部类的天生友元,匿名对象具有常性,编译器对构造的优化,编译器对连续构造的优化,new和delete配套使用
2023-05-15 17:14:20 47
原创 C++笔记(2023.4.19)
class为定义类的关键字,ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。类体中内容称为类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。struct与class。
2023-04-21 20:57:19 113
原创 宏与函数两者之间的差异
#define 机制包括了一个规定,允许把参数替换到文本中,这种实现通常称为宏(macro)或定义宏(define macro)。
2023-02-17 23:23:42 147 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人