首頁 >後端開發 >C++ >C 中的內建類型其實有預設建構函式嗎?

C 中的內建類型其實有預設建構函式嗎?

DDD
DDD原創
2024-12-26 21:27:10437瀏覽

Do Built-in Types in C   Actually Have Default Constructors?

內建型別有預設建構子嗎?

閱讀了一篇建議 int() 由於預設值而產生 0 的文章後出現了這個問題構造函數,導致人們相信原始類型本質上缺乏構造函數。然而,「TC PL」第 10.4.2 節另有暗示,聲稱內建類型擁有預設建構子。

Bjarne Stroustrup 的回應

當詢問明顯的差異時,Bjarne Stroustrup 澄清說內建類型沒有實際的構造函數呼叫。相反,它們的行為就像它們一樣,並且類似構造函數的符號由編譯器解釋。

技術答案

嚴格來說,不行。內建類型不具有預設建構函數。

功能注意事項

儘管缺少實際的建構函數,但初始化內建類型的語法與建構函數呼叫非常相似。初始化時使用大括號 ({}) 可以對整數 (int{0}) 進行零初始化,並從括號內的表達式 (int a{b}) 進行複製。

結論

雖然內建型別沒有預設建構函數,但它們的初始化語法和行為模擬它們的存在。它們似乎擁有預設構造函數和複製構造函數,允許初始化和賦值。這種偽構造函數機制簡化了初始化並提高了程式碼的可讀性。然而,認識到這些類型缺乏真正的構造函數是至關重要的。

以上是C 中的內建類型其實有預設建構函式嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:為什麼不`下一篇:為什麼不`