1.命名空間
namespace只對類、函數、常量(const定義的,不是define定義的)
實驗:
1、 在默認命名空間下命名兩個同名函數,訪問頁面,會報錯
2、 在不同命名空間下定義兩個同名常量,由define定義,訪問頁面,會報錯
3、 在不同命名空間下定義兩個同名常量,由const定義,訪問頁面不報錯
4、 直接調用(不加命名空間)一個在不同名空間存在的同名函數,由代碼位置決定命名空間,訪問頁面:
(這裏由於getmsg()跟在命名空間space2後面,所以調用的是命名空間space2中的getmsg()函數,常量同理)
5、 調用指定命名空間下的方法,訪問網頁:
2.多級命名空間以及三種訪問方式
2.1非限定名稱訪問方式
不指定命名空間,示例:getmsg();
2.2、限定名稱訪問方式
以/開頭訪問,類似絕對路徑,示例:/space/space1/getmsg();
2.3、完全限定名稱訪問方式
沒有以/開頭,類似相對路徑,相對於該代碼所在命名空間,示例:space2/getmsg();