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

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

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

正文

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

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

最初的c++代碼寫法

#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的方法使用功能。

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

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

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

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

這里聲明了cout,但是在使用的過程當(dāng)中,除了count還使用了endl,那么這個時候是會報錯的

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)
     ^

那么有沒有更加簡單的寫法,我們可以嘗試直接using 整個std

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

那么我們來聊聊using到底是干什么的:

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

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

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

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

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

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

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

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

相關(guān)文章

  • C語言入門篇--初識C語言及數(shù)據(jù)類型

    C語言入門篇--初識C語言及數(shù)據(jù)類型

    本篇文章是c語言基礎(chǔ)篇,主要為大家介紹了C語言的基本類型,為大家介紹了什么是C語言,希望可以幫助大家快速入門c語言的世界,更好的理解c語言
    2021-08-08
  • 詳解C++如何高效利用CPU緩存

    詳解C++如何高效利用CPU緩存

    高效利用CPU緩存是編寫高性能C++代碼的關(guān)鍵之一,所以這篇文章小編主要來和大家介紹一下C++如何實現(xiàn)高效利用CPU緩存,需要的可以參考一下
    2024-02-02
  • Qt使用QPainter繪制3D立方體

    Qt使用QPainter繪制3D立方體

    這篇文章主要為大家詳細(xì)介紹了Qt使用QPainter繪制3D立方體,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • 老生常談C語言動態(tài)函數(shù)庫的制作和使用(推薦)

    老生常談C語言動態(tài)函數(shù)庫的制作和使用(推薦)

    下面小編就為大家?guī)硪黄仙U凜語言動態(tài)函數(shù)庫的制作和使用(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08
  • C++圖文并茂分析講解模板

    C++圖文并茂分析講解模板

    C++語言的模板技術(shù)包括函數(shù)模板和類模板,模板技術(shù)是一種代碼重用技術(shù),函數(shù)和類是C++語言中兩種主要的重用代碼形式,這篇文章主要介紹了C++函數(shù)模板和類模板,需要的朋友可以參考下
    2022-09-09
  • C++使用waveIn實現(xiàn)聲音采集

    C++使用waveIn實現(xiàn)聲音采集

    在Windows上實現(xiàn)錄音比較簡單的方法是使用winmm,其中的waveIn模塊就可以打開錄音設(shè)備,這篇文章主要為大家介紹了C++如何使用waveIn實現(xiàn)聲音采集,需要的可以了解下
    2023-10-10
  • c語言生成隨機(jī)數(shù)的方法(獲得一組不同的隨機(jī)數(shù))

    c語言生成隨機(jī)數(shù)的方法(獲得一組不同的隨機(jī)數(shù))

    c語言生成一組不同的隨機(jī)數(shù),大家參考使用吧
    2013-12-12
  • C++中MFC Tab Control控件的使用詳解

    C++中MFC Tab Control控件的使用詳解

    這篇文章主要介紹了C++中MFC Tab Control控件的使用詳解的相關(guān)資料,需要的朋友可以參考下
    2015-06-06
  • 全面了解C語言?static?關(guān)鍵字

    全面了解C語言?static?關(guān)鍵字

    這篇文章主要介紹了全面了解C語言?static?關(guān)鍵字,文章首先通過先介紹一下頭文件的創(chuàng)建展開主題的詳細(xì)內(nèi)容,需要的小伙伴可以參考一下
    2022-04-04
  • 用C語言實現(xiàn)猜數(shù)字游戲

    用C語言實現(xiàn)猜數(shù)字游戲

    這篇文章主要為大家詳細(xì)介紹了用C語言實現(xiàn)猜數(shù)字游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-10-10

最新評論