![](https://img-blog.csdnimg.cn/fe6dc166b4d64bffb641393d611e96f2.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
C“嘎嘎” 系统学习
文章平均质量分 96
C++系统学习,细到头发丝
初阳hacker
致力于成为学习狂魔的人,努力成为更厉害的程序员
展开
-
C++类型转换
C和C++中的隐式类型转换,以及C++中添加的类型转换模式,static_cast,const_cast,reinterpret_cast, dynamic_cast原创 2024-05-06 21:53:42 · 1102 阅读 · 7 评论 -
C++特殊类的设计
设计特殊类,比如不能被拷贝,只能在堆上创建,只能在站上创建,单例模式原创 2024-05-06 21:51:02 · 561 阅读 · 5 评论 -
C++智能指针
智能指针shared_ptr, unique_ptr, weak_ptr原创 2024-04-25 16:00:40 · 1055 阅读 · 7 评论 -
C++_异常
实际使用中很多公司都会自定义自己的异常体系进行规范的异常管理,因为一个项目中如果大家随意抛异常,那么外层的调用者基本就没办法玩了,所以实际中都会定义一套继承的规范体系。这样大家抛出的都是继承的派生类对象,捕获一个基类就可以了。// 服务器开发中通常使用的异常继承体系// 基类public:, _id(id){}protected:int _id;private:public:{}//错误描述return str;原创 2024-04-25 15:59:40 · 972 阅读 · 9 评论 -
C++11特性
在2003年C++标准委员会曾经提交了一份技术勘误表(简称TC1),使得C++03这个名字已经取代了C++98称为C++11之前的最新C++标名称。不过由于C++03(TC1)主要是对C++98标准中的漏洞进行修复,语言的核心部分则没有改动,因此人们习惯性的把两个标准合并称为C++98/03标准。从C++0x到C++11,C++标准10年磨一剑,第二个真正意义上的标准珊珊来迟。原创 2024-04-23 23:10:17 · 1024 阅读 · 2 评论 -
C++多态
虚函数,虚基表,虚函数表,重写,隐藏,抽象类,多态的原理原创 2024-02-12 23:34:10 · 930 阅读 · 17 评论 -
C++继承
继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触的复用都是函数复用,继承是类设计层次的复用。public:protected:// 姓名// 年龄// 继承后父类的Person的成员(成员函数+成员变量)都会变成子类的一部分。这里体现出了。原创 2024-02-11 10:07:15 · 909 阅读 · 8 评论 -
C++模板进阶
一个程序(项目)由若干个源文件共同实现,而每个源文件单独编译生成目标文件,最后将所有目标文件链接起来形成单一的可执行文件的过程称为分离编译模式。【优点】模板复用了代码,节省资源,更快的迭代开发,C++的标准模板库(STL)因此而产生增强了代码的灵活性【缺陷】模板会导致代码膨胀问题,也会导致编译时间变长出现模板编译错误时,错误信息非常凌乱,不易定位错误。原创 2024-02-10 17:27:00 · 971 阅读 · 21 评论 -
STL之priority_queue的使用及其模拟实现+仿函数
优先队列是一种容器适配器,根据严格的弱排序标准,它的第一个元素总是它所包含的元素中最大的。此上下文类似于堆,在堆中可以随时插入元素,并且只能检索最大堆元素(优先队列中位于顶部的元素)。优先队列被实现为容器适配器,容器适配器即将特定容器类封装作为其底层容器类,queue提供一组特定的成员函数来访问其元素。元素从特定容器的“尾部”弹出,其称为优先队列的顶部。底层容器可以是任何标准容器类模板,也可以是其他特定设计的容器类。原创 2024-02-10 17:26:25 · 957 阅读 · 7 评论 -
STL之list容器的介绍与模拟实现+适配器
list的文档介绍list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素。list与forward_list非常相似:最主要的不同在于forward_list是单链表,只能朝前迭代,已让其更简单高效。与其他的序列式容器相比(array,vector,deque),list通常在任意位置进行插入、移除元素的执行效率更好。原创 2024-02-09 16:04:06 · 1724 阅读 · 7 评论 -
STL之stack+queue的使用及其实现
stack的文档介绍stack是一种容器适配器,专门用在具有后进先出操作的上下文环境中,其删除只能从容器的一端进行元素的插入与提取操作。stack是作为容器适配器被实现的,容器适配器即是对特定类封装作为其底层的容器,并提供一组特定的成员函数来访问其元素,将特定类作为其底层的,元素特定容器的尾部(即栈顶)被压入和弹出。stack的底层容器可以是任何标准的容器类模板或者一些其他特定的容器类,这些容器类应该支持以下操作:empty:判空操作back:获取尾部元素操作。原创 2024-02-09 16:01:15 · 918 阅读 · 13 评论 -
STL之vector容器的介绍与模拟实现
vector的文档介绍vector是表示可变大小数组的序列容器。就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效。但是又不像数组,它的大小是可以动态改变的,而且它的大小会被容器自动处理。本质讲,vector使用动态分配数组来存储它的元素。当新元素插入时候,这个数组需要被重新分配大小为了增加存储空间。其做法是,分配一个新的数组,然后将全部元素移到这个数组。就时间而言,这是。原创 2024-01-18 12:10:54 · 1137 阅读 · 33 评论 -
STL之string的使用与模拟实现
string的使用及其模拟实现原创 2023-12-09 23:54:00 · 1014 阅读 · 3 评论 -
C++函数模板,类模板
函数模板,类模板原创 2023-12-03 15:04:28 · 1117 阅读 · 9 评论 -
C++动态内存管理new,delete
new,delete的用法,底层实现,定位new原创 2023-12-02 17:40:13 · 1054 阅读 · 7 评论 -
C++ 构造函数(初始化列表),static静态成员,友元,内部类,explicit关键字
C++ 构造函数(初始化列表),static静态成员,友元,内部类,explicit关键字原创 2023-11-11 17:06:19 · 599 阅读 · 0 评论 -
C++ 赋值运算重载,const成员,取地址及const取地址操作符重载
C++ 赋值运算重载,const成员,取地址及const取地址操作符重载原创 2023-11-01 22:46:12 · 367 阅读 · 14 评论 -
C++类与对象,构造函数,析构函数,拷贝构造函数
C++类与对象,构造函数,析构函数,拷贝构造函数原创 2023-10-25 12:44:19 · 154 阅读 · 15 评论 -
C++类与对象 (上)
类的定义,类的权限,类的计算大小,this指针原创 2023-10-19 15:14:30 · 359 阅读 · 38 评论 -
(缺省参数)&(函数重载)&(引用)&(内敛)&(C++中的nullptr)
(缺省参数)&(函数重载)&(引用)&(内敛)&(C++中的nullptr)原创 2023-10-18 22:59:32 · 176 阅读 · 14 评论 -
C++入门 —— 命名空间
命名空间的使用原创 2023-10-12 23:14:51 · 278 阅读 · 30 评论