- 博客(30)
- 收藏
- 关注
原创 Linux-进程控制
exec/exit 就像 call/return一个C程序有很多函数组成。一个函数可以调用另外一个函数,同时传递给它一些参数。被调用的函数执行一定的操作,然后返回一个值。每个函数都有他的局部变量,不同的函数通过call/return系统进行通信。这种通过参数和返回值在拥有私有数据的函数间通信的模式是结构化程序设计的基础。Linux鼓励将这种应用于程序之内的模式扩展到程序之间。如下图:一个C程序可以fork/exec另一个程序,并传给它一些参数。
2025-02-24 20:42:00
608
原创 C++ 继承
类成员/继承方式public继承protected继承private继承基类的public成员派生类的public成员派生类的protected成员派生类的private成员基类的protected成员派生类的protected成员派生类的protected成员派生类的private成员基类的private成员在派生类中不可见在派生类中不可见在派生类中不可见基类private成员在派生类中的不可见性基类的private。
2024-09-21 20:43:24
957
原创 C++实现unordered_map和unordered_set
我们将设计一个底层哈希表类,通过模板参数T来区分 unordered_set和 unordered_map。当上层是unordered_set时,T和K相同;当上层是unordered_map时,T就是value。同时,原先的键值对也要改成模板参数T,由于这个T可能是key,也有可能是<key,value>键值对,所以将原来结点类中的_kv(键值对)改成_data,以保存数据。T _data;// 保存数据// 后继指针HashNode(const T& data) // 结点构造函数{}
2024-09-16 10:38:54
911
原创 C++11 智能指针
描述堆malloccallocrealloc或者new等函数从堆中分配的内存。使用完后,必须通过调用相应的free或delete函数来释放。如果程序设计有误,导致这些内存未被释放,那么这部分内存将无法再被使用,形成堆内存泄漏(Heap Leak)。
2024-09-02 23:26:32
1010
原创 C++自定义list实现
因为有const和非const之分,我们得有两个类 ListIterator 和 ListConstIterator//迭代器实现(封装1)public:ListIterator(Node* node) // 构造{}bool operator==(const self& it) // == 运算符重载= 运算符重载= it._node;T& operator*() // 解引用 运算符重载self& operator++() // 前置++
2024-06-07 12:07:20
1068
2
原创 C++vector常用接口函数及模拟实现
(constructor)构造函数声明接口说明vector()(重点)无参构造构造并初始化n个val(重点)拷贝构造使用迭代器进行初始化构造memcpy是一个高效的内存复制工具,对于内置类型的数据能很好地工作。但在处理涉及资源管理的自定义类型时,必须小心浅拷贝带来的问题,建议使用深拷贝以确保资源的正确管理和释放。今天的分享到此为止,我们下期再见~
2024-05-22 21:39:48
792
7
原创 C++引用和移动语义
C++11 对增加了移动构造和移动赋值,这种语义对于深拷贝类作为参数传递减少了不必要的性能开销,根据对值的特性分为左值和右值。
2024-05-16 00:00:44
814
8
原创 C++类和对象(构造函数)
这章节,我们来集中学习类和对象中的构造函数方面的相关知识 首先我们来简单介绍一下C++中的类和对象:默认构造函数在 C++ 中有两种情况: 在讲拷贝构造之前,我们先来了解 深、浅拷贝对于内置类型的成员变量,默认初始化意味着它们可能会被赋予未定义的值(在某些编译器中可能是随机值)。对于自定义类型的成员变量,默认初始化会调用自定义类型的默认构造函数进行初始化,如果没有自定义默认构造函数,则成员变量的值也可能是未定义的。类中嵌套类(也称为内部类)是一个很好的例子。什么是隐式转换?代码示例 :在对象实例化中
2024-05-05 17:43:26
1006
2
原创 集合中的常见的位运算
集合可以用二进制表示,二进制从低到高第 i位i 位为 1,表示 i 在集合中,i 位为 0,表示 i 不在集合中。例如集合 {0,2,3}{0,2,3} 可以用二进制数 1101表示;反过来,二进制数 1101;1101 就对应着集合 {0,2,3}。
2024-05-01 21:47:17
783
2
原创 关于编程的认识和规划
1. 我是一名计算机科学与技术专业的大二学生,选这个专业也是因为从小有着浓厚的兴趣,以前梦想做一个黑客,以为可以无所不能,但后来想往游戏开发前进,虽然现在几乎一窍不通,但我可以为之努力。3. 我打算每天跟着网上的各种课程和讲解练习代码至少3小时,把打字速度和编程逻辑训练好。2. 我的目标是要精通和理解有关c/c++语言的各种技术,并可以独立写出游戏程序。5. 我想进入华为或者腾讯公司做一名高级游戏开发工程师。4. 我打算每天练习代码3个小时以上。
2024-01-16 23:09:57
436
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人