C、C++和C#的关系,以“把大象放进冰箱里”举例

news/2024/11/29 10:51:58/

最近得用unity做虚拟仿真相关的东西,当然,它的知名还是在游戏界,像王者荣耀就是使用 unity 开发的。

使用unity就要学习C#语言,我一直以为C#是C++的升级版本,因为C++是C的改进版,但是C#与前两者的关系就相当于JavaJavaScript,没半毛钱关系。

C语言

C语言是一门面向过程的计算机编程语言,与C++、C#、Java等面向对象编程语言有所不同。 C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

并且它是一门十分优秀而又重要的语言,WindowLiunxUXIX系统都是使用C语言编写的,可见他的重要程度。

C++

C++ 是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持过程化编程、面向对象编程和泛型编程。

它被认为是一种中级语言,综合了高级语言和低级语言的特点。

OOP(面向对象)语言特点:

  • 封装性:一个手机是由很多部件构成的,有处理器,存储器,输入输出设置,屏幕,电池等,把这些东西组装在一起就是手机了,这就是封装性。
  • 继承性:老子生了儿子,儿子继承了老子的特性,就有了继承性。
  • 多态性:我在家是父母的儿子,在公司是老板的员工,在深圳就是深圳人,在面向对象的语言中,调用相同的方法会有不同的行为,这就是多态。

C Sharp

又叫C#,是一个现代的、通用的、面向对象的编程语言,它是由微软(Microsoft)开发的,由Ecma 和ISO 核准认可的。

至于它的命名,我们来看看起源:

  • 微软为了挽救Visual Basic未完成的事业
  • 抄袭jxx语言并起名为 j++
  • 被吃官司后,学聪明了,谎称自己是C语言的改进
  • 命名为C#

对,抄袭的就是Java语言,现在的C# 和 Java有着惊人的相似。

三者的关系

经典案例:把大象放到冰箱里

file

C:

C语言是一个极其高冷的人,因此回答都是冷冷的:

我:你好C语言,我想把大象放到冰箱里,帮我做好不好?

C:好

我:那我们要怎么做呢?

C:猜

我:额。。。是不是应该先创造一只大象?

C:是

我:怎么创造呢?

C:猜

我只好去翻了一下文档,哦,malloc一块内存啊。

我:好的,我用malloc,申请一块空间放大象好不好?

C:好

我:额。。。大象怎么构造呢?

C:猜

我。。。去看了看大象的结构

我:好吧。。。我定义了一个大象的数据结构,接下来怎么做?

C:猜

我心里一阵说不出的感觉。。。

我:哦好吧,我创造一个冰箱,步骤应该和大象差不多。

C:嗯

我翻看了冰箱的结构,然后定义了一个冰箱的struct。

我:好了,冰箱构造出来了,怎么放呢?

C:哼

我。。。默默在Stack Overflow上输入如何把大象放进冰箱 C。

我:终于找到答案了,定义一个方法,把大象的鼻子放进去、眼睛放进去、耳朵放进去。OK,都放进去了。C,你输出一下看看吧。

C:烫烫烫烫烫烫烫

我:哈哈哈哈C你终于不高冷了

。。。

我:哎,你咋不说话了?C?你发烧了吗?

立刻一盆水倒上去。

结束。

C++:

C++是一个知识渊博的孩子,相对年轻,也没那么高冷。

我:C艹,我们把大象放冰箱好吗?

C++:滚

说话的不高冷呢?

我:额我错了,亲爱的C++,我们把大象放冰箱好吧。

C++:好的么么哒,大象的数据类型已经有人定义好了,冰箱也有人定义好了,你需要分别构造一个哦。

我:好的。

于是我翻看了文档后知道了用new来构造

我:OK,亲爱的C++,我想构造一个大象。

C++:好的,构造大象的方法有13个,请问你选择哪一种呢?

我。。。

我:你介绍一下吧。

C++:OK,首先可以在栈上面构造,这么做的好处呢是可以方便资源管理,而且语法也好看一些,可以利用RAII,如果你不知道什么事RAII,你可以去cppreference上面查一下,当然你也可以在堆上构造,可以构造一只很大很大的大象,还有。。。。。。。

一个月过后,C++终于讲完了。我也长满了胡须。。。刮了胡子之后继续工作

我:好的,C++,我就在栈上面构造一只大象吧。

C++:你不爱我了。

我:???

C++:你都没有说“亲爱的”。

我。。。

我:好吧,亲爱的C++,我想简单构造一只大象。

C++:好的呢,你可以选择构造一只非洲象还是美洲象还是南极洲象,象的肤色是什么样子的你可以设定一下,象的屁股大小你可以设定一下,象的性别和性取向你看要什么。。。。。。

我:我就想要一只简单的,默认的就好。

C++:好的,构造出来了一只,你可以选择怎么初始化它,有13种初始化方法,推荐使用最新的统一初始化。

我。。。

我:统一初始化

C++:好的,我们可以构造冰箱了。

我:好。。。

经过一个月的选择,终于构造出了冰箱。

C++:好的,冰箱提供了addElephant方法,可以直接使用哦。

我:哇太棒了,好的,我就用这个方法。

C++:这个方法提供了多种重载,可以拷贝,移动,也可以直接转发,省的在移入冰箱之前构造一个大象。

我:。。。你为啥不早说

C++:你为啥不早问。

我:就用移动的吧。

C++:OK,请用std::move将构造好的大象转为右值引用。

我一脸懵,但是还是照办。

我:好了

C++:OK,开始放入冰箱了哦,速度极快的呢。

突然

C++:报错了报错了,分子和原子不是可以转换的类型,大熊猫和爱迪生之间没有+运算符等1556项错误。

我。。。。。。。。。

我:网上找资料,说看最后一行就差不多了,好的看看。嗯,看起来是第31行出错了,错误是什么呢?报错信息啥也没说明白啊。随便改改吧。编译,运行。

C++:好的,已经将臀围12米,左臂长13米,右臂长14米,喜欢公大象,没有结婚生子,从小家教不错,熟读四书五经的非洲母大象放入橘黄色,五十米高,六十米宽,三百米厚,温度有零下三百度,制冷剂的牌子是湖澈牌,额定电压220V的冰箱里。

我。。。长舒了一口气。

C#:

我:我想把大象放进冰箱。

C#:好的主人,我爸爸微软已经写好了大象类,也写好了冰箱类,你只需new一下就好了。

我:OK,new好了,放入冰箱。

C#:好的,已经放入,使用了冰箱的拓展方法addElephant<>方法。

我:嗯,你表现得很好,能不能放的稍微快点儿,刚刚C++放的就很快。

C#:为了您的安全,不能。

我:额。。。那我想调节一下大象耳朵的尺寸。

C#:对不起,不能调节。您可以设定大象的耳朵形状,已为您定义好多种耳朵形状,您还可以调整大象的肤色,已为您定义好多种肤色。

我:算了不调了,就这样吧。

C#:好的。如果您需要速度,或者需要对大象的每个细节进行把握,还可以去看看我的弟弟,C++/CLR,他可以完成您提出的这些功能。您也可以将他带到我这里来,我们可以一起工作的。你也可以把C++完成的工作导出到二进制形式,我可以直接使用的。

我:好的谢谢,不用了。

C#:好的,祝您生活愉快。

完!

您的点赞、评论、关注是对小编最大的鼓励 O(∩_∩)O👍👍👍

我是极客猿小兵,公众号【极客猿】,记录独立开发者学习成长,一起走向财富自由。


http://www.ppmy.cn/news/234492.html

相关文章

b站推荐怎么重置_每天刷b站,神仙美食博主推荐你们!

花树为 b站&#xff1a;花树大为为&#xff08;请关注我&#xff09; 从读研开始&#xff0c;就沉迷b站。偶尔良心发现&#xff0c;会羞愧自己这几年没认真读书看电影&#xff0c;更别提想点事儿了。 之前在b站看日剧&#xff0c;弹幕里为了鸡蛋生吃吵得不可开交&#xff1b;狂…

推荐系统的未来发展

作者丨gongyouliu编辑丨gongyouliu这是作者的第34篇文章&#xff0c;约1.1w字&#xff0c;阅读需60分钟 随着科学技术的进步&#xff0c;移动互联网快速发展&#xff0c;手机越来越便宜&#xff0c;拥有智能手机不再是一件遥不可及的事情&#xff0c;互联网用户规模已接近增长的…

“冰箱强行播广告关不了”上热搜,网友:买了块广告牌回家

程序员的成长之路 互联网/程序员/技术/资料共享 关注 阅读本文大概需要 2.8 分钟。 来自&#xff1a; 扩展迷EXTFANS 或许你已经见过手机开屏广告、电视开屏广告&#xff0c;但是&#xff0c;你见过冰箱上的“开屏广告”吗&#xff1f; 9月28日&#xff0c;有网友在某平台上发…

通熟易懂详解推荐系统

本文介绍推荐系统基础知识&#xff0c;涵盖以下内容 什么是推荐系统&#xff1f; 使用推荐系统的好处 推荐系统的构建流程 推荐系统相关模型 推荐系统开发工具&#xff08;Python工具库&#xff09; 构建推荐系统的挑战 推荐系统的价值 1.什么是推荐系统 推荐系统通过预测用户对…

小户型家庭的冰箱解决方案,打造精致整体厨房

小户型厨房无从落脚&#xff1f;让嵌入冰箱来助力&#xff01; 美的嵌入式冰箱&#xff0c;助力小户型打造完美厨房 冰箱是每个家庭装修时&#xff0c;必不可少的大件家电之一。但是对于大部分小户型的家庭来说&#xff0c;冰箱这样的大件&#xff0c;占用的面积会对厨房整体空…

今日美食推荐html代码,今日美食推荐:荤素搭配,好吃美味!

阳春面 鲜香美味&#xff0c;做法简单 食材明细&#xff1a; 主料&#xff1a;鲜面条适量 辅料&#xff1a;香菜少许、小米辣一个、蒜末少许 调料&#xff1a;油少许、生抽少许、胡椒粉少许 做法步骤&#xff1a; 1、备好食材&#xff1b; 2、面条放入开水锅中煮熟&#xff1b;…

美的冰箱微晶X探鲜计划,为你开启X种畅想!

如何实现水产肉类一周鲜&#xff1f; 根据已知信息预测下微晶X计划「X」种新可能&#xff0c;口感是关键。 需求是创新的根本动力。任凭时代发展&#xff0c;满足人民的美好生活需要始终是技术创新的目标,是创新价值得以实现的最终环节。 随着生活水平的提高&#xff0c;用户…

饥荒mod推荐

作弊一直都是可耻的&#xff01;但不同于竞技游戏&#xff0c;**Don’t Starve Together饥荒&#xff08;撑荒&#xff09;**是一款生存、养成游戏&#xff0c;颇有The adventures of Robinson Crusoe的感觉&#xff01;Luckily, you are not alone!!!可以和小伙伴一起在这个荒…