
C++
文章平均质量分 96
无
水月梦镜花
你很懒,还么有添加简介。诶嘿
展开
-
在C++中如何实现线程安全的队列
在一次和豆包的模拟面试中,豆包问我:“在C++中,如何实现一个线程安全的队列呢?只读操作是线程安全的:多个线程可以同时调用const 成员函数(如size, empty, at等)读取同一个容器,只要没有线程修改容器写操作需要独占访问:如果至少有一个线程在修改容器(如push_back, earse, operator[]等),其它线程必须通过同步机制,来保护对该容器的访问不同容器实例独立:不同线程操作不同的容器实例。原创 2025-03-02 22:06:09 · 875 阅读 · 0 评论 -
C++:多态
本篇文章作为C++:多态的知识总结。多态的概念:在完成某个行为时,不同的对象会产生不同的状态。例如:在手机上买火车票这一行为,如果是学生买票,是打折买票,如果是普通人买票,是全价买票。重载:两个函数在同一作用域,函数名相同,参数不同(参数个数,参数类型,参数顺序)。重定义:对于分别在父类与子类作用域的同名成员函数,如果不构成重写就是重定义重写:对于分别在父类与子类作用域的同名成员函数,如果它们的参数,返回值相同(协变,析构函数列外),且它们被virtual修饰,那么它们就构成重写。原创 2023-11-03 16:29:26 · 670 阅读 · 67 评论 -
C++:继承
本篇博客作为C++:继承的知识总结。继承机制是面向对象程序设计使代码可以复用的最重要的手段,他允许程序员在保持原有类特性的基础上进行拓展,增加功能,这样产生新的类,称为派生类。继承呈现了面向对象程序设计的层次结构,是类设计层次的复用。public:protected:// 名字int _age;// 年龄protected:string id;// 学号在上述示例中,Studend类继承Person类,Studend类被称为派生类/子类,Person类被称为基类/父类。原创 2023-10-29 16:28:56 · 830 阅读 · 73 评论 -
C++:new 和 delete
本篇博客作为C++:new 和 detele操作符的知识总结class Apublic::_a(a)~A()private:int _a;return 0;注意:在申请自定义类型的空间时,new会调用构造函数,delete会调用析构函数new的原理1.调用operator new函数申请空间2.在申请的空间上执行构造函数,完成对象的构造delete的原理1.在空间上执行析构函数,完成对象中资源的清理工作。原创 2023-09-19 15:25:27 · 1360 阅读 · 81 评论 -
C++:初始化列表,static成员,友元,内部类
本篇博客作为C++:初始化列表,static成员,友元,内部类的知识总结。以上就是我对于初始化列表,static成员,友元,内部类,匿名对象的知识总结。!!原创 2023-09-16 17:01:32 · 917 阅读 · 59 评论 -
C++:类的六个默认成员函数
本篇博客作为C++知识总结,我们来认识类的六个默认成员函数。下面我主要以日期类作为示例显示。以上就是我对于类的六个默认成员函数的总结。!!原创 2023-09-12 17:56:36 · 1042 阅读 · 65 评论 -
C++:初识类与this指针
注意类定义结束时后面分号(;)不能省略。类中的变量称为类的属性or成员变量;类中的函数称为类的方法or成员函数;类的两种定义方式声明和定义全部放在类体中,需注意:成员函数如果在类中定义,编译器可能会将其当成内联函数处理//日期类class Datepublic://打印日期private:int _year;//年int _month;//月int _day;//日类的声明放在.h文件,成员函数定义在.cpp文件。要注意在类外面定义函数要加上类名::(类的作用域)原创 2023-09-03 17:05:57 · 2306 阅读 · 71 评论 -
C++:命名空间,缺省参数,函数重载,引用,内联函数
本篇博客作为C++知识总结,我们来认识命名空间,缺省参数,函数重载,引用,内联函数。定义命名空间,需要使用namespace关键词,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。命名空间中可以定义变量,函数,类型//变量//函数//类型struct Stuint age;命名空间可以嵌套定义struct Stuint age;//嵌套定义test1命名空间一个工程中允许定义多个相同的命名空间,编译器会将多个相同的命名空间合并为一个。原创 2023-08-26 11:21:47 · 1544 阅读 · 63 评论