最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++?命名空間?using聲明使用示例詳解

 更新時(shí)間:2022年12月06日 08:47:21   作者:老邊  
這篇文章主要為大家介紹了C++?命名空間?using聲明使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

正文

c++在開(kāi)發(fā)的過(guò)程當(dāng)中需要使用到庫(kù)函數(shù),那么基于庫(kù)函數(shù)的使用最初的流程是:1、include 相關(guān)的頭文件,比如:iostream,string。 2、使用命名空間::庫(kù)函數(shù),比如:std::cin,std::cout,但是這樣寫(xiě)總是有點(diǎn)麻煩的,所以可以嘗試簡(jiǎn)化寫(xiě)法,就是using聲明。

注意,這里的 :: 是作用域運(yùn)算符,就是用來(lái)指向命名空間空間當(dāng)中的方法的。

最初的c++代碼寫(xiě)法

#include <iostream>
int main(){
   std::cout << "hello world" << std::endl;
   return 0;
}

在這段代碼當(dāng)中,我們引入了iostream文件,cout和endl函數(shù)在iostream下的std當(dāng)中,所以需要采用std::cout和std::endl的方法使用功能。

但是如果代碼量巨增,這樣的寫(xiě)法還是繁瑣的,那么這個(gè)時(shí)候就可以采用using方法了,代碼如下:

#include <iostream>
int main(){
   using std::cout;
   using std::endl;
   cout << "hello world" << endl;
   return 0;
}

這段代碼當(dāng)中,比上面的代碼多了兩行using方法,但是如果下面使用cout和endl方法的語(yǔ)句比較多的話,就可以省力很多了。但是上面的寫(xiě)法必須把所有的需要的方法都顯式的聲明出來(lái),比如:

#include <iostream>
int main(){
   using std::cout;
   cout << "hello world" << endl;
   return 0;
}

這里聲明了cout,但是在使用的過(guò)程當(dāng)中,除了count還使用了endl,那么這個(gè)時(shí)候是會(huì)報(bào)錯(cuò)的

main.cpp: In function ‘int main()':
main.cpp:5:29: error: ‘endl' was not declared in this scope
    cout << "hello world" << endl;
                             ^
main.cpp:5:29: note: suggested alternative:
In file included from /usr/include/c++/4.8.2/iostream:39:0,
                 from main.cpp:1:
/usr/include/c++/4.8.2/ostream:564:5: note:   ‘std::endl'
     endl(basic_ostream<_CharT, _Traits>& __os)
     ^

那么有沒(méi)有更加簡(jiǎn)單的寫(xiě)法,我們可以嘗試直接using 整個(gè)std

#include <iostream>
int main(){
   using namespace std;
   cout << "hello world" << endl;
   return 0;
}

那么我們來(lái)聊聊using到底是干什么的:

在聊using之前,先搞清楚一個(gè)概念,就是命名空間,命名空間是C++引入的可以由用戶命名的作用域,用來(lái)處理程序中常見(jiàn)的同名沖突。而作用域就是定義一個(gè)量,這個(gè)量在代碼當(dāng)中起作用的范圍。

那么接下來(lái)看using,using是用來(lái)聲明命名空間的,聲明命名空間實(shí)際上就是把指定的標(biāo)識(shí)符加載到當(dāng)前的作用域當(dāng)中,直接使用。

但是這里有幾個(gè)思考的點(diǎn):

1、在學(xué)習(xí)c++的時(shí)候有一類(lèi)文件叫做頭文件,就比如剛才案例當(dāng)中導(dǎo)入的iostream,在這類(lèi)文件當(dāng)中盡量不要使用using,因?yàn)閬?lái)回包括太多隱式的變量,容易導(dǎo)致變量沖突。

2、using聲明的一定要是include加載的,所以要卸載include的后面。

3、using寫(xiě)在代碼的不同位置,產(chǎn)生的效用也是不一樣的,這個(gè)需要結(jié)合作用域來(lái)詳細(xì)理解(挖個(gè)坑,后來(lái)填上)

4、個(gè)人感覺(jué)using std::cout 寫(xiě)法上確實(shí)比 using namespace std要繁瑣,但是使用的變量更加精確,因?yàn)閡sing namespace std調(diào)用命名空間std內(nèi)定義的所有標(biāo)識(shí)符,其實(shí)代碼當(dāng)中沒(méi)有用到那么多。

關(guān)于using先總結(jié)這么多,更多關(guān)于C++ 命名空間using聲明的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • OpenCV實(shí)現(xiàn)簡(jiǎn)易標(biāo)定板

    OpenCV實(shí)現(xiàn)簡(jiǎn)易標(biāo)定板

    這篇文章主要為大家詳細(xì)介紹了OpenCV實(shí)現(xiàn)簡(jiǎn)易標(biāo)定板,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • C語(yǔ)言嵌入式實(shí)現(xiàn)支持浮點(diǎn)輸出的printf示例詳解

    C語(yǔ)言嵌入式實(shí)現(xiàn)支持浮點(diǎn)輸出的printf示例詳解

    這篇文章主要為大家介紹了C語(yǔ)言嵌入式實(shí)現(xiàn)支持浮點(diǎn)輸出的printf示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • C語(yǔ)言中數(shù)組排序淺析

    C語(yǔ)言中數(shù)組排序淺析

    這篇文章主要為大家介紹了C語(yǔ)言算法練習(xí)中數(shù)組元素排序的四種類(lèi)型,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C語(yǔ)言有一定幫助,需要的可以參考一下
    2022-12-12
  • 探討:程序在內(nèi)存中的分配(常量,局部變量,全局變量,程序代碼)問(wèn)題

    探討:程序在內(nèi)存中的分配(常量,局部變量,全局變量,程序代碼)問(wèn)題

    本篇文章是對(duì)程序在的內(nèi)存中分配(常量,局部變量,全局變量,程序代碼)的問(wèn)題進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C語(yǔ)言實(shí)現(xiàn)掃雷游戲詳細(xì)代碼

    C語(yǔ)言實(shí)現(xiàn)掃雷游戲詳細(xì)代碼

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)掃雷游戲的具體步驟和詳細(xì)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • Qt實(shí)現(xiàn)SqlTableModel映射組件應(yīng)用小結(jié)

    Qt實(shí)現(xiàn)SqlTableModel映射組件應(yīng)用小結(jié)

    在Qt中提供了QSqlTableModel模型類(lèi),它為開(kāi)發(fā)者提供了一種直觀的方式來(lái)與數(shù)據(jù)庫(kù)表格進(jìn)行交互,本文就來(lái)介紹一下Qt實(shí)現(xiàn)SqlTableModel映射組件應(yīng)用小結(jié),感興趣的可以了解一下
    2023-12-12
  • Qt Creator使用教程的簡(jiǎn)單說(shuō)明

    Qt Creator使用教程的簡(jiǎn)單說(shuō)明

    如今 Qt Creator 功能十分強(qiáng)大了,包含項(xiàng)目模板生成、代碼編輯、UI 設(shè)計(jì)、QML 界面編輯、調(diào)試程序、上下文幫助等豐富功能,本文就詳細(xì)的介紹一下如何使用
    2021-08-08
  • C語(yǔ)言實(shí)現(xiàn)快速排序

    C語(yǔ)言實(shí)現(xiàn)快速排序

    快速排序不一定是穩(wěn)定排序,這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)快速排序算法,具有一定的參考價(jià)值,感興趣的同學(xué)可以借鑒閱讀
    2023-03-03
  • c語(yǔ)言獲取文件大小的示例

    c語(yǔ)言獲取文件大小的示例

    在C語(yǔ)言中測(cè)試文件的大小,主要使用二個(gè)標(biāo)準(zhǔn)函數(shù),下面是使用示例,需要的朋友可以參考下
    2014-02-02
  • C++實(shí)現(xiàn)掃雷小游戲(控制臺(tái))

    C++實(shí)現(xiàn)掃雷小游戲(控制臺(tái))

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)掃雷小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05

最新評(píng)論

兖州市| 禄劝| 甘肃省| 彩票| 穆棱市| 博白县| 峨眉山市| 金门县| 高密市| 西安市| 三河市| 西乌珠穆沁旗| 康平县| 芦溪县| 临海市| 修武县| 湘阴县| 屏南县| 昆山市| 丰镇市| 榕江县| 郧西县| 娱乐| 革吉县| 三亚市| 霞浦县| 新闻| 汽车| 林周县| 明水县| 琼结县| 怀远县| 云阳县| 濉溪县| 正安县| 静安区| 阿坝县| 渭源县| 阿荣旗| 东至县| 丰城市|