C++语言特性
文章平均质量分 83
深入剖析C++底层语言的特性以及应用场景
玉无涯
国内MITK医学软件的专家,任职于国际医学协会-柳叶刀机器人
展开
-
C/C++高级程序员必经之路-继承(入门篇)
以上代码是一个很基础的继承例子,这个例子是儿子继承了父亲的资产,他自己也有一定财富,所以按照现实角度一般情况来说,Son类可以使用父亲给他的钱(注意:我这里的继承使用了public),所以我们就可以使用子类对象Son的实例来调用getMoney()函数,以此来查看和使用你老爹的资产。那么在C++的继承中,这种情况是怎么表示呢?那么使用继承就可以在一定程度上解决以上问题,由于继承并没有想的那么简单,其中菱形继承,虚继承,多态等都是高阶用法,入门篇就说继承的基本用法,好了话不多说,赶紧发车。原创 2024-07-23 14:59:00 · 645 阅读 · 2 评论 -
C/C++高级程序员必经之路-何为堆(详解)?
看过我文章的都知道,我讲东西呢都是比较深入的,既然要讲堆,首先就要把C/C++的特性稍微说一下,作为一名合格的C程序员,如果你不知道堆,那么你是失败的。那么指针和堆的关联用法或者稍微复杂点的都是必须掌握的,更何况我写的这个模拟代码,代码量才多少呢?我们都知道,C/C++都是以指针操作内存的,可是一般情况下,栈区是没有多少内存的,也就2MB左右(一般的笔记本或家用型电脑),而且栈区内存也不是自由调配的,他只能操作已经存在于栈区的变量,而栈区中变量的生命周期一般由函数决定,所以用起来并不方便。原创 2024-07-11 16:00:27 · 804 阅读 · 1 评论 -
C++11中强制类型转化详解(下)
我们都知道,C++面向对象编程中,最核心的部分就是基类和派生类之间的爱恨情仇,比如最基本的继承,还有多继承,虚继承,多态等特性,其中最重要也使用最广泛的也是多态,了解过架构的朋友都知道23种设计模式中的常用设计模式(除了单例),大部分都需要使用多态来完成,最根本的原因是因为派生类可以转化为父类进行使用,再由父类转化为需要的派生类,这样就能大大降低代码的耦合度,提高内聚性。是不是很神奇,只要使用了我们的动态转化进行内部处理,就可以轻易解决这个问题,会让多态的应用场景变得更加的方便。当有Cat的时候怎么做呢?原创 2024-07-05 17:02:42 · 485 阅读 · 0 评论 -
C++11中强制类型转化详解(上)
显示转化就是强制类型转化,上面我们将不同的指针类型和常量整型转化为了void*地址,这是隐式转化做不到的。第一种:static_cast(转化对象)静态类型转化(温和类型转化),这种类型转化是比较安全的转化方式,C语言的隐式转化都可以使用static_cast进行替代,C语言进行隐式转化时会容易丢失数据,如果程序员不知道的情况下,这个问题也是比较严重的。所以C++11增加了四种强制类型转化方式供开发时使用,其中两种转化方式涵盖了C语言的所有转化,包括强制类型转化以及隐式转化等。原创 2024-06-18 09:08:57 · 2315 阅读 · 0 评论