青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

  C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
  117 Posts :: 2 Stories :: 61 Comments :: 0 Trackbacks

常用鏈接

留言簿(8)

搜索

  •  

最新評論

閱讀排行榜

評論排行榜


第一個程序:
#include "stdafx.h"
#include 
<iostream>
using namespace std;
struct sysop
{
    
char name[26];
    
char quote[64];
    
int used;
}
;
const sysop & use(sysop & sysopref);//function with a reference return type
int main(int argc, char* argv[])
{
// NOTE: some implementations require using the keyword static
// int the two structure declarations to enable initialization
    sysop looper=
    
{
        
"Rick \"Fortran\" Looper",
        
"I'm a goto kind of guy."//記住無遺漏逗號
        0
    }
;
    use(looper); 
//looper is type sysop
    cout<<"Looper: "<<looper.used<<" use(s)\n";
    sysop copycat;
    copycat 
= use(looper);
    cout
<<"Looper: "<<looper.used<<" use(s)\n";
    cout
<<"Copycat: "<<copycat.used<<" use(s)\n";
    cout
<<"use(looper): "<<use(looper).used<<" use(s)\n";
    
return 0;
}


const sysop & use(sysop & sysopref)
{
    cout
<<sysopref.name<<" says:\n";
    cout
<<sysopref.quote<<endl;
    sysopref.used
++;
    
return sysopref;
    
// 通常,返回機制將返回值復制到臨時存儲區域中,隨后調用程序將訪問該區域。
    
// 然而,返回引用意味著調用程序將直接訪問返回值,而不需要拷貝。通常,引
    
// 用將指向傳遞給函數的引用,因此調用函數實際上是直接訪問自己的一個變量。
}

第二個程序:
#include "stdafx.h"
#include 
<iostream>
#include 
<string>
using namespace std;
string version1(const string & s1,const string & s2);
const string & version2(string & s1, const string & s2);    //has side effect
const string & version3(string & s1, const string & s2);    //bad design
int main(int argc, char* argv[])
{
    
string input;
    
string copy;
    
string result;

    cout
<<"Enter a string: ";
    getline(cin, input);
    copy 
= input;
    cout
<<"Your string as entered: "<<input<<endl;
    result 
= version1(input, "***");
    cout
<<"Your string enhanced: "<<result<<endl;
    cout
<<"Your original string: "<<input<<endl;

    result
=version2(input,"###");
    cout
<<"Your string enhanced: "<<result<<endl;
    cout
<<"Your original string: "<<input<<endl;
    cout
<<"Resetting original string.\n";
    input 
= copy;
    result 
= version3(input, "@@@");
    cout
<<"Your string enhanced: "<<result<<endl;
    cout
<<"Your original string: "<<input<<endl;
    
return 0;
}


/* 接受兩個string參數,并使用string類的相加功能來創建滿足要求的新字符串。
 * 這兩個參數都是const引用。如果使用string對象作為參數,最終結果將不變。
 * 在這種情況下,s1和s2將為string對象。使用引用的效率更高,因為函數不需
 * 要創建新的string對象,并將原來對象中的數據復制到新對象中。
 *
 * temp是一個新的string對象,只在函數version1()中有效,該函數執行完畢后,
 * 它將不再存在。因此,將返回指向temp的引用不可行,因此該函數的返回類型
 * 是string,這意味著temp的內容將被復制到一個臨時返回存儲單元中。然后在
 * main()中,該返回存儲單元的內容將被復制到一個名為result的string中。
 
*/

string version1(const string & s1, const string & s2)
{
    
/* 讀者可能注意到一點,"***"是const char *,而形參s2是const string &
     * 這是因為,第一,string類定義了一種char *到string得轉換功能,這使得
     * 可以使用C-style string來初始化string對象,第二,前面討論的類型為const
     * 引用的形參的一個屬性。假設實參的類型與引用參數類型不匹配,但可被轉換
     * 為引用類型,程序將創建一個正確類型的臨時變量,使用轉換后的實參值來初
     * 始化它,然后傳遞一個指向該臨時變量的引用。這種屬性的結果是,如果形參
     * 類型為const string &,在調用函數時,使用的實參可以是string對象或C-style
     * string,如用引號括起的字符串字面量、以空字符結尾的char數組或指向char的
     * 指針變量
     
*/

    
string temp;
    temp
=s2+s1+s2;
    
return temp;
}



/* version2()不能創建臨時string對象,而是直接修改原來的string對象
 * 該函數可以修改s1,因為不同于s2,s1沒有被聲明為const。
 
*/

const string & version2(string & s1, const string & s2)
{
    s1
=s2+s1+s2;
 
// safe to return reference passed to function
    return s1;
}


/* 存在一個致命的缺陷:返回一個指向version3()中聲明的變量的引用。這個函數
 * 能夠通過編譯(但編譯器會發出警告),但當程序視圖執行該函數時將崩潰。是
 * 因為程序視圖引用已經釋放的內存。
 
*/

const string & version3(string & s1, const string &s2)//bad design
{
    
string temp;
    temp
=s2+s1+s2;
 
// unsafe to return reference to local variable
    return temp;
}
posted on 2010-02-13 12:46 煙皚 閱讀(448) 評論(0)  編輯 收藏 引用 所屬分類: C++ primer plus學習筆記
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久色成人在线| 新狼窝色av性久久久久久| 亚洲国产网站| 欧美一区91| 亚洲免费福利视频| 欧美激情视频在线免费观看 欧美视频免费一 | 欧美黄色大片网站| 欧美在线关看| 国产综合视频在线观看| 久久久99爱| 久久久久一本一区二区青青蜜月| 国产偷国产偷亚洲高清97cao| 亚洲欧美精品在线观看| 亚洲视频免费在线观看| 国产精品久久久久久久久免费桃花| 亚洲视频一二区| 一区二区高清在线| 国产精品你懂的在线欣赏| 亚洲欧美日韩一区二区| 亚洲小少妇裸体bbw| 国产美女诱惑一区二区| 久久久久国产一区二区三区四区| 欧美一区在线看| 亚洲国产aⅴ天堂久久| 欧美国产一区二区三区激情无套| 欧美成人国产一区二区| 亚洲视频中文字幕| 亚洲欧美日韩综合国产aⅴ| 国产自产高清不卡| 亚洲国产欧美在线人成| 老牛嫩草一区二区三区日本 | 亚洲日本中文| 亚洲精品一区二区三区福利| 国产精品a久久久久久| 欧美中文字幕视频| 久久综合狠狠综合久久激情| 香蕉av777xxx色综合一区| 亚洲大片av| 亚洲国产精品久久久久婷婷884| 久久深夜福利| 欧美mv日韩mv国产网站app| 国产精品一级在线| 一区二区三区四区蜜桃| 欧美福利视频一区| 久久精品卡一| 国产欧美日韩另类一区| 中文国产成人精品久久一| 免费在线播放第一区高清av| 亚洲欧美日本伦理| 欧美午夜电影一区| 中国成人在线视频| 亚洲黄色小视频| 美女黄毛**国产精品啪啪| 狠狠色综合网| 久久亚洲精品伦理| 久久大综合网| 韩国一区二区三区在线观看 | 久久亚洲私人国产精品va| 国产日韩欧美综合在线| 欧美亚洲视频在线看网址| 一区二区三区av| 国产精品成人av性教育| 99亚洲视频| 亚洲另类自拍| 国产精品地址| 先锋影音久久久| 午夜精品美女自拍福到在线| 国产精品一二一区| 久久精品官网| 久久人人九九| 亚洲国产成人久久综合一区| 欧美高清成人| 欧美日韩国产高清视频| 亚洲永久免费| 欧美一区二区大片| 在线看片一区| 亚洲国产美女久久久久| 欧美日韩视频在线一区二区 | 欧美亚洲免费在线| 久久激情中文| 99精品国产一区二区青青牛奶| 亚洲美女av网站| 国产精品综合色区在线观看| 久久久久成人精品| 欧美成人亚洲成人| 午夜国产精品视频| 久久久久久高潮国产精品视| 亚洲人成亚洲人成在线观看图片 | 亚洲欧洲日本mm| 亚洲高清不卡在线| 欧美日精品一区视频| 久久国产精品高清| 欧美/亚洲一区| 午夜精品久久一牛影视| 久久久精品免费视频| 夜夜嗨av一区二区三区四季av | 国产精品美女午夜av| 久久影院亚洲| 欧美日韩中文| 久久伊人免费视频| 欧美三级欧美一级| 欧美黑人在线观看| 国产视频亚洲精品| 亚洲九九九在线观看| 韩日欧美一区二区三区| 日韩亚洲欧美在线观看| 在线观看亚洲一区| 午夜精品久久久久久久久久久| 亚洲高清影视| 欧美一区免费视频| 亚洲视频一二三| 欧美成人免费网| 久久夜色精品国产欧美乱极品| 欧美日韩高清在线观看| 欧美不卡视频一区| 国模大胆一区二区三区| 一区二区三区四区国产精品| 亚洲国产另类精品专区| 性8sex亚洲区入口| 亚洲欧美日韩另类| 欧美日韩高清在线一区| 亚洲电影观看| 亚洲第一页自拍| 久久久www成人免费毛片麻豆| 亚洲欧美日韩一区二区| 欧美视频网址| 日韩亚洲综合在线| 在线视频一区观看| 欧美日韩视频专区在线播放| 亚洲人在线视频| 亚洲精品国产视频| 农村妇女精品| 亚洲欧洲日本一区二区三区| 亚洲日本va午夜在线影院| 久久综合五月| 欧美黄色aa电影| 亚洲人成绝费网站色www| 美女诱惑一区| 亚洲欧洲日产国产综合网| 亚洲黄色精品| 欧美激情欧美激情在线五月| 91久久精品国产91久久性色| 亚洲伦理精品| 欧美日韩综合一区| 香蕉久久a毛片| 久久夜色精品国产欧美乱| 亚洲电影欧美电影有声小说| 免费不卡欧美自拍视频| 亚洲人www| 亚洲制服av| 国产日产欧产精品推荐色| 麻豆国产精品777777在线| 欧美精品成人| 日韩午夜视频在线观看| 亚洲一区二区三区涩| 国产精品久久久亚洲一区| 性欧美暴力猛交69hd| 葵司免费一区二区三区四区五区| 亚洲高清av| 欧美日韩精品是欧美日韩精品| 一区二区三区欧美激情| 欧美一区二区视频在线观看| 精品成人在线视频| 欧美成人亚洲成人日韩成人| 一区二区三区国产精华| 久久免费视频网站| 久久久www成人免费毛片麻豆| 欧美激情1区| 亚洲一区二区在线免费观看| 国产欧美日韩视频在线观看| 你懂的视频欧美| 亚洲一区免费| 欧美高清视频一二三区| 亚洲综合色丁香婷婷六月图片| 国产真实精品久久二三区| 欧美精品一卡| 久久久久久久久久久一区 | 亚洲国产中文字幕在线观看| 欧美日韩精品一区二区| 欧美中文字幕在线视频| 亚洲精品欧美在线| 久久这里只有精品视频首页| 亚洲无人区一区| 亚洲福利专区| 国产日韩欧美综合一区| 欧美午夜理伦三级在线观看| 美女视频网站黄色亚洲| 久久国产精品亚洲va麻豆| 一区二区三区高清不卡| 最新中文字幕亚洲| 欧美成人国产一区二区| 欧美亚洲视频一区二区| 在线一区欧美| 亚洲美女在线国产| 在线欧美亚洲| 国产一区二区三区在线观看精品| 欧美午夜精品久久久久久人妖| 欧美大片在线观看一区二区| 久久久久免费视频| 久久久夜色精品亚洲|