C++??系統(tǒng)IO流介紹
前言:
本次講解一個(gè)小知識點(diǎn),也是最常見的一個(gè)知識點(diǎn):iostream;不管編寫什么程序,必然會(huì)使用到IO流交互,從細(xì)節(jié)上理解簡單的IO流;
1、iostream標(biāo)準(zhǔn)庫
定義:標(biāo)準(zhǔn)庫所提供的IO接口,用于與用戶交互;
輸入流:cin
輸出流:cout、cerr、clog
輸出流三者的一個(gè)區(qū)別:
- 1、首先就是輸出目標(biāo)的不同,cerr主要用來輸出錯(cuò)誤信息,clog主要用來輸出日志信息;
- 2、
cerr有個(gè)最大的不同,會(huì)立即刷新緩沖區(qū),輸出比較快,另外兩種輸出信息可能在程序崩潰時(shí)會(huì)丟失;
緩沖區(qū)刷新還有別的方法:std::flush、std::endl;
2、namespace
主要是為了避免名稱沖突,可見如下代碼:
namespace People1
{
void fun(){}
}
namespace People2
{
void fun(){}
}
上面代碼中有兩個(gè)同名函數(shù),編譯是可通過的,這就是命名空間的作用;
在使用fun()這個(gè)函數(shù)時(shí),需要指定命名空間;
命名空間的使用有以下三種方式:
// 1、域解析符:: People1::fun(); // 2、using語句 using namespace People1; fun(); // 3、命名空間別名 namespace ns1 = People1; ns1::fun();
注意:std就是標(biāo)準(zhǔn)庫的命名空間,也是最常用的一個(gè)命名空間;
3、C和C++輸出區(qū)別
printf:使用直觀,但容易出錯(cuò);cout:不容易出錯(cuò),但書寫冗長;- C++20格式化庫:新的方案(目前還不常用);
4、總結(jié)
本次就講這么一點(diǎn)知識點(diǎn),這也是入門C++的很多人疑惑的點(diǎn),相信大部分人都是從輸出"Hello World"開始的,那么C++中的IO細(xì)節(jié)估計(jì)沒有弄懂,看完本篇就會(huì)有一個(gè)清晰的認(rèn)知;
到此這篇關(guān)于C++ 中的IO流介紹的文章就介紹到這了,更多相關(guān)C++ IO流內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
如何實(shí)現(xiàn)socket網(wǎng)絡(luò)編程的多線程
首先,學(xué)好計(jì)算機(jī)網(wǎng)絡(luò)知識真的很重要。雖然,學(xué)不好不會(huì)影響理解下面這個(gè)關(guān)于宏觀講解,但是,學(xué)好了可以自己打漁吃,學(xué)不好就只能知道眼前有魚吃卻打不到漁。在Java中網(wǎng)絡(luò)程序有2種協(xié)議:TCP和UDP,下面可以和小編一起學(xué)習(xí)下2019-05-05
詳解C++中stoi/stol/stoll函數(shù)的用法
這篇文章主要為大家詳細(xì)介紹了C++中stoi、stol、stoll函數(shù)的具體用法,文中的示例代碼講解詳細(xì),對我們學(xué)校C++有一點(diǎn)的幫助,需要的可以參考一下2023-03-03
使用kendynet構(gòu)建異步redis訪問服務(wù)
這篇文章主要介紹了在kendynet上寫的一個(gè)簡單的redis異步訪問接口,大家參考使用吧2014-01-01
基于Linux系統(tǒng)調(diào)用--getrlimit()與setrlimit()函數(shù)的方法
本篇文章是對在Linux系統(tǒng)中調(diào)用getrlimit()與setrlimit()函數(shù)的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05

