- 博客(8)
- 收藏
- 关注
原创 内核级进程的切换实现
如何实现内核级进程切换在这篇文章中,我们在父进程上通过fork()函数创建一个子进程一窥内核级进程切换的来龙去脉。1.通过中断函数从用户栈进入内核栈:在用户级线程内调用系统函数fork(),fork()函数体如下:fork:mov %eax,__NR_forkINT 0x80mov res,%eaxint 0x80指令详解:int 0x80为中断指令,会将...
2020-02-11 22:23:16
394
原创 C++链表、队列、栈模板
//List.h#pragma once#include<iostream>#include<exception>#include<stdexcept>template <typename T>class List {private: class LNode { public: T item{}; LNode* pNext{...
2019-07-27 15:05:24
255
原创 副本构造函数与析构函数的陷阱
副本构造函数:副本构造函数是一种特殊的构造函数,其参数类型为类对象,也就是说,用一个已经创建的对象来初始化同一个类的另一个对象。同时,编译器也提供默认的副本构造函数,其作用方式很简单,就是把把原对象的数据成员值复制给新对象,这种复制方法为浅层复制。假设我们现在有一个类 Box,其数据成员是盒子的长length,宽width,高height,函数成员为计算盒子的体积 :class Box {...
2019-07-20 21:12:21
492
原创 C++传递lambda表达式给函数
有时候,我们会需要将一个函数作为变元传递给另一个函数,这时,就需要了解函数指针的作用了先来回顾一下函数指针:函数指针不同于普通指针,它存储的内容还包括一个函数的返回类型和参数列表,形式为:返回类型( * 函数指针名 ) (参数列表),当一个函数指针创建后,它就只能指向对应返回类型和参数类型的函数,无法指向其他类型函数。为了方便和正确起见,我们可以利用 auto 关键字让编译器自动识别函数类...
2019-07-18 21:11:42
6012
原创 C++定义函数
一、函数传递参数的方式术语:主调函数:调用其他函数的函数,大部分时候为main函数被调函数:被其他函数如main函数调用的函数变元:在主调函数中传递给被调函数的变量或常量,如函数调用语句function(a,b)中变元为a和b形式参数:主调函数传递给被调函数的变量或常量1.按值传送机制此类函数传送机制是将主调函数中的变元生成一个副本作为被调函数的形式参数,即将变元重新拷贝一份然后再传...
2019-07-16 15:26:07
5130
原创 C++指针专题(基础扫盲)
指针的学习是每个C/C++初学者都无可避免的,最近在学习C++的同时,顺便复习了一下以前学的C的指针,有些地方本来不是很明白的现在也豁然开朗了(⊙o⊙)什么是指针让我们看看维基百科上的定义:计算机中的内存都是编址的,每个地址都有一个符号,就像家庭地址或者IP地址一样。指针,是一个无符号整数(unsigned int),它是一个以当前系统寻址范围为取值范围的整数。声明指针和声明一个无符号整数实质...
2019-07-11 09:41:44
7764
4
原创 C++STL库
STL全解①vector:vector实际上是一种动态数组,可以自动按照需求调整数组大小。常见时间复杂度:1.随机访问O(N)2.容器尾部插入元素O(1)3.容器任意位置插入元素O(N)可定义类型:int,float,double,结构体,string等(输出字符串类型两种方法:printf("%s",s.c_str()); cout<<s;)vector的迭代器说明...
2019-04-22 20:36:33
614
原创 深度优先搜索(DFS)的标记数组处理与剪枝技巧
大一小白一枚,坐标南方某不知名一本,正在自学令人头秃的数据结构,目前还在DFS、BFS等巨坑中挣扎(还是太菜了~),希望能分享一下自己在学习”搜索“路上走过的路(坑).以HD1010 (迷宫里的狗狗)为例:Problem:he doggie found a bone in an ancient maze, which fascinated him a lot. However, when h...
2018-12-16 22:53:35
1505
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人