- 博客(12)
- 收藏
- 关注
原创 线程控制(万字详解)
CPU调度时,就是按照LWP调度的线程间自带通信功能static_cast 强转在Linux下,C++11中的多线程 ,底层也是封装pthread原生线程库实现的一般情况下,都推荐直接使用语言的线程库,因为系统调用接口是不具备可移植性的。主线程的tcb也在线程库里,但是主线程的栈不在线程库不仅管理你当前进程创建的线程,还同时在管理别人进程创建的线程
2023-12-22 17:27:34
1054
原创 线程的概念
进程的独立性不仅在于拥有独立的pcb还有页表映射不同的物理内存CPU不关心是进程还是线程,CPU只有调度执行流的概念task_struct代表一个执行流进程:线程=1:nCPU没有线程概念,但是Linux操作系统需要区分一个进程内的多个线程共享时间片,每一个一个部分正文代码就是代码段热数据(高频被访问)
2023-12-16 21:43:31
1014
原创 map和set(仿函数控制比较大小)
set(去重与排序) multiset(排序,无去重)map(里面使用pair存储数据)C++98 单参数构造函数才可以隐式类型转换,多参数不可以任意类型都可以做key和value,如果没有比较大小,就写一个仿函数。set("insert") √ map("insert","插入")×C++11支持多参数隐式类型转换当你有多个值需要返回时,将这些值定义成一个结构返回传参要注意传的是类型(Compare)还是对象(comp)自己写仿函数,控制比较规则
2023-09-04 22:05:29
308
原创 C++之多态
指向父类调用父类,指向子类调用子类建议在继承体系中基类的析构函数前加上virtual,形成多态。想要不被继承要设置成私有并且提供一个静态接口,那么派生类不能调用这个接口嘛?虚表存的是虚函数的地址,虚函数本身还是存在代码段。虚函数重写只是重写了实现,整体架子还是使用的父类的,这也可以解释为什么派生类虚函数可以不加virtual。
2023-08-14 20:17:06
487
原创 C++之继承
继承体系中成员变量最好写成protected父类的私有成员,无论子类如何继承,都无法使用继承的是成员变量,成员函数在公共代码区向上转换是不会产生临时变量的,因为它是对子类对象的切割,切片,子类对象可以给父类对象/引用/指针赋值编译器编译时的查找(语法上的查找)遵循就近原则,局部域->子类成员变量->父类成员变量->全局域重载有一个限制:在同一个作用域,底层是运用函数名修饰规则父子类域中,函数名相同就构成隐藏(重定义),不管参数。先继承的在前面virtual关键字虚继承解决棱形继承问题
2023-08-08 16:55:20
388
原创 Linux下git的简单使用
注意:要分开执行,其中第一句输入你的名字,第二句输入你的email。git --vecsion 查看是否安装了git。client客户端和server服务端。为了方便找到代码负责人,对代码进行溯源。1.进行版本管理(版本控制)将文件拷贝到你的仓库目录下。再将该文件添加到本地仓库里。git clone 地址。修改后缀文件记住添加 *将你的远端仓库拷贝过来。
2023-07-27 14:21:35
163
原创 宏与函数两者之间的差异
#define 机制包括了一个规定,允许把参数替换到文本中,这种实现通常称为宏(macro)或定义宏(define macro)。
2023-02-17 23:23:42
340
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅