2023年政策修订增补工作正在进行中,欢迎参与!

C++娘

萌娘百科,万物皆可萌的百科全书!转载请标注来源页面的网页链接,并声明引自萌娘百科。内容不可商用。
跳转到导航 跳转到搜索
C++娘.jpg
基本资料
本名 C++娘
别号 CPP、C艹
年龄 38岁
生日 1985年10月14日
星座 天秤座
萌点 巨乳大小姐御姐、才女、和蔼可亲、PLAY技巧性高
亲属或相关人
C娘(姐姐)、B娘(姐姐)、BCPL娘(前辈)、PHP娘Java娘(妹妹们)

C++娘是编程语言C++拟人化萌娘。

简介

虽然C++娘是C语言娘的妹妹,但是万年御姐样貌的她却给人一种姐姐一样的感觉。毕竟C++比C语言功能多

和姐姐C语言一样,她只听得懂某一些特定的语言,但是也会耐心帮助不懂事的程序员怪蜀黍理解她。

如果程序员怪蜀黍说错了话,C++娘会和C娘一样进行长篇大论的说教,而程序员怪蜀黍们可能一个字也听不懂。

“——编译错误?凑,XXX文件第X行,XXXXXX……等我看看……”这都是C++娘对程序员的爱呀!

由于两个++连续出现与草字头“艹”形似,因此获得了外号C艹娘。谁是C 果然是姐妹恋

由于URL的转义,C++娘也会被当成C%2B%2B娘(抬头看网址)。读作C模2B模2B娘那么2B娘又是谁

据说,这个名字是因为姐姐C语言中的运算符++表示自增(c=c+1),象征C++娘是从C自增来的自体繁殖?孤雌生殖?[1]

C++娘的外文名称是 C Plus Plus,中文就读C加加,代表着C++娘有比C娘更多的技巧好吧,其实是语言特性主要是面向对象,但正因如此,C++娘的语言学习难度上要比C娘大不少,因此想要让C++娘乖乖地听你办事,程序员怪蜀黍们要多多学习调教技巧呢。 其实还有作为中间语言的C--娘呢

人设

搬运自程序语言娘化计划

端正的五官她被称为IT业界首屈一指的美女,但她拥有丰富多彩的才能,不仅能熟练掌握花道、茶道、钢琴、小提琴、柔道、剑道、合气道等技艺。

她的粉丝中有很多狂热的人,也有被称为“黑暗军团”的粉丝俱乐部。黑暗的军团是仅次于弗里梅森的大规模秘密结社,普通人无法入会。如果你有足够的知识来回答对她的狂热问题,就会被闻见的军团成员问道:“你不参加黑暗军团吗?”似乎形成了这样的联络方式。

异母姐妹的首席执行官C语言娘专心致志于钢琴而成长,其专心致志被IT界的领袖人物斯蒂夫·乔布斯所发现,在第一次帮助下一跃成为明星。而C++则因她的美貌和才能年轻时就备受瞩目,长年保持着业界的明星地位。虽然是姐妹,但两人却形成了鲜明的对比。

她以根据心情频繁改变发型和服装而闻名。昨天还以为是黑发出现在和服上,今天却以黑体系的红发登场,对于变身的样子,轻薄的粉丝们说“咦?刚才是C++吗?”经常会感到吃惊。据说在远离业界的私人生活中,经常穿运动裤。

她的出生年月日在事务所没有公开。虽然也有1983年的说法,但本文采用了在一部分粉丝之间流传的1985年10月14日的说法。“她自己可能不记得自己的生日……”这样的传言也在煞有介事地进行着。“C++同学的话,即使不记得自己的生日也不奇怪。”这可以很好地表现出她天真烂漫的性格。

特性

大多数时候,C++娘能听得懂姐姐C娘的话,但是C娘却难以理解她的奇思妙想。

C++娘:virtual auto operator ()(int &&a) -> decltype(a)……
C娘:呐,virtual是什么意思呢?函数的返回值类型怎么是auto丫,话说刚刚你说的operator是什么啊?咦,参数类型后面怎么能跟两个取地址符号逻辑与运算符丫……
C++娘:咕嘿嘿,virtual指的是虚函数,auto用在函数之前可以直接进行返回类型推断(C++14),或者再搭配后置decltype表达式等作为返回类型占位符(C++11),operator表示操作符重载int &&则是本小姐的最新PLAY技巧右值引用(C++11)……
C娘:虽然不知道妳在说什么但是感觉好厉害的样子……

C++娘能够分清拥有同样的名字的不同的东西,但是姐姐C娘直到C11才有_Generic……
C++娘:int add(int a, int b)… int add(int a, int b, int c)…
C娘:妹妹你刚刚不是说过一遍add了吗?
C++娘:你看,两个add是不一样的哦!这种特性被叫做“多态”性。[2]无误,但不是自称。
C娘:明明是……“变态绅士”性嘛!

和C娘一样,C++娘也能够通过#include对其进行插♂入,如果想温柔一点可以用模块(C++20),通过#define与其签订契约。
值得特别注意的是,C娘和C++娘虽然都有一个叫做struct的打包机,但是两人打包的能力是完全不同的;
C娘只是把要求打包的东西草草捆在一起了事,而C++娘则让它们紧密地结♂合压缩在一起用户想像C一样绕过接口和访问模式直接操作底层可能会疯掉,甚至为这个打包物结♂合定义一个全新的存在!
C++娘:这个就是面向对象咯!
C娘:原来我的上一个对象把我甩了是因为我没有面向他吗……下次找妹妹Objective-C请教一下吧。
C++娘:(消沉)为什么不直接问我……

C++娘:template <template <typename T> class X> struct Y {...
C++娘:Y<std::vector>...
C娘:你说的什么?我一句都听不懂……
C++娘:类型算子什么的……总之不好解释……反正程序员这么写,我照着办就是了……这些玩意还要我自己处理,如果是运行期的代码直接丢给电脑娘了。(而且如果因为整这些玩意而变得异常烦躁的C++娘发现程序员写错了,C++娘对程序员的说教会格外长)
C娘:(口吐白沫)
C++娘:那些程序员有时会硬塞-x c++连我都看不懂的东西[3],我还不能说它错,你应该也有相同的烦恼

C娘出生时不足月,有一些功能没有发育完全;而C++娘出生时就已经拥有超强大的运算能力,能够自动处理很多高级而复杂的运算。
其实是很久之后才发育出来的STL(如algorithm、vector、set等)插♂入她体内,就可以激活她的这些特殊异能。然而STL库不好好使用的话可能会降低程序效率或可读性的,所以请各位鬼父好好调教。但是在编译选项中加入-O2吸氧或者-O3吸臭氧可以改善性能的呢
C++娘:哎哟~这么多一起来的话,可是会装不下的呀。
C娘:(面红耳赤)H了才能变聪明吗?果然是个变态绅士呢!

由于C++娘能够理解绝大部分C娘的语言,C++娘和C娘达成了分工合作的协议。在一般情况下,C++娘可以用她最可爱的一面面对用户,而C娘用她的勤快在她身后为她打下手。

与C娘的关系

C娘是C++娘的姐姐,二者都诞生在一个叫贝尔实验室绅士变态基地(贝尔实验室出了各种闻名天下的绅士变态玩具哦,比如Unix系统)。
相比文静守旧的姐姐,C++娘总是把自己打扮得更加潮流和现代化,而C++娘的一些成熟的技巧也会被姐姐学走,比如const关键字inline关键字其实这两个学得走样了……//注释其实这个是祖先B娘里就有的……等,这些PLAY一开始都是C++娘的专属,但姐姐感觉这些技巧也适合自己,于是也学会了。

通常情况下,C++娘能够理解姐姐说的话,但对于有些特别的词汇,姐姐妹妹做出的反应是不同的哦,比如staticstruct之类的关键字。
另外有些暧昧undef的话语,性格不同的两姐妹做出的反应也不尽相同呢反差萌什么的最棒了!

由于生活态度的不同,姐姐和妹妹之间的语言差异越来越大了,比如在C++娘调教标准11中,C++娘的鬼父们给关键字auto添加了新的定义(变量类型推导),使得这个词在两姐妹的眼里代表了完全不同的意思。其实C++98也不认得auto呢

100%


外部链接及资料

stl库相关:https://en.wikipedia.org/wiki/Standard_Template_Library

wiki:https://en.wikipedia.org/wiki/C%2B%2B %2B%2B相当醒目

C++ Reference:https://en.cppreference.com/w/

  1. 实际上,根据C++之父比雅尼·斯特劳斯特鲁普(Bjarne Stroustrup)的著作《C++语言的设计与演化》,他是这样描述的:
    我采用了C++是因为它很短,有一种很好的解释,而且不是那种“形容词+C”的形式。在C语言里++(根据上下文)可以读作“下一个”、“后继者”或者“增加”,虽然它总是被读作“加加”。名字C++与其竞争者++C一直是玩笑和双关语的丰富源泉,在这个名字被确定之前,这些几乎都是大家所熟知并非常欣赏的。C++的名字是Rick Mascitti建议的。它的第一次使用是在1983年12月,那时这个名字被编辑进[Stroustrup, 1984]和[Stroustrup, 1984c]的最后拷贝中。

    (此处使用译文由裘宗燕教授翻译。本书由机械工业出版社出版)

    • [Stroustrup,1984]: Bjarne Stroustrup: The C++ Reference Manual. AT&T Bell Labs Computer Science Technical Report No 108. January 1984. Revised,November 1984.
    • [Stroustrup,1984c]: Bjarne Stroustrup: Data Abstraction in C. Bell Labs Technical Journal. Vol 63, No 8. October 1984.
  2. C++所谓的多态仅指虚函数覆盖,即一种inclusion polymorphism
  3. 未定义行为