首頁>Club>
5
回覆列表
  • 1 # 使用者2382157839074

    1.地址安全性問題:

    當沒有賦初值時,可能引起錯誤。

    當進行指標的算術運算時,可能引起錯誤,因此算術運算要慎用。

    2.型別安全性問題:

    reinterpret_cast<型別>(指標);這種方式的顯示轉換常用在底層。

    void型別轉換為其他型別時一定要顯示型別轉換,其他型別轉換為void型別時可以隱含轉換。

    3.堆物件的管理:

    堆物件建立後,使用完之後一定要進行刪除。

    以上就是我對於指標安全問題的一些認識。

  • 2 # lehoon

    c++給你這麼大的自由度了, 可以自己封裝下safe, 其實大公司都有對c++深度的封裝, 裡面都做了一些安全操作隔離。

    rust因為是新出的語言,主打的是語言層面的安全,解決了c/c++存在的記憶體安全問題, 但是這樣帶來的問題就是有些操作會受到侷限,因此提供了unsafe的一系列集合。 該部分由程式設計師保證程式的準確性。

    c/c++本身就像是在刀尖上的舞蹈家,不需要再額外提供safe的語義了,只能透過c++提供的智慧指標去保證指標的有效管理。

  • 3 # 逍遙笙笙

    C++想讓它safe就safe,想不讓它unsafe就unsafe,取決於使用者。C/C++這兩個這麼好用的程式語言,寫起來那麼自由,搞不懂為什麼噴子這麼多。

  • 中秋節和大豐收的關聯?
  • 什麼是全球治理的基石?