摘要: 如果不想要当前创建的分支拥有创建节点之前的内容,就需要一个完全为空的分支,可以参考知乎这篇[文章](https://zhuanlan.zhihu.com/p/453126177)。 使用git checkout -b命令创建的分支是有父节点的,这意味着新的分支包含了历史提交,所以我们需要使用git 阅读全文
posted @ 2023-04-22 10:37 白日梦想家-c 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 1 sleep(easy) 要求:为 xv6实现 UNIX 程序睡眠; 睡眠需要暂停一段用户指定的时间。刻度是由 xv6内核定义的时间概念,即定时器芯片两次中断之间的时间。解决的程序应该在 user/sleep. c 文件中。 一些小提示: 查看user/中的其它程序,如echo.c,grep.c或 阅读全文
posted @ 2023-04-06 22:03 白日梦想家-c 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 4-1 运算符 1 运算符的重载 其实从一开始我们就已经见过运算符的重载了,例如,运算符*用于地址,就可以得到存储在这个地址中的值;用在两个数字上时,得到的是乘积的效果。 重载运算符需要使用被称作运算符函数的特殊函数形式,其格式如下 operator op(argument-list) 则operator +() 阅读全文
posted @ 2023-03-14 23:59 白日梦想家-c 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 1 vector 容器vector可以理解为变长数组,它里面放的是相同类型的元素。 vector<int> vec={1,2,3,4};//拷贝构造 vector<string> vec_str{"abc","def"};//直接构造 for(string str : vec_str){ cout< 阅读全文
posted @ 2023-03-13 18:43 白日梦想家-c 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 3-2 字符串 1 字符串的构造 一般会使用到的构造分为拷贝构造和直接构造 string str1="hello world";//拷贝构造 string str2(10,'c');//直接构造 string str3("hello world");//直接构造 输出得到 hello world ccccccccc 阅读全文
posted @ 2023-03-12 22:53 白日梦想家-c 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 3-1 命名空间 1 namespace 命名空间解决了命名冲突问题 大型工程中推荐直接采用域解析运算符,采用using易造成二义性 不要在头文件按中使用using 命名空间通常用于解决命名冲突的问题,比如在大型项目中,我们可能在两个文件中命名了两个相同名字的函数,或者变量,为了明确我们所使用的函数或变量到底是哪一个 阅读全文
posted @ 2023-03-11 23:07 白日梦想家-c 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 2-2 理解const 1 const 在引用中注意不能为常量绑定一个非常量的引用 在指针中区分low-level const和top-level const const通常用于定义常量,一经定义不许修改,且使用const必须初始化 2 定义形参 当我们在使用某个函数时,不希望变量在函数内部被改变,则可以将形参定义为con 阅读全文
posted @ 2023-03-10 18:23 白日梦想家-c 阅读(20) 评论(1) 推荐(1) 编辑
摘要: 2-1 复合类型 引用 1 引用 不真实存在 不可以绑定临时值,可以绑定常量 引用必须初始化 2 基本属性 引用通俗理解就是相当于实现了一个绑定,它并不是真是存在的。引用通常用于传递参数,只需要传一个引用进去,而不是拷贝进去,引用的方式相对节省操作时间。以下面程序为例简单介绍引用: int main() { int loc 阅读全文
posted @ 2023-03-10 00:08 白日梦想家-c 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 1-1 基础介绍 1 函数 函数名 参数列表 返回值 函数体 对于每一个C++程序,最后在编译结束后要运行的都是一个可执行二进制文件,而这个文件的入口就是所写的main函数,那么首先以main函数为例进行一个了解,在多数情况下使用时不需要写参数列表,但main函数是有隐含参数的: int main (int argc 阅读全文
posted @ 2023-03-08 00:08 白日梦想家-c 阅读(21) 评论(0) 推荐(0) 编辑