0
前面我有這樣的代碼:意味着什麼::在函數調用
1. bool MyClass::open() {
2. int fd = ::open("file.txt",flags);
3. }
是否「::」從主叫開前行2意味着什麼?
前面我有這樣的代碼:意味着什麼::在函數調用
1. bool MyClass::open() {
2. int fd = ::open("file.txt",flags);
3. }
是否「::」從主叫開前行2意味着什麼?
它表示來自全局命名空間的「open
」。這是用MyClass::open
消除歧義的一種方法,如果您說open
沒有領先的::
,那麼這個名字就會被選中。
這是範圍解析操作和它說,該函數(open
在這種情況下)是全局命名空間。