java是什么 C語言名字空間究竟是什么?
C語言名字空間究竟是什么?防止名稱沖突。在沒有名字空間的舊時代,每個人的名字都是一鍋粥,每個項目都要注意自己的名字。張三做了一個木槌,所以他不得不注意,給它取名為張三錘,李四做了一個錘子叫李四錘,如果
C語言名字空間究竟是什么?
防止名稱沖突。在沒有名字空間的舊時代,每個人的名字都是一鍋粥,每個項目都要注意自己的名字。張三做了一個木槌,所以他不得不注意,給它取名為張三錘,李四做了一個錘子叫李四錘,如果兩個錘子合在一起,就沒有辦法把它們編成同一個名字。當然,很多人根本不介意這一套。此外,有些人還想重用其他依賴庫甚至標準庫使用過的一些名稱。沒有名稱空間他們就做不到。
名稱空間是解決此問題的方法。在C語言中,標準庫的所有名稱都在STD之下。同時,除非你想被噴死,否則一個好的項目必須將其所有名稱都放在項目的名稱空間中。張三:棒槌,李四:棒槌,STD::棒槌不能碰對方,所以名詞碰撞的問題就少了很多。當然,更徹底的方法是將包名按Java域名的倒序排列,這樣也可以避免兩個項目想要使用相同的項目名/包名而導致沖突的問題。然而,在實際應(yīng)用中,只要有一個名稱空間和rational代碼樣式,基本上就可以解決這個問題。