第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

求解<iostream>和us namespace std

求解<iostream>和us namespace std

C C# C++
qq_改恒_0 2017-08-29 10:50:43
其中的<iostream>和us namespace std 有什么关系和iostream与us namesoace std 的含义及用法 谢谢
查看完整描述

2 回答

已采納
?
onemoo

TA貢獻883條經(jīng)驗 獲得超454個贊

這篇blog是亂寫的! C++ 標準庫里根本沒有 iostream.h 這個頭文件。

為了區(qū)別于 C 標準庫,C++ 標準庫的頭文件都沒有 .h 結(jié)尾。符合標準規(guī)范的編譯環(huán)境根本就不會有 iostream.h 這個頭文件。


我想你應該知道頭文件是做什么用的。C++ 中函數(shù)和變量在使用前需要聲明。頭文件中就是標準庫中一些函數(shù)和變量的聲明,當你需要使用標準庫中的東西時,就要 include 相應的頭文件。

iostream 中是一些和輸入輸出相關(guān)的內(nèi)容,你想要用到這些標注庫中輸入輸出函數(shù)時,就要 include <iostream>。


namespace 是為了解決命名沖突問題而引入的。標準庫中聲明了那么多的函數(shù)和常量,你自己的程序中就不能重復定義這些名字了,要避開不引起命名沖突是很麻煩的。

所以 C++ 引入的 namespace 機制,這些名字可以屬于某個 namespace。使用時可以通過其 namespace 來引用這些名字,這樣就不容易引起命名沖突。

C++ 標準庫中所有的名字都在 std 這個 namespace中,那么比如你要使用標準庫中用于輸入的 cout,就要寫成 std::cout。同時你在自己的程序里重新定義 cout 也不會有問題。


每次使用標準庫中的名字都需要在前面加上 std::,有時會覺得很麻煩,這時可以用到 using 命令:

using namespace std; ?這句告訴編譯器可以直接到 std 中查找名字

這樣你直接寫 cout 時,編譯器就能找到 std 中的 std::cout。

但你這樣做的話,在你的程序中又不能定義和標準庫中同名的名字了。若重新定義的話,編譯器會找到兩個名字(一個是你定義的、一個是 std 中的),這就沖突了。

所以上述方法是不推薦的!是不推薦的!不推薦的!

這違背了引入 namespace 的初衷!本來 namespace 就為了避免命名沖突的,而使用 using namespace std 這樣的命令等于放棄了這個努力。


而有些時候你真的想減少敲 std::。比如你的這段程序中需要寫上百次 std::cout,而且你保證不會重新定義 cout 的話,那你可以使用 using 的另一種形式:

using std::cout; ?這樣你可以在程序中直接寫 cout,編譯器會把它當作 std::cout 的。這就避免了多敲上百次 std::。而且?guī)熘械钠渌诌€限制在 std 中,你還可以重新定義它們,只是不能重定義 cout 了而已。 比如你可以重定義 cin,這不會和 std::cin 沖突。 這樣既能在使用 cout 時省事,又不會影響 namespace 中的其他名字。

查看完整回答
3 反對 回復 2017-08-29
?
JurminHong

TA貢獻1條經(jīng)驗 獲得超0個贊

<iostream>是標準的C++頭文件,需要使用命名空間命名才能正常使用。年輕人,多百度

查看完整回答
反對 回復 2017-08-29
  • 2 回答
  • 1 關(guān)注
  • 2879 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號