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

MyMSDN

MyMSDN記錄開(kāi)發(fā)新知道

C++ notes (2)

11、枚舉

//enum     
enum HttpVerbs { Head, Post, Get, Delete };
   
HttpVerbs current_verbs = Post;    
std::cout<<"Current Verbs = "<<current_verbs<<std::endl;
    










//error C2440: “=”: 無(wú)法從“int”轉(zhuǎn)換為“HttpVerbs”
    
//current_verbs = 3;
    

current_verbs = (HttpVerbs)2;    
std::cout<<"Current Verbs = "<<current_verbs<<std::endl;
    
HttpVerbs copy_verbs = current_verbs;    
std::cout<<"Copy Verbs = "<<copy_verbs<<std::endl;
    
HttpVerbs future_verbs = (HttpVerbs)((current_verbs + 1)%sizeof(HttpVerbs));    
std::cout<<"Future Verbs = "<<future_verbs<<std::endl;
    
std::cout<<"HttpVerbs Size![by sizeof(HttpVerbs)] = "<<sizeof(HttpVerbs)<<std::endl;

輸出:

Current Verbs = 1
Current Verbs = 2
Copy Verbs = 2
Future Verbs = 3
HttpVerbs Size![by sizeof(HttpVerbs)] = 4

12、類,成員變量初始化

定義變量和定義數(shù)據(jù)成員存在著非常重要的區(qū)別:一般不能把類成員的初始化作為其定義的一部分。當(dāng)定義數(shù)據(jù)成員時(shí),只能指定該數(shù)據(jù)成員的名字和類型。類不是在類定義里定義數(shù)據(jù)成員時(shí)初始化數(shù)據(jù)成員,而是通過(guò)成為構(gòu)造函數(shù)的特殊成員函數(shù)控制初始化。

class MyClass1
{
public:
int GetMyValue();
     void SetMyValue(int value); private:
     //error C2864: “MyClass1::myValue”: 只有靜態(tài)常量整型數(shù)據(jù)成員才可以在類中初始化
     int myValue = 3; //只需修改為int myValue;即可 };

13、struct關(guān)鍵字

C++支持另一個(gè)關(guān)鍵字struct,它也可以定義類類型。struct關(guān)鍵字是從C語(yǔ)言中繼承過(guò)來(lái)的。

如果使用class關(guān)鍵字來(lái)定義類,那么定義在第一個(gè)訪問(wèn)標(biāo)號(hào)前的任何成員都隱式指定為private;如果使用struct關(guān)鍵字,那么這些成員都是public,除非有其他特殊的聲明,如添加了private才為private,否則都是public,因此沒(méi)必要添加public關(guān)鍵字。

用class和struct關(guān)鍵字定義類的唯一差別在于默認(rèn)訪問(wèn)級(jí)別:默認(rèn)情況下,struct的成員為public,而class的成員為private。

14、預(yù)編譯頭文件

一、什么是預(yù)編譯頭文件?
預(yù)編譯頭文件物理上與通常的的.obj文件是一樣的,但編譯入預(yù)編譯頭的.h,.c,.cpp文件在整個(gè)編譯過(guò)程中,只編譯一次,如預(yù)編譯頭所涉及的部分不發(fā)生改變的話,在隨后的編譯過(guò)程中此部分不重新進(jìn)行編譯。進(jìn)而大大提高編譯速度,并便于對(duì)頭文件進(jìn)行管理,也有助于杜絕重復(fù)包含問(wèn)題。

VC++程序一般包含的頭文件都比較復(fù)雜,如果每次都逐行分析可能會(huì)花很多時(shí)間,所以VC++默認(rèn)設(shè)置是第一次編譯時(shí)分析所有頭文件,生成.pch文件,這個(gè)文件很大,但以后每次編譯時(shí)就可以節(jié)省很多時(shí)間。如果刪除了這個(gè)文件,下次編譯時(shí)VC++會(huì)自動(dòng)生成它。

二、什么時(shí)候使用預(yù)編譯頭?
當(dāng)大多.c或.cpp文件都需要相同的頭文件時(shí)。
當(dāng)某些代碼被大量重復(fù)使用時(shí)。
當(dāng)導(dǎo)入某些不同庫(kù)都有實(shí)現(xiàn)的函數(shù),并產(chǎn)生混亂時(shí)。

15 、在頭文件中必須總是使用完全限定的標(biāo)準(zhǔn)庫(kù)名字。

因?yàn)轭A(yù)處理器會(huì)將頭文件復(fù)制到使用它的任何地方,兩種可能,一種是如果在頭文件中使用using,會(huì)使相關(guān)代碼不論是否需要該using都必將放置一個(gè)using,另一種是,假設(shè)有另一個(gè)庫(kù)可能也包含了相應(yīng)的方法如有方法std::cout以及my::cout,如果使用了using,有可能導(dǎo)致被引入的程序偏離原本的使用意圖,或者導(dǎo)致編譯錯(cuò)誤。

16、字符串字面值和標(biāo)準(zhǔn)庫(kù)string不是同一種類型

因?yàn)闅v史原因以及為了與C語(yǔ)言兼容,字符串字面值與標(biāo)準(zhǔn)庫(kù)string類型不是同一種類型。這一點(diǎn)很容易引起混亂,編程時(shí)一定要注意區(qū)分字符串字面值和string數(shù)據(jù)類型的使用,這很重要。

17、getline函數(shù)輸入的時(shí)候丟棄末尾的換行符,并將整行返回,而且不丟棄第一個(gè)換行符,也就是即便你一開(kāi)始就輸入了換行符,它仍然會(huì)返回,只不過(guò)返回的是一個(gè)空字符串而已。

編寫程序?qū)崿F(xiàn)從標(biāo)準(zhǔn)輸入每次讀取一行文本。然后改寫程序,每次讀入一個(gè)單詞!

//std::cout<<"getline:<<std::endl;
WriteLine("getLine");
WriteLine("P72 編);
using std::string;

WriteLine("每(輸"NEXT\"進(jìn)");
string str;
while(std::getline(std::cin, str))
{
    if(str == "NEXT")
        break;
    std::cout<<str<<std::endl;
}

WriteLine("每輸"NEXT\"進(jìn)");
while(std::getline(std::cin, str))
{
    if(str == "NEXT")
        break;
    //從第0個(gè)開(kāi)始查找空白
static const std::basic_string<char>::size_type npos = (std::basic_string<char>::size_type)-1; std::basic_string<char>::size_type firstIndexOfEmpty = str.find_first_of(" ", 0); if(firstIndexOfEmpty != npos) std::cout<<str.substr(0, firstIndexOfEmpty)<<std::endl; else std::cout<<str<<endl; }

其中WriteLine函數(shù):

void WriteLine(std::string str)
{
    std::cout<<str<<std::endl;
}

18、std::string對(duì)象的加法

如果一串字符串和string對(duì)象混合相加,則要求+操作符左右操作數(shù)必須至少有一個(gè)是string類型的。

推論:一串字符串和string對(duì)象混合相加,前兩個(gè)操作數(shù)中至少有一個(gè)是string對(duì)象。

std::string str2 = str1 + "this" + " that" + " those";
std::cout << str2 << std::endl;
//error C2110: “+”: 不能添加兩個(gè)指針
std::string str3 = "this" + " that" + str1 + " those"; std::cout << str3 << std::endl;

19、C標(biāo)準(zhǔn)庫(kù)頭文件和C++版本

C++標(biāo)準(zhǔn)庫(kù)也包括C標(biāo)準(zhǔn)庫(kù),命名上則在C標(biāo)準(zhǔn)庫(kù)的名字前加一個(gè)c并省去后綴.h,比如C標(biāo)準(zhǔn)庫(kù)中的ctype.h,在C++中就有相應(yīng)的標(biāo)準(zhǔn)庫(kù)cctype(注意沒(méi)有.h)。C++和C標(biāo)準(zhǔn)庫(kù)文件的內(nèi)容是一樣的,只是采用了更適合C++的形式。而且通常cname頭文件中定義的名字都定義在命名空間std內(nèi),而.h版本的名字卻不是這樣。

20、關(guān)于中文編碼的相關(guān)問(wèn)題

我們知道大部分的編譯器以及解決方案都由外國(guó)人發(fā)明創(chuàng)造,特別是美國(guó)人。因此很多程序默認(rèn)不支持中文。雖然隨著Unicode的普及這部分問(wèn)題得到了很大的改善(比如C#就可以完美地支持中文),但是類似C++這樣的語(yǔ)言,仍然面臨著中文編碼的問(wèn)題。關(guān)于編碼,有一篇值得推薦的文章:地址1備用地址下載后打印(docx,50.7KB)查找更多

posted on 2008-12-20 15:50 volnet 閱讀(1792) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C++ Primer 學(xué)習(xí)筆記

特殊功能
 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            黑人操亚洲美女惩罚| 99国产精品久久久久久久成人热| 蜜桃久久av一区| 久久国产精品久久久久久电车| 午夜精品免费| 亚洲欧美在线网| 香蕉成人久久| 久久青草久久| 欧美国产一区二区在线观看 | 亚洲欧美另类久久久精品2019| 亚洲一区视频| 欧美在线国产| 欧美激情1区2区| 国产精品普通话对白| 国产一区成人| 99国产精品久久久| 欧美影院久久久| 欧美激情中文字幕一区二区| 99这里只有久久精品视频| 亚洲一区网站| 麻豆91精品| 欧美特黄一级| 99国产成+人+综合+亚洲欧美| 99精品免费视频| 欧美一级播放| 欧美片在线播放| 黄色工厂这里只有精品| 亚洲国产欧美国产综合一区 | 亚洲男女自偷自拍图片另类| 久久露脸国产精品| 91久久精品一区二区三区| 欧美激情亚洲精品| 亚洲欧美卡通另类91av| 美女视频黄 久久| 国产日韩欧美在线播放不卡| 一本色道久久加勒比精品| 久久久国产精品一区二区中文 | 亚洲免费电影在线| 久久人人爽人人爽| 国产美女精品| 亚洲一区二区免费在线| 欧美大片一区二区| 欧美一区二区三区日韩视频| 国产精品久久精品日日| 9人人澡人人爽人人精品| 麻豆精品精品国产自在97香蕉| 亚洲一区二区黄色| 欧美视频一区二| 亚洲精品视频在线看| 国产精品视频内| 欧美另类69精品久久久久9999| 国产网站欧美日韩免费精品在线观看 | 老司机精品视频网站| 国产欧美精品在线播放| 一区二区三区视频在线| 免费欧美在线视频| 欧美伊人久久久久久久久影院| 欧美日韩亚洲综合在线| 日韩一级视频免费观看在线| 女人天堂亚洲aⅴ在线观看| 久久精品国产一区二区电影| 激情欧美国产欧美| 男女视频一区二区| 六月婷婷久久| 亚洲国产成人精品视频| 欧美成人免费大片| 欧美va天堂| 亚洲精品在线免费观看视频| 亚洲激情在线播放| 欧美日韩国产精品自在自线| 亚洲理论在线观看| 亚洲精品欧美日韩专区| 国产精品高清网站| 欧美一区二区三区免费在线看| 亚洲免费视频在线观看| 国产婷婷色一区二区三区四区| 久久精品免费| 久久五月激情| 亚洲精品久久久久中文字幕欢迎你| 亚洲福利在线视频| 欧美裸体一区二区三区| 午夜精品久久久久久久男人的天堂| 亚洲一区欧美激情| 激情av一区二区| 欧美高清视频在线播放| 欧美日韩岛国| 久久av红桃一区二区小说| 久久精品成人一区二区三区蜜臀| 国内自拍视频一区二区三区| 亚洲高清网站| 国产精品亚洲激情 | 最新亚洲电影| 国产精品久久一区二区三区| 午夜天堂精品久久久久| 久久国产欧美日韩精品| 亚洲精品在线电影| 欧美一区二区三区日韩| 一区二区三区欧美激情| 欧美一区激情| 极品尤物一区二区三区| 亚洲电影在线免费观看| 国产精品美女主播| 欧美大成色www永久网站婷| 欧美日韩一二区| 久久久美女艺术照精彩视频福利播放 | 一区二区三区欧美亚洲| 国产精品亚洲综合| 欧美激情第五页| 国产精品免费观看视频| 亚洲国产福利在线| 国产女主播一区| 亚洲精品在线电影| 亚洲国产mv| 香蕉久久精品日日躁夜夜躁| 亚洲精品日韩激情在线电影| 亚洲尤物视频在线| 日韩香蕉视频| 久久久久久免费| 午夜老司机精品| 欧美日韩你懂的| 亚洲第一在线| 国产在线观看一区| 亚洲午夜高清视频| 99国产精品99久久久久久粉嫩| 久久综合色88| 久久久噜噜噜久久人人看| 国产精品福利在线观看网址| 亚洲精品免费一区二区三区| 亚洲第一天堂av| 久久久精品网| 久久久久一本一区二区青青蜜月| 国产精品久久久久99| 日韩一级片网址| 99视频在线精品国自产拍免费观看| 久久久免费精品视频| 欧美呦呦网站| 国产午夜精品麻豆| 羞羞答答国产精品www一本| 欧美亚洲系列| 国产偷国产偷精品高清尤物| 亚洲欧美怡红院| 久久不射电影网| 国产在线播精品第三| 久久精品九九| 亚洲第一狼人社区| 99精品热视频只有精品10| 欧美激情在线有限公司| 亚洲日本无吗高清不卡| 一区二区成人精品| 欧美日本不卡视频| 99热免费精品在线观看| 亚洲免费视频成人| 国产精品香蕉在线观看| 亚洲自拍啪啪| 美女日韩在线中文字幕| 91久久精品日日躁夜夜躁欧美| 美国十次了思思久久精品导航| 亚洲东热激情| 宅男精品导航| 国产日韩精品一区二区三区在线| 欧美亚洲一区二区在线观看| 久久夜色精品国产噜噜av| 亚洲国产婷婷综合在线精品| 欧美福利影院| 亚洲自拍三区| 亚洲二区三区四区| 欧美一区二区网站| 亚洲国产乱码最新视频| 欧美日韩在线另类| 久久国产精品久久久| 亚洲国产精品一区二区第四页av| 一区二区三区精密机械公司 | 99这里只有久久精品视频| 欧美日韩ab片| 午夜视频精品| 欧美黄在线观看| 亚洲尤物在线视频观看| 韩国在线一区| 欧美三区美女| 久久精品30| 99热在线精品观看| 免费一级欧美片在线观看| 亚洲影院在线观看| 日韩视频在线观看免费| 激情校园亚洲| 国产精品亚洲综合一区在线观看| 欧美不卡视频| 久久精品国产亚洲一区二区三区| 夜夜嗨av一区二区三区网页| 免费观看亚洲视频大全| 午夜综合激情| 在线一区观看| 亚洲美女视频网| 在线精品国精品国产尤物884a| 国产精品视频精品| 欧美视频免费看| 欧美日韩一卡二卡| 欧美成年人视频| 看片网站欧美日韩| 久久精品国产精品亚洲精品|