
C++
文章平均质量分 76
C++的开发经验分享
程序员班长
武汉计算机硕士在读,热爱计算机也不想秃头
展开
-
C++的静态绑定和动态绑定、虚函数表的理解
"绑定"指的是函数调用与函数实现之间的关联,在C++中,这种绑定可以是静态的(编译时决定)或动态的(运行时决定)。静态绑定发生在一个函数调用与一个函数实现之间。这里,函数的调用是基于调用对象的静态类型(即声明时的类型)来决定的。也就是说,编译器在编译时就决定了会调用哪个函数;动态绑定发生在一个虚函数调用与多个可能的函数实现之间。在这种情况下,函数的调用是基于调用对象的实际类型(即运行时对象的类型)来决定的。也就是说,运行时系统(而不是编译器)在运行时决定了会调用哪个函数。原创 2024-04-02 17:08:37 · 2076 阅读 · 2 评论 -
C++多态的一些理解
多态分为静态多态和动态多态,静态多态是在编译时确定要调用的函数版本,通过函数重载实现,适用于非虚函数和静态成员函数。动态多态是在运行时确定要调用的函数版本,通过虚函数和继承实现,适用于虚函数和纯虚函数,并且需要使用指针或引用来实现多态性。静态多态的绑定是在编译时完成的,而动态多态的绑定是在运行时完成的。原创 2024-04-02 13:31:25 · 1081 阅读 · 0 评论 -
C++中的面向对象到底是什么
对象嘛,就和大家都有的对象一样,两只眼睛、一个嘴巴、两条腿……对不起跑题了,C++的面向对象中的对象可不是显示中的对象哦,但是有一些相似之处,有对象的同学可以参考着去学习C++面向对象的概念,没有对象的同学……那就先new一个出来(手动滑稽原创 2024-04-01 17:08:32 · 1250 阅读 · 0 评论 -
C++注意点——更新中
C++的一些需要注意的地方。原创 2024-03-28 21:32:47 · 287 阅读 · 0 评论 -
单链表实现LRU缓存淘汰算法
因为计算机内存中的缓存大小是有限的,所以当缓存满的时候,我们必须采用某种算法来替换掉某块缓存。常用的算法有FIFO(先进先出)、LFU(最少使用)、LRU(最近最少使用)。LRU(Least Recently Used)算法也叫做最近最少使用算法。顾名思义,也就是当内存中的缓存满的时候,有新的数据需要加入到缓存中,最近使用过的缓存很可能还会再次使用到,所以我们需要将最近时间内使用次数最少的缓存替换掉。原创 2024-03-13 23:32:14 · 476 阅读 · 2 评论 -
C++产生未定义的行为的原因分析
未定义的行为是什么?在C++(以及其他编程语言)中,“未定义的行为”(Undefined Behavior,简称 UB)是指语言标准没有为某些代码行为提供明确的规范或定义,因此编译器不必为这种行为提供任何特定的支持或保证。当代码触发未定义的行为时,可能会发生以下情况之一(或更多):程序崩溃(闪退):例如,通过无效指针引用内存;不可预测的输出:程序可能会产生意外的结果;随机行为:程序在不同的运行或在不同的平台上可能表现不同;安全漏洞:攻击者可能会利用未定义的行为来执行恶意操作。原创 2023-10-17 15:39:28 · 1167 阅读 · 0 评论 -
C++中基类和派生类的构造函数与析构函数的调用顺序分析
基类为B,派生类为C。首先,要知道基类和派生类的构造函数执行顺序是先执行基类的构造函数,再执行派生类的构造函数;而析构函数的执行顺序与构造函数的执行顺序刚好相反。原创 2023-05-09 22:25:20 · 2432 阅读 · 3 评论 -
C++的救护车调度系统
C++的救护车调度系统,求问题的最优解,很详细!原创 2023-01-03 10:32:57 · 533 阅读 · 0 评论 -
C++实现简易版的vector动态数组
快来看看!C++利用类和对象实现了简易版的vector动态数组原创 2023-03-03 23:09:56 · 499 阅读 · 0 评论