寫程式時c和cpp混著用是一種不好的習慣嗎?

時間 2021-06-01 01:42:17

1樓:Seayoki

我曾無數次地說過,C++和C是兩種完全不同的語言,但還有人無知地認為C++是C的超集。

C++ std 已經可以代替絕大部分 C Library 裡的東西。

的確也有一些不能代替,比如cmath。

Cpp是提供cstdio,cmath這樣的庫的。

用C庫和用C程式設計樣式是兩種完全不同的概念。

Cpp有Cpp自己的規範,它的規範已經形成了,你可以看一下Modern C++,就可以摒棄掉C裡面落後的用法了。

2樓:「已登出」

高讚回答全是在裝逼抖機靈。。。

知乎真的變了

正確答案就是,最好不要混著用,能接受string的時候盡量不要用char*。能用nullptr就不要用NULL,能用any就不用用void*,能用smart pointer就不要用delete,等等等等,忘掉c,把cpp當做乙個新的語言。

3樓:快成大叔的小伙

相反是一種好習慣,工作多年的高手一般能用c就用c,cpp裡坑很多而且還不好查詢問題,所以用c可以避免坑,而且用c速度會更快,cpp一般做介面,c做運算。

4樓:chenc

越是實踐性強的領域,越是不能教條。

我們寫程式的目的是為了解決問題,並不是為了符合某種規範。前人總結出一些規範是因為前人發現這些規範可以幫助我們更好的解決問題,然而幾乎所有規範總是有好處也有壞處的,也都是有適用範圍的。在我們水平低,甚至於連規範都搞不清楚的時候,多半應該適當多遵循一些教條,因為前人的僵化的思路很可能也比我們強。

到了我們水平漸漸提高,我們就要想清楚這些規範的意義,它們解決了什麼問題,帶來了什麼問題,對於我們來說哪些是重要的,哪些是次要的可以犧牲的,這個時候規範對我們就只有指導意義,覺得需要遵循的就遵循,覺得需要打破的就打破。

不同的語言有不同的優缺點,有些時候就算是混用會給專案帶來額外的工作量我們都會混用不同的語言,比如c和彙編混用,比如python和c混用,比如lua嵌入別的東西裡面。c和c++混用如此方便,幾乎不需要付出任何額外代價,那麼我們在c更好的時候用c,c++更好的時候用c++,簡直是做夢都要笑醒的好事,有什麼理由說這是不好的習慣?

5樓:「已登出」

如果你還在初學階段這種寫法更多是一種無謂的技術投資,既不會提公升你對c的理解,也不回增加你cpp的技能,我這裡不是假定,而是一定。因為你在混用的時候,就已經啥明了,你既不願意接受c的嚴謹,又不願意放棄cpp的便捷。到頭來叫不倫不類,寫不出c的結構特點,也理解不了cpp的優點。

6樓:陳舸

混用很正常啊。但只能C++混C一起用,不能C混著C++。也就是你只可以用C++編譯器來編譯你的工程。

這種情況很普遍,假設你用C++寫程式,但你用到了乙個C庫,介面是C API。這個時候你自然就得使用C裡面的東西了。

7樓:OFFLINE

我寫嵌入式.

但我很依賴C++來提高我的程式設計效率.

所以C和C++混著用是必須的.

大多數時間都在寫C++

但有一些移植相關的實現就只能寫C

我很懶寫標頭檔案, 所以大多數情況就直接在cpp檔案裡扔 extern "C"

8樓:

怎麼算混用呢?比如都9102了還不用智慧型指標,乙個MFC的程式所有物件自己在函式末尾 delete,所有成員屬性都必須析構函式裡釋放,這當然不是個好習慣

請問寫C程式時,固定不變的動作跟動態變化的動作分成兩個子函式會不會好些?

記憶體塊生命週期 emm可以考慮,但是你看情況吧。拿個我常用的list說事吧。假如我有乙個委託管理記憶體的list def stc List List def stc Node Node def stc List u64 length Node head Node tail void obj del...

大一c語言寫不出程式?

馬之人 學生管理系統是什麼梗?怎麼好多學生都要做這個?如果你的問題是 C 語言寫不出程式 那沒問題,你才學一年,離入門遠著呢,到畢業的時候能寫出完整的程式,那你已經是很不錯的了。如果你的問題是 C 語言寫不出學生管理系統 那也沒問題,C 不是幹這個的。用網頁實現更方便。 扶餘城裡小老二 有句話是這麼...

長時間閱讀 寫作 寫程式時,白底黑字和黑底白字哪個對眼睛更好?

傑瑞房 個人覺得,在光線充足的環境下,我們的視線焦點還是在文字上面,對於amoled螢幕來說,黑色文字可能更合適。下面有一篇更專業的介紹 TLin 夜間黑底白字好,日間有Sunny白底黑字也不錯。從液晶原理來講,黑色液晶顆粒旋轉遮光,白色透光,黑底白字顯然光通面積小,夜間不刺眼。其次,減少面板亮度到...