C++
文章平均质量分 78
绅士·永
不忘初心
展开
-
<C++项目>高并发内存池
原型是goole的开源项目tcmalloc(全称:Thread-Caching Malloc),用于替代系统的内存分配相关的函数(malloc, free).知名度非常高。项目要求知识储备和难度:会用到C/C++、数据结构(链表、哈希桶)、操作系统内存管理、单例模式、多线程、互斥锁等等。什么是内存池池化技术所谓“池华技术”,就是程序先向系统申请过量的资源,内存池要解决的两个问题一)效率问题:举个例子,我们向家里要生活费,有两种方式;每次要花钱时都去找爸爸妈妈。原创 2023-06-22 10:57:15 · 783 阅读 · 2 评论 -
<C++>手撕搜索二叉树
搜索二叉树主要实现的是K或K/Value模型,这里我们使用K模型来定义,即可以用O(N)的时间复杂度来进行K值的搜索。使用模板来定义{K _key;{}};原创 2022-11-30 21:22:39 · 647 阅读 · 0 评论 -
<C++>深度学习多态
多态是不同继承关系的类对象,去调用同一函数,产生了不同的行为;比如如下例子:Student继承了PersonPerson对象买全票Student对象买半票{public:virtual void BuyTicket() { cout原创 2022-11-24 23:36:37 · 760 阅读 · 0 评论 -
<C++>深度学习继承
一定不要设计出多继承多继承可以说是C++的缺陷之一继承和组合public继承是一种is-a的关系,也就是说每一个派生类对象都是一个基类;组合是一种has-a的关系,假设B组合了A,每一个对象中都有一个A对象;优先使用对象组合,而不是继承继承允许你根据基类的实现来定义派生类的实现继承一定程度破坏了类的封装,基类的改变对派生类的影响很大对象组合和基类间的依赖关系很强,耦合度高对象组合是类继承之外的另外一种复用选择实际尽量多去使用组合。原创 2022-11-20 00:15:34 · 344 阅读 · 0 评论 -
<C++>模板进阶
模板【优点】:1、模板复用了代码,节省资源,更快的迭代开发,C++的标准模板库(STL)因此产生2、增强了代码的灵活性(重复的工作交给编译器去做)模板【缺陷】:1、模板会导致代码膨胀的问题,也会导致编译的时间变长2、出现了模板编译错误时,错误信息非常凌乱,不易定位错误。原创 2022-10-08 18:13:22 · 591 阅读 · 0 评论 -
<C++>初始化列表_static成员_友元
类外部的函数是不能访问类的私有成员的,使用友元就可以使其能够访问类的私有成员。对于构造函数,如上代码,在创建对象时,调用构造函数后,类成员会有一个初始值,但这样并不是初始化,在类中定义类,比如在A类中定义B类,B类就是A的友元类,但A不是B的友元类。在类中声明外部定义的类,外部定义的类就可以访问这个类中的私有成员了。2、引用成员变量、const成员变量、没有默认构造函数的自定义类。在类中的成员变量是所有这个类共享的,且只能在类外定义和初始化。在类中声明外部定义的函数,外部的函数就可以访问类中的私有成员。..原创 2022-08-16 19:59:51 · 336 阅读 · 4 评论 -
<C++>构造_拷贝_析构_运算符重载函数_const成员函数
C++的class类中有几个特殊函数,它们的调用不是人为调用的,而是编译器自动调用的。其中的构造函数就是一个在创建对象时自动调用的特殊函数。一般用于对象的初始化操作,这可以避免C语言中写着写着就忘记初始化的场景。我们将创建对象时默认调用的构造函数叫做默认构造函数,我们可以将默认构造函数分为:无参默认构造,全缺省默认构造,编译器自己默认生成的默认构造。...原创 2022-08-15 16:04:16 · 361 阅读 · 0 评论 -
【C++】类和对象_(1)
//类体由成员函数和成员变量组成};//一定要注意后面的分号class为定义类的关键字,ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。类体中内容称为类的成员类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。类的两种定义方式1、1.声明和定义全部放在类体中,需注意成员函数如果在类中定义,编译器可能会将其当成内联函数处理。K2.类声明放在.h文件中,成员函数定义放在.cpp文件中,...原创 2022-07-18 15:45:10 · 108 阅读 · 0 评论 -
【C++】inline内联函数、auto关键字、nullptr
对于一个有范围的集合而言,由程序员来说明循环的范围是多余的,有时候还会容易犯错误。3.为了避免与C++98中的auto发生混淆,C++11只保留了auto作为类型指示符的用法4.auto在实际中最常见的优势用法就是跟以后会讲到的C++11提供的新式for循环,还有lambda表达式等进行配合使用。在C++98中,字面常量0既可以是一个整形数字,也可以是无类型的指针(void*)常量,但是编译器默认情况下将其看成是一个整形常量,如果要将其按照指针方式来使用,必须对其进行强转(void*)0。...原创 2022-07-17 12:46:13 · 442 阅读 · 0 评论 -
【C++】函数重载的底层原理
灵魂三问:函数重载你真的知道吗?C++如何调用C?C如何调用C++?原创 2022-07-11 10:21:45 · 596 阅读 · 2 评论 -
【C++】初阶_基础(一)
缺省参数、函数重载、引用原创 2022-07-09 19:55:22 · 263 阅读 · 5 评论 -
【C++】第一个程序namespace等解读
第一个C++程序!!!解读原创 2022-07-03 16:18:41 · 452 阅读 · 7 评论 -
【C++】引用详解
目录一.引用的概念二.注意事项三.引用的使用1.作为函数参数修饰实参2.引用作为函数返回值四.引用的本质cosnt的用处一.引用的概念概念:给一个变量起别名。定义:数据类型 &别名 = 原名int a = 10;int& b = a;// b 就是 a 的一个别名二.注意事项1.使用引用时必须初始化2.初始化后的别名不能做为其他变量名的别名三.引用的使用1.作为函数参数修饰实参函数实现交换两个变量的值,有.原创 2022-04-14 13:25:56 · 634 阅读 · 0 评论