c++
文章平均质量分 83
for_everyoung01
重复的事情做千万次。
展开
-
总结一:C++面经(五万字长文)
概念:函数指针就是指向函数的指针变量。每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。定义形式如下:f = &func;函数指针的应用场景:回调(callback)。我们调用别人提供的 API函数(ApplicationProgramming Interface,应用程序编程接口),称为Call;如果别人的库里面调用我们的函数,就叫Callback。原创 2023-10-07 09:27:44 · 1589 阅读 · 1 评论 -
二十一、C++11(中)
说明一下: 在实现移动赋值函数之前,该代码的运行结果理论上应该是调用一次拷贝构造,再调用一次原有的operator=函数,但由于原有operator=函数实现时复用了拷贝构造函数,因此代码运行后的输出结果会多打印一次拷贝构造函数的调用,这是原有operator=函数内部调用的。移动构造是一个构造函数,该构造函数的参数是右值引用类型的,移动构造本质就是将传入右值的资源转移过来,占为己有,这样就避免了进行深拷贝,所以它叫做移动构造,就是转移别人的资源来构造自己的意思。(并不是所有的编译器都做了这个优化)。原创 2023-06-06 20:59:28 · 908 阅读 · 0 评论 -
二十、C++11(上)
经过了漫长了C++语法学习还有高阶数据结构学习差不多来到了C++学习的收尾部分C++11这部分主要是一些零碎的知识点中间还可能涉及到一些linux相关知识在2003年C++标准委员会曾经提交了一份技术勘误表(简称TC1),使得C++03这个名字已经取代了C++98称为C++11之前的最新C++标准名称。不过由于C++03(TC1)主要是对C++98标准中的漏洞进行修复,语言的核心部分则没有改动,因此人们习惯性的把两个标准合并称为C++98/03标准。原创 2023-05-31 14:14:37 · 854 阅读 · 0 评论 -
十八、map和set
键值对是用来表示具有一 一对应关系的一种结构,该结构中一般只包含两个成员变量key和value,key代表键值,value表示与key对应的信息。比如我们若是要建立一个英译汉的字典,那么该字典中的英文单词与其对应的中文含义就是一一对应的关系,即通过单词可以找到与其对应的中文含义。如果k不在map中,则先插入键值对,然后返回该键值对中V对象的引用。树型结构容器中的元素是一个有序的序列,而哈希结构容器中的元素是一个无序的序列。如果k已经在map中,则返回键值为k的元素对应的V对象的引用。原创 2023-05-23 11:28:32 · 477 阅读 · 0 评论 -
十六、二叉搜索树(一)
二叉搜索树基本实现原创 2023-03-06 19:43:10 · 287 阅读 · 0 评论 -
十五、多态
多态原创 2023-03-01 17:41:27 · 315 阅读 · 0 评论 -
十四、继承
继承机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触的复用都是函数复用,继承是类设计层次的复用。public:protected:// 继承后父类的Person的成员(成员函数+成员变量)都会变成子类的一部分。这里体现出了Student和Teacher复用了Person的成员。原创 2023-04-17 19:21:01 · 364 阅读 · 0 评论 -
十三、模板进阶
模板进阶原创 2023-02-27 21:02:58 · 42 阅读 · 0 评论 -
十、list
list基本知识原创 2023-04-12 19:26:01 · 52 阅读 · 0 评论 -
十一、stack和queue
stack是一种容器适配器,专门用在具有后进先出操作的上下文环境中,其删除只能从容器的一端进行元素的插入与提取操作。stack是作为容器适配器被实现的,容器适配器即是对特定类封装作为其底层的容器,并提供一组特定的成员函数来访问其元素,将特定类作为其底层的,元素特定容器的尾部(即栈顶)被压入和弹出。原创 2023-04-17 21:28:09 · 539 阅读 · 0 评论 -
九、vector用法
vector用法原创 2022-11-26 20:03:59 · 551 阅读 · 0 评论 -
八、string(二)
string是表示字符串的字符串类原创 2023-04-17 21:06:11 · 386 阅读 · 0 评论 -
七、String(一)
string介绍与基本用法(一)原创 2022-11-17 18:42:55 · 488 阅读 · 0 评论 -
附 | string模拟实现
【代码】附 | string模拟实现。原创 2023-04-11 19:49:04 · 43 阅读 · 0 评论 -
六、初级模版
初级模版原创 2022-11-17 11:37:13 · 408 阅读 · 0 评论 -
五、初级C++内存管理
new & delete原创 2022-11-14 20:24:11 · 86 阅读 · 0 评论 -
四、类与对象(下)
列表、static原创 2022-11-14 19:49:39 · 62 阅读 · 0 评论 -
三、类与对象(中)
如果一个类中的成员全部都是自定义类型,那么可以使用默认生成的函数。如果有内置类型成员或者需要显示传参初始化,那么都需要自己实现构造函数。不传参就可以调用的就是默认构造函数。到底调用取地址操作符重载还是const取地址操作符重载,是由取地址对象的类型决定的取地址操作符重载和const取地址操作符重载是默认成员函数即使不创建也会默认生成。原创 2022-11-10 17:01:45 · 575 阅读 · 0 评论 -
二、类与对象(上)
完成一件事,关注的是对象,将一件事情拆分成不同的对象,在对象中完成其该有的功能,靠对象之间的交互完成。但是一般为了区分结构体和类,c++中,写类一般会将 struct 替换为 class。// 类体:由成员函数和成员变量组成// 注意后面的分号。原创 2022-11-10 10:17:42 · 442 阅读 · 0 评论 -
一、前置知识
中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是。同一个工程中允许存在多个相同名称的命名空间,,命名空间中的所有内容都局限于该命名空间中。编译器最后会合成同一个命名空间中。关键字的出现就是针对这类问题的。定义命名空间,需要使用到。中即为命名空间的成员。原创 2023-04-11 17:43:46 · 58 阅读 · 0 评论