C++中雙冒號(hào)::用法案例詳解
C++中的雙冒號(hào) ::
- 第一種,類作用域,用來標(biāo)明類的變量、函數(shù)
Human::setName(char* name);
- 第二種,命名空間作用域,用來注明所使用的類、函數(shù)屬于哪一個(gè)命名空間的
std::cout << "Hello World" << std::endl;
- 第三種,全局作用域,用來區(qū)分局部、全局的。最容易被忽視的一種,很多時(shí)候?qū)懥艘粋€(gè)全局函數(shù)或者想要調(diào)用一個(gè)全局函數(shù),卻發(fā)現(xiàn)IDE或者Editor找不到該函數(shù),原因是因?yàn)榫植亢瘮?shù)與想要調(diào)用的全局函數(shù)名字一樣,然后找了很久也找不到原因,甚至放棄解決的。其實(shí)原因就是因?yàn)?【局部變量/函數(shù)】 與 【全局變量/函數(shù)】 的名字相同,IDE無法區(qū)分,這時(shí)候加上 :: 就可以調(diào)用到全局函數(shù),訪問到全局變量了。
舉個(gè)例子:
Linux下串口打開、關(guān)閉的api
// fcntl.h文件下的全局函數(shù)open open (const char *__path, int __oflag, ...) // unistd.h文件下的全局函數(shù) extern int close (int __fd);
由于每次找api是一件非常浪費(fèi)coding時(shí)間,而且是沒多大意義的事情,我現(xiàn)在要將這個(gè)函數(shù)封裝成一個(gè)我自己的個(gè)人串口庫(kù)WzSerialPort.h、WzSerialPort.cpp
// WzSerialPort.h class WzSerialPort { public: // ... bool open(); void close(); // ... };
注意以下的cpp文件,如果沒有 :: 則會(huì)報(bào)錯(cuò)誤,因?yàn)閃zSerialPort庫(kù)中有函數(shù)open和close,跟全局函數(shù)open和close名字相同,如果不做全局與局部的區(qū)分,則無法調(diào)用到全局函數(shù)
// WzSerialPort.cpp bool WzSerialPort::open() { if( ::open(portname,O_RDWR|O_NOCTTY|O_NONBLOCK) != -1 ) return true; else return false; } void WzSerialPort::close() { ::close(fd); }
到此這篇關(guān)于C++中雙冒號(hào)::用法案例詳解的文章就介紹到這了,更多相關(guān)C++中雙冒號(hào)::用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語言實(shí)現(xiàn)簡(jiǎn)單的推箱子游戲
這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)簡(jiǎn)單的推箱子游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01C語言中while與do-while的介紹與注意事項(xiàng)
對(duì)于C語言中的while與do-while,相信很多都再熟悉不過了,最近在工作中就用到了,所以想著總結(jié)一下,方便自己或者有需要的朋友們參考借鑒,文中通過示例代碼介紹的很詳細(xì),感興趣的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧。2016-10-10C++基于灰度圖上色GrayToColorFromOther的實(shí)現(xiàn)
本文主要介紹了C++基于灰度圖上色GrayToColorFromOther的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-07-07C++ Dijkstra算法之求圖中任意兩頂點(diǎn)的最短路徑
這篇文章主要為大家詳細(xì)介紹了用C++經(jīng)典算法-Dijkstra算法求任意兩頂點(diǎn)之間的最短路徑,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11動(dòng)態(tài)數(shù)組C++實(shí)現(xiàn)方法(分享)
下面小編就為大家?guī)硪黄獎(jiǎng)討B(tài)數(shù)組C++實(shí)現(xiàn)方法(分享)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05