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

淺析C++中cout的運行機制

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

復制代碼 代碼如下:

#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

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

根據這個解釋,有實驗的幾個程序,能加深點理解

程序1:

復制代碼 代碼如下:

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

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

程序2:

復制代碼 代碼如下:

#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.

相關文章

  • C++?折疊參數包詳解(悄然增強編程效率)

    C++?折疊參數包詳解(悄然增強編程效率)

    折疊參數就是一個參數包, 代表是多個未知,tuple元組就是一個折疊參數的使用,這篇文章主要介紹了C++?折疊參數包悄然增強編程效率,需要的朋友可以參考下
    2023-05-05
  • C語言中輸入函數(scanf()、fgets()和gets())的區(qū)別詳解

    C語言中輸入函數(scanf()、fgets()和gets())的區(qū)別詳解

    這篇文章主要給大家介紹了關于C語言中三種輸入函數(scanf()、fgets()和gets())區(qū)別的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧。
    2017-11-11
  • c語言中字符串與字符串數組詳解

    c語言中字符串與字符串數組詳解

    在C語言當中,字符串數組可以使用char a[] [10]; 或者char *a[]; 表示,下面這篇文章主要給大家介紹了關于c語言中字符串與字符串數組的相關資料,需要的朋友可以參考下
    2021-11-11
  • 用C/C++實現(xiàn)linux下檢測網絡接口狀態(tài)

    用C/C++實現(xiàn)linux下檢測網絡接口狀態(tài)

    這篇文章主要為大家詳細介紹了用c/c++實現(xiàn)linux下檢測網絡接口狀態(tài),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • C++中priority_queue與仿函數實現(xiàn)方法

    C++中priority_queue與仿函數實現(xiàn)方法

    這篇文章主要給大家介紹了關于C++中priority_queue與仿函數實現(xiàn)的相關資料,優(yōu)先級隊列是一種容器適配器,其底層通常采用vector容器,并通過堆算法來維護元素的順序,文中通過代碼介紹的非常詳細《》需要的朋友可以參考下
    2024-10-10
  • C語言指針基礎知識實例講解

    C語言指針基礎知識實例講解

    這篇文章主要介紹了C語言指針基本知識實例講解,文中實例講解的很清晰,有不太懂的同學可以研究下
    2021-02-02
  • C++實現(xiàn)視頻流轉換為圖片方式

    C++實現(xiàn)視頻流轉換為圖片方式

    今天小編就為大家分享一篇C++實現(xiàn)視頻流轉換為圖片方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • 簡單解讀C++中的虛函數

    簡單解讀C++中的虛函數

    這篇文章主要介紹了C++中的虛函數,在C++中,虛函數聯(lián)系到多態(tài)、多態(tài)聯(lián)系到繼承,因而虛函數是C++中的一大重要特性,需要的朋友可以參考下
    2016-04-04
  • 數據結構之伸展樹詳解

    數據結構之伸展樹詳解

    這篇文章主要介紹了數據結構之伸展樹詳解,本文對伸展樹(Splay Tree)的單旋轉操作、一字型旋轉、之字形旋轉區(qū)間操作等理論知識做了講解,并給出實現(xiàn)代碼,需要的朋友可以參考下
    2014-08-08
  • C語言庫函數getchar()新見解

    C語言庫函數getchar()新見解

    用getchar()函數讀取字符串時,字符串會存儲在輸入緩沖區(qū)中,包括輸入的回車字符,下面這篇文章主要給大家介紹了關于C語言中getchar()的用法以及案例的相關資料,需要的朋友可以參考下
    2022-07-07

最新評論

静安区| 凤翔县| 阿巴嘎旗| 航空| 罗山县| 淅川县| 梁山县| 安顺市| 濮阳县| 睢宁县| 吉隆县| 台州市| 亳州市| 屏山县| 沙湾县| 霞浦县| 西畴县| 平乡县| 通海县| 康定县| 岳池县| 北海市| 南充市| 黎川县| 秦皇岛市| 禄丰县| 天水市| 东乌珠穆沁旗| 海城市| 大宁县| 英吉沙县| 扎囊县| 古交市| 噶尔县| 夏河县| 阿克| 颍上县| 错那县| 鄂伦春自治旗| 楚雄市| 乌拉特中旗|