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

淺析C++中cout的運(yùn)行機(jī)制

 更新時(shí)間:2013年10月03日 10:02:13   作者:  
關(guān)于C++中cout的使用,相信大家再熟悉不過了,然而對(duì)于cout是如何輸出的?輸出的機(jī)制是啥,需要進(jìn)一步的了解。本章娓娓道來。前幾天在網(wǎng)上看到這么一個(gè)題目

復(fù)制代碼 代碼如下:

#include <iostream>
using namespace std;
int hello1();
int hello2();

int main()
{
    int a, b;
    cout<<"a="<<hello1()<<" b="<<hello2()<<endl;
    return 0;}

int hello1()
{
    cout<<"hello1"<<endl;
    return 1;
}
int hello2()
{
    cout<<"hello2"<<endl;
    return 2;
}


最終輸出是:
hello2
hello1
a=1 b=2

一時(shí)讓人有點(diǎn)難以琢磨,網(wǎng)上給出了其靠譜的解釋:cout流的操作順序是:先從右往左讀入緩沖區(qū),然后再從左往右輸出。所以它從右邊往左讀的時(shí)候,碰到了函數(shù)當(dāng)然去執(zhí)行函數(shù)先了,然后把函數(shù)返回值讀入緩沖區(qū)再然后。。。就是從左輸出了。

根據(jù)這個(gè)解釋,有實(shí)驗(yàn)的幾個(gè)程序,能加深點(diǎn)理解

程序1:

復(fù)制代碼 代碼如下:

#include <iostream>
using namespace std;
int main()
{
    int b[2]={1,2};
    int *a=b;
    cout<<*a<<" "<<*(a++)<<endl;
    return 0;
}

輸為出:2 1。
解釋:先讀入*(a++),對(duì)于a++,是先讀入緩沖區(qū),其自增,所以,此時(shí)緩沖區(qū)中的a是1,。再讀入*a,此時(shí)a已自增,所以讀入緩沖區(qū)的是2.

程序2:

復(fù)制代碼 代碼如下:

#include <iostream>
using namespace std;
int main()
{
    int i=5;
    cout<<i<<" "<<(i++)<<" "<<(++i)<<endl;
    return 0;
}

輸出為:7 6 6
解釋:從右往左,先是(++i),即先自增,再讀入緩沖區(qū),為6。再是(i++),即先讀入緩沖區(qū),為6,再自增。最后是i,讀入緩沖區(qū)為7.

相關(guān)文章

  • 利用C語言實(shí)現(xiàn)任務(wù)調(diào)度的示例代碼

    利用C語言實(shí)現(xiàn)任務(wù)調(diào)度的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用純C語言實(shí)現(xiàn)任務(wù)調(diào)度(可用于STM32、C51等單片機(jī)),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-04-04
  • C++刪除指定文件夾下N天及之前日志文件的方法

    C++刪除指定文件夾下N天及之前日志文件的方法

    這篇文章主要介紹了C++刪除指定文件夾下N天及之前日志文件的方法,涉及C++針對(duì)時(shí)間判斷及文件操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-09-09
  • Qt實(shí)現(xiàn)進(jìn)程界面之間的鼠標(biāo)焦點(diǎn)切換

    Qt實(shí)現(xiàn)進(jìn)程界面之間的鼠標(biāo)焦點(diǎn)切換

    這篇文章主要為大家詳細(xì)介紹了Qt實(shí)現(xiàn)進(jìn)程界面之間的鼠標(biāo)焦點(diǎn)切換,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • 關(guān)于Visual Studio無法打開源文件

    關(guān)于Visual Studio無法打開源文件"stdio.h"問題

    這篇文章主要介紹了關(guān)于Visual Studio無法打開源文件"stdio.h"問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • C++:構(gòu)造函數(shù),析構(gòu)函數(shù)詳解

    C++:構(gòu)造函數(shù),析構(gòu)函數(shù)詳解

    今天小編就為大家分享一篇關(guān)于C++構(gòu)造函數(shù)和析構(gòu)函數(shù)的文章,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2021-09-09
  • 簡介C++編程中的運(yùn)算符重載

    簡介C++編程中的運(yùn)算符重載

    這篇文章簡單介紹了C++編程中的運(yùn)算符重載,是C++入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-09-09
  • C連接Mysql數(shù)據(jù)庫代碼

    C連接Mysql數(shù)據(jù)庫代碼

    使用C語言連接Mysql數(shù)據(jù)庫的方法,大家可以看看
    2013-11-11
  • C語言數(shù)據(jù)結(jié)構(gòu)深入探索順序表

    C語言數(shù)據(jù)結(jié)構(gòu)深入探索順序表

    大家好,今天給大家?guī)淼氖琼樞虮恚矣X得順序表還是有比較難理解的地方的,于是我就把這一塊的內(nèi)容全部整理到了一起,希望能夠給剛剛進(jìn)行學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的人帶來一些幫助,或者是已經(jīng)學(xué)過這塊的朋友們帶來更深的理解,我們現(xiàn)在就開始吧
    2022-05-05
  • C語言靜態(tài)動(dòng)態(tài)兩版本通訊錄實(shí)戰(zhàn)源碼

    C語言靜態(tài)動(dòng)態(tài)兩版本通訊錄實(shí)戰(zhàn)源碼

    這篇文章主要為大家?guī)砹薈語言實(shí)現(xiàn)靜態(tài)動(dòng)態(tài)兩版本的通訊錄實(shí)戰(zhàn)源碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-02-02
  • C++手寫內(nèi)存池的案例詳解

    C++手寫內(nèi)存池的案例詳解

    這篇文章主要介紹了C++手寫內(nèi)存池的案例詳解,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08

最新評(píng)論