置顶公告:【置顶】关于临时开启评论区所有功能的公告(2022.10.22) | 【置顶】关于本站Widget恢复使用的公告
  • 你好~!欢迎来到萌娘百科镜像站!如需查看或编辑,请联系本站管理员注册账号。
  • 本镜像站和其他萌娘百科的镜像站无关,请注意分别。

C++娘

萌娘百科,萬物皆可萌的百科全書!轉載請標註來源頁面的網頁連結,並聲明引自萌娘百科。內容不可商用。
跳至導覽 跳至搜尋
C++娘.jpg
基本資料
本名 C++娘
別號 CPP、C艹
年齡 39歲
生日 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. 未定義行為