刚刚,我的几个对象吵起来了···

编程技术宇宙

共 576字,需浏览 2分钟

 ·

2021-01-14 21:31


面向对象编程语言,都绕不开的话题是类和对象。对象都有类型,这在源代码级别都好理解,但如何能在运行的时候也能知道类型呢?

C++ 作为静态编译型语言,对运行时类型识别RTTI的支持最弱,只能看到一个简单的名字,C++标准并没有规定RTTI信息的具体实现方式,交给各大编译器自己发挥。

Java同样作为编译型语言,实现了完整的反射机制,不仅作为信息获取,还能根据这些信息动态创建对象,修改访问属性等等。由于反射的支持,Java才有了Spring、MyBatis等各种功能强大的框架。

Python作为解释执行的脚本语言,其抽象的层次更高,类型信息更加丰富,动态创建、甚至新增、删除属性和方法都不在话下。

不过听说C++23可能会引入全新的反射特性,不知道是什么样子的呢?你怎么看?如果C++也有反射,你会用来做什么呢?

往期TOP5文章

那天,我被拉入一个Redis群聊···

CPU明明8个核,网卡为啥拼命折腾一号核?

一个故事看懂Docker容器技术

主板上来了一个新邻居,CPU慌了!

哈希表哪家强?几大编程语言吵起来了!

浏览 14
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报