欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解C++中的雙冒號 ::

 更新時間:2020年09月10日 11:14:28   作者:有夢想的偉仔  
這篇文章主要介紹了C++中的雙冒號 ::,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧

C++中的雙冒號 ::第一種,類作用域,用來標明類的變量、函數

Human::setName(char* name);

第二種,命名空間作用域,用來注明所使用的類、函數屬于哪一個命名空間的

std::cout << "Hello World" << std::endl;

第三種,全局作用域,用來區(qū)分局部、全局的。最容易被忽視的一種,很多時候寫了一個全局函數或者想要調用一個全局函數,卻發(fā)現(xiàn)IDE或者Editor找不到該函數,原因是因為局部函數與想要調用的全局函數名字一樣,然后找了很久也找不到原因,甚至放棄解決的。其實原因就是因為 【局部變量/函數】 與 【全局變量/函數】 的名字相同,IDE無法區(qū)分,這時候加上 :: 就可以調用到全局函數,訪問到全局變量了。舉個例子:

Linux下串口打開、關閉的api

// fcntl.h文件下的全局函數open 
open (const char *__path, int __oflag, ...)

// unistd.h文件下的全局函數
extern int close (int __fd);

由于每次找api是一件非常浪費coding時間,而且是沒多大意義的事情,我現(xiàn)在要將這個函數封裝成一個我自己的個人串口庫WzSerialPort.h、WzSerialPort.cpp

// WzSerialPort.h
class WzSerialPort
{
public:
	// ...
	bool open();
	void close();
	// ...
};

注意以下的cpp文件,如果沒有 :: 則會報錯誤,因為WzSerialPort庫中有函數open和close,跟全局函數open和close名字相同,如果不做全局與局部的區(qū)分,則無法調用到全局函數

// 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);
}

總結

到此這篇關于C++中的雙冒號 ::的文章就介紹到這了,更多相關C++中的 ::內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • C++基于EasyX圖形庫實現(xiàn)2048小游戲

    C++基于EasyX圖形庫實現(xiàn)2048小游戲

    這篇文章主要為大家詳細介紹了C++基于EasyX圖形庫實現(xiàn)2048小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • 一個快速排序算法代碼分享

    一個快速排序算法代碼分享

    一個快速排序算法代碼一個快速排序算法代碼,代碼內有注釋,大家參考使用吧
    2014-01-01
  • C語言常見排序算法歸并排序

    C語言常見排序算法歸并排序

    這篇文章主要介紹了C語言常見排序算法歸并排序,歸并排序是建立在歸并操作上的一種有效的排序算法,該算法是采用分治法的一個非常典型的應用
    2022-07-07
  • C++ 中cerr和cout的區(qū)別實例詳解

    C++ 中cerr和cout的區(qū)別實例詳解

    這篇文章主要介紹了C++ 中cerr和cout的區(qū)別實例詳解的相關資料,希望通過本文能幫助到大家,讓大家理解掌握這部分內容,需要的朋友可以參考下
    2017-09-09
  • c++primer類詳解

    c++primer類詳解

    今天小編就為大家分享一篇關于C++Primer中變量和基本類型的文章,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2021-09-09
  • C++運算符重載規(guī)則詳解

    C++運算符重載規(guī)則詳解

    這篇文章主要介紹了C++運算符重載規(guī)則詳解,是C++入門學習中的基礎知識,需要的朋友可以參考下
    2015-09-09
  • C++實現(xiàn)PyMysql的基本功能實例詳解

    C++實現(xiàn)PyMysql的基本功能實例詳解

    這篇文章主要介紹了C++實現(xiàn)PyMysql的基本功能,本文通過實例代碼給大家介紹的非常詳細,對大家的工作或學習有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • C++的輸入與輸出和格式化輸出

    C++的輸入與輸出和格式化輸出

    這篇文章主要介紹了詳解C++中的輸入與輸出和格式化輸出,是C++入門學習中的基礎知識,需要的朋友可以參考,希望能夠給你帶來幫助
    2021-11-11
  • C++學習筆記之初始化列表

    C++學習筆記之初始化列表

    初始化列表是類中構造函數的一部分,用于實例化類中變量時賦初值,下面這篇文章主要給大家介紹了關于C++學習筆記之初始化列表的相關資料,需要的朋友可以參考下
    2023-04-04
  • C++實現(xiàn)八個常用的排序算法 插入排序、冒泡排序、選擇排序、希爾排序等

    C++實現(xiàn)八個常用的排序算法 插入排序、冒泡排序、選擇排序、希爾排序等

    這篇文章主要介紹了C++如何實現(xiàn)八個常用的排序算法:插入排序、冒泡排序、選擇排序、希爾排序 、快速排序、歸并排序、堆排序和LST基數排序,需要的朋友可以參考下
    2015-07-07

最新評論