- 博客(8)
- 收藏
- 关注
原创 C++ STL容器 —— string
提供了更高层次的抽象和更丰富的功能接口,使得字符串的操作更加安全和便捷。它内部管理动态内存,避免了手动管理内存的复杂性。是 C++ 标准模板库(STL)中的字符串类,用于表示和操作字符序列。与传统的 C 风格字符串(即字符数组)相比,要在 C++ 程序中使用。
2024-09-28 21:57:32 244
原创 信号量机制
在这种情况下,打印机作为一个临界资源,同时只允许一个线程访问,防止数据交叉和资源冲突。当某个线程 A 在访问打印机时,如果另一个线程 B 也想要访问打印机,它就必须等待,直到 A线程访问结束并释放打印机资源后,B 线程才能去访问。缺少 P 操作就不能保证对临界资源的互斥访问,缺少 V 操作就会导致临界资源永远得不到释放、处于等待态的线程永远得不到唤醒。多个线程可以并发执行,但由于资源有限,它们的执行往往是间断性的,进而导致线程以不可预知的速度推进,这就体现了线程的异步性。面执行 V 操作,释放资源。
2024-09-24 01:11:41 307
原创 C++单例模式
唯一实例:确保只有一个实例存在。全局访问:提供一个全局访问点供外部获取实例。自我管理:自行创建并管理自己的唯一实例。私有构造函数:防止外部通过new创建实例。静态方法:通常为,用于访问唯一的实例。静态成员:用于持有自身的唯一实例。删除拷贝构造函数和拷贝赋值运算符:防止实例被复制或赋值,以确保实例的唯一性。单例模式可以分为 懒汉式 和 饿汉式 ,两者之间的区别在于创建实例的时间不同。懒汉式系统运行中,实例并不存在,只有当需要使用该实例时,才会去创建并使用实例。这种方式要考虑线程安全。
2024-09-11 02:25:38 592
原创 123333
纯虚函数(Pure Virtual Function)是虚函数的一种特殊形式,它在基类中不提供任何实现,只定义接口。纯虚函数强制派生类必须实现该函数,否则派生类本身也会成为抽象类,无法实例化。
2024-09-03 00:18:06 393
原创 【无标题】
在C++中,虚函数和抽象基类是实现多态性的重要机制。多态性允许我们通过基类的指针或引用来调用派生类的函数,从而实现代码的灵活性和可扩展性。一、虚函数虚函数通过动态绑定(Dynamic Binding)在运行时决定调用哪个函数版本,而不是在编译时确定。这使得程序可以更加灵活,能够根据对象的实际类型调用相应的函数。1、定义虚函数就是在函数声明时使用关键字virtual修饰的成员函数。类中的show函数被声明为虚函数。在Derived类中重写show函数时,并在main()函数中通过基类指针ptr调用。
2024-09-02 22:52:31 256
原创 静态类成员函数
静态成员函数的声明与普通成员函数相似,只是在前面加上static关键字。public:// 静态成员函数声明// 静态成员函数定义2. 调用方式静态成员函数可以通过类名直接调用,而不需要实例化对象。public:// 静态成员函数声明int main()// 通过类名调用// 通过对象调用(不推荐:掩盖了静态成员函数与对象无关的本质)3. 访问静态成员变量静态成员函数可以访问静态成员变量,而非静态成员函数则无法访问静态成员函数。
2024-08-21 22:43:24 555
原创 【无标题】
重载运算符,本质上也是函数的一种,使用关键字operator加上运算符返回值类型 operator 运算符(形参列表)...使用成员函数的重载使用成员函数可以直接访问对象的成员变量,重载public:// 表示个人持有的资金double operator+(const person& s) // 重载之后的+运算符在main()// 直接使用 + 进行运算std::cout << "Tom 和 John 的总资金为: " << total << std::endl;return 0;
2024-08-18 22:40:18 830
原创 以太网相关笔记
若没有则发送 ARP 请求分组(在网1上广播),该网段上的所有主机都可以接收到该请求,但只有被请求的主机会对该请求进行处理:将 ARP 请求报文中的发送端(H1)的 IP 地址和 MAC 地址存入自己的 ARP 表中。R1 要做的事情是下面的(3)或(4)。H1 H2通信 IP数据报中只会包含IP1 IP2的地址,路由器转发时不会解析IP数据报文,三层交换机(网关)收到数据包,拆开封装,启用三层路由模块,查看路由表对应的接口,通过二层模块传输,封装对应的源、目的MAC地址,直至主机H2。
2024-07-10 15:27:58 695
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人