C++
文章平均质量分 66
steins_甲乙
懒人一枚
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++中的显式类型转换
能用。原创 2025-12-10 16:07:22 · 937 阅读 · 0 评论 -
C++并发编程(4)——死锁问题
场景一:互斥锁的嵌套获取导致死锁。解决方法是使用std::lock同时锁定多个互斥量。场景二:在持有锁时调用用户代码可能导致死锁。解决方法是在持有锁时避免调用可能获取其他锁的代码。场景三:固定顺序获取锁不一致导致死锁。解决方法是确保所有线程以相同的顺序获取锁。层次锁。原创 2025-12-09 11:40:27 · 629 阅读 · 0 评论 -
C++并发编程(3)——资源竞争下的安全栈
继承自。重写了what()函数,返回错误信息。const:保证这个函数不会修改对象状态。throw():老式的异常说明,表示函数不会抛出异常(C++11 之后用noexcept,这里是书上经典写法)。以后当栈为空却调用pop时,就会抛出这个异常。原创 2025-12-09 10:46:19 · 805 阅读 · 0 评论 -
C++之“虚”篇
菱形继承问题发生在多重继承中,当一个派生类同时继承两个类的相同基类时,会导致该基类的成员变量和函数被多次继承,形成多余的冗余数据和不必要的复杂性。虚基类是虚继承的基础。当一个类通过虚继承继承另一个类时,继承的那个类就被称为虚基类。它允许通过基类的指针或引用调用派生类中的重写函数,而不管指针或引用的类型是什么。如果基类有纯虚函数,派生类必须提供一个实现,否则派生类也会变成抽象类,不能实例化。虚继承要求虚基类的构造函数只能由最派生类的构造函数调用。如果派生类没有重写该函数,它会继承基类的实现。原创 2025-12-02 12:58:05 · 238 阅读 · 0 评论 -
C++之lamda表达式(1)
:lower引用的是<cctype>头文件中的,是全局命名空间中的,而std::lower是std命名空间的,也不是个函数指针。所以在这里就是错误的。这里第四个参数接收一个函数指针,写lamda表达式是对的,下面这样写也是对的。刷CCS-CSP的时候碰到字符串全部转小写的问题,下面给出了它的实现。原创 2024-07-14 11:14:34 · 169 阅读 · 0 评论 -
C++11新特性(1)
委托构造函数通过成员初始化列表直接调用另一个构造函数,不需要构造函数体内的代码,更为简洁和直接。而在构造函数内部调用其他构造函数则需要在函数体内明确调用其他构造函数或者其它初始化代码。委托构造函数通常更清晰和易读,因为初始化过程集中在初始化列表中;而在构造函数内部调用其他构造函数则可以在构造函数体中执行更复杂的逻辑,但可能会使构造函数变得更加复杂和冗长。委托构造函数是 C++11 标准引入的新特性,而在构造函数内部调用其他构造函数则是更早期就可以使用的技术。原创 2024-07-12 10:02:31 · 371 阅读 · 0 评论
分享