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#:好的,祝您生活愉快。
今天小編就跟大家分享到了這裡、後續還會更新一個c/c++ Linux高級網際網路架構師的學習路線、有興趣的朋友可以關注一下小編哦。