回覆列表
  • 1 # 使用者8461408921485

    我個人一開始是在cppreference寫例子的時候養成加 std:: 的習慣,因為cppreference只有在寫了完整名稱的時候才能自動生成到相應條目的連結。

    之後在其他討論中也使用全名,是為了防止歧義。C++標準庫的很多型別是可以不依賴黑科技就實現的,很多第三方庫也確實實現了與標準庫的一些型別對應的東西,但在細節上有所不同,例如有std::sort和thrust::sort、std::variant和boost::variant、std::future和folly::Future。為了明確一些描述只適用於標準庫的版本,才加上 std:: 以說明。我個人覺得這不是標準庫的名字沒有辨識度,相反,因為標準庫的命名沒有問題,第三方庫才會沿用。

    在標頭檔案裡使用 using 是不對的,這是由於語言本身的約束,這一點其他答主有解釋。

    在實現檔案使用 using 不算少見,當然也存在防止 ADL 而故意使用名稱空間限定,或者因為標準庫元件用得不多所以不用 using 更省事的情況。

  • 中秋節和大豐收的關聯?
  • 最近下眼圈發青是怎麼回事?