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

MyMSDN

MyMSDN記錄開發新知道

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: “=”: 無法從“int”轉換為“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、類,成員變量初始化

定義變量和定義數據成員存在著非常重要的區別:一般不能把類成員的初始化作為其定義的一部分。當定義數據成員時,只能指定該數據成員的名字和類型。類不是在類定義里定義數據成員時初始化數據成員,而是通過成為構造函數的特殊成員函數控制初始化。

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

13、struct關鍵字

C++支持另一個關鍵字struct,它也可以定義類類型。struct關鍵字是從C語言中繼承過來的。

如果使用class關鍵字來定義類,那么定義在第一個訪問標號前的任何成員都隱式指定為private;如果使用struct關鍵字,那么這些成員都是public,除非有其他特殊的聲明,如添加了private才為private,否則都是public,因此沒必要添加public關鍵字。

用class和struct關鍵字定義類的唯一差別在于默認訪問級別:默認情況下,struct的成員為public,而class的成員為private。

14、預編譯頭文件

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

VC++程序一般包含的頭文件都比較復雜,如果每次都逐行分析可能會花很多時間,所以VC++默認設置是第一次編譯時分析所有頭文件,生成.pch文件,這個文件很大,但以后每次編譯時就可以節省很多時間。如果刪除了這個文件,下次編譯時VC++會自動生成它。

二、什么時候使用預編譯頭?
當大多.c或.cpp文件都需要相同的頭文件時。
當某些代碼被大量重復使用時。
當導入某些不同庫都有實現的函數,并產生混亂時。

15 、在頭文件中必須總是使用完全限定的標準庫名字。

因為預處理器會將頭文件復制到使用它的任何地方,兩種可能,一種是如果在頭文件中使用using,會使相關代碼不論是否需要該using都必將放置一個using,另一種是,假設有另一個庫可能也包含了相應的方法如有方法std::cout以及my::cout,如果使用了using,有可能導致被引入的程序偏離原本的使用意圖,或者導致編譯錯誤。

16、字符串字面值和標準庫string不是同一種類型

因為歷史原因以及為了與C語言兼容,字符串字面值與標準庫string類型不是同一種類型。這一點很容易引起混亂,編程時一定要注意區分字符串字面值和string數據類型的使用,這很重要。

17、getline函數輸入的時候丟棄末尾的換行符,并將整行返回,而且不丟棄第一個換行符,也就是即便你一開始就輸入了換行符,它仍然會返回,只不過返回的是一個空字符串而已。

編寫程序實現從標準輸入每次讀取一行文本。然后改寫程序,每次讀入一個單詞!

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

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

WriteLine("每輸"NEXT\"進");
while(std::getline(std::cin, str))
{
    if(str == "NEXT")
        break;
    //從第0個開始查找空白
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函數:

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

18、std::string對象的加法

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

推論:一串字符串和string對象混合相加,前兩個操作數中至少有一個是string對象。

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

19、C標準庫頭文件和C++版本

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

20、關于中文編碼的相關問題

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

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

特殊功能
 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲国产天堂网精品网站| 免费国产一区二区| 欧美亚洲视频在线观看| 一本大道久久a久久精二百| 亚洲国产视频一区| 一本一本久久a久久精品综合麻豆| 欧美h视频在线| 欧美伦理在线观看| 国产精品v欧美精品v日韩| 国产精品激情| 国产一区二区你懂的| 亚洲国产精品成人| 99精品视频免费全部在线| 亚洲私人影吧| 欧美在线观看一区二区三区| 久久噜噜亚洲综合| 最近中文字幕日韩精品| 一二三四社区欧美黄| 欧美一级久久| 欧美国产大片| 久久不射中文字幕| 激情av一区| 亚洲精品专区| 性伦欧美刺激片在线观看| 久久乐国产精品| 亚洲破处大片| 久久国产精品黑丝| 欧美精品v国产精品v日韩精品| 国产精品久久久亚洲一区| 国内精品久久久久国产盗摄免费观看完整版| 在线国产精品一区| 午夜精品视频在线观看| 欧美不卡视频一区发布| 在线视频中文亚洲| 亚洲高清免费视频| 一本色道久久精品| 久久夜色精品| 亚洲欧美久久| 欧美日韩国产限制| 蜜乳av另类精品一区二区| 国产精品久久综合| 亚洲精品久久| 鲁大师成人一区二区三区| 中文日韩在线视频| 欧美极品在线播放| 一区二区三区自拍| 久久久久久久激情视频| 亚洲一品av免费观看| 开心色5月久久精品| 亚洲视频在线二区| 欧美日韩国产小视频| 欧美.www| 尤物yw午夜国产精品视频明星| 亚洲性人人天天夜夜摸| 亚洲黄色一区二区三区| 久久一区国产| 国产亚洲精品久久飘花| 亚洲欧美日韩视频一区| 亚洲精品视频二区| 欧美日韩黄色一区二区| 一区二区av在线| 亚洲免费观看高清完整版在线观看熊| 欧美不卡在线| 日韩视频一区二区三区| 亚洲韩国一区二区三区| 免费精品视频| 欧美成人亚洲| 亚洲欧洲一区二区三区久久| 欧美国产精品专区| 99国产精品99久久久久久粉嫩| 免费亚洲一区二区| 亚洲国产91| 亚洲第一天堂无码专区| 你懂的一区二区| 亚洲欧洲在线一区| 亚洲日本在线视频观看| 久久一区二区三区超碰国产精品| 国产欧美日韩三区| 久久黄金**| 午夜精品久久久久久久99樱桃| 国产美女精品一区二区三区| 欧美成人综合网站| 亚洲午夜精品网| 欧美天堂亚洲电影院在线播放| 99精品视频免费在线观看| 亚洲黄页视频免费观看| 欧美精品在线看| 亚洲视频香蕉人妖| 亚洲欧美综合网| 激情欧美一区二区三区| 欧美激情一区二区三级高清视频 | 久久爱www久久做| 午夜影院日韩| 亚洲成色www久久网站| 91久久黄色| 国产精品视频大全| 欧美福利一区| 国产精品美女午夜av| 男同欧美伦乱| 国产精品乱码| 亚洲第一视频网站| 国产日韩一区二区三区| 亚洲三级电影在线观看| 国产一区二区三区在线观看免费 | 欧美成人免费全部| 欧美视频福利| 欧美高清视频一区| 国产精品一二一区| 最近中文字幕日韩精品| 国产一区二区日韩精品欧美精品| 亚洲电影观看| 国产专区精品视频| 一区二区不卡在线视频 午夜欧美不卡'| 黄色成人免费网站| 午夜在线精品偷拍| 亚洲欧美一区二区精品久久久| 你懂的视频欧美| 欧美ed2k| 国产自产女人91一区在线观看| 亚洲毛片一区| 欧美三级日韩三级国产三级| 亚洲欧美在线播放| 欧美精选一区| 欧美成人在线免费观看| 国产午夜精品美女视频明星a级 | 欧美日韩精品免费观看视频完整 | 亚洲国产欧美日韩| 亚洲国产精品va在看黑人| 久久成人精品| 久久久福利视频| 国产精品揄拍500视频| 亚洲理论在线观看| 亚洲视频axxx| 欧美天天综合网| av不卡在线| 亚洲一区免费网站| 欧美日韩免费观看一区三区| 亚洲欧洲精品一区二区三区不卡| 亚洲三级电影全部在线观看高清| 久久午夜激情| 亚洲国产精品va在看黑人| 亚洲激情视频网| 欧美激情网站在线观看| 亚洲欧洲精品一区二区精品久久久 | 激情综合色丁香一区二区| 欧美一区二区三区在线观看| 欧美在线日韩精品| 国产一区日韩一区| 久久精品亚洲乱码伦伦中文 | 日韩午夜一区| 一本久久a久久免费精品不卡| 欧美色精品在线视频| 亚洲婷婷综合色高清在线| 欧美在线免费播放| 国产一级一区二区| 久久久久成人精品| 亚洲激情另类| 亚洲欧美日韩精品一区二区| 国产拍揄自揄精品视频麻豆| 久久狠狠久久综合桃花| 亚洲高清视频中文字幕| 一区二区久久久久| 亚洲免费福利视频| 性色av一区二区三区| 国产一区91| 欧美日本韩国| 欧美在线视频免费| 亚洲精品久久久蜜桃 | 亚洲男人第一网站| 国产日韩1区| 欧美成人xxx| 亚洲欧美在线免费观看| 欧美国产三级| 欧美专区福利在线| 日韩午夜免费视频| 国产午夜精品一区理论片飘花| 国产精品一卡| 久久久夜色精品亚洲| 欧美专区中文字幕| 91久久亚洲| 欧美日韩人人澡狠狠躁视频| 欧美在线在线| 夜夜夜久久久| 美女主播精品视频一二三四| 亚洲一区二区3| 最新成人av在线| 国产欧美日韩视频| 欧美日韩在线免费| 欧美成人国产va精品日本一级| 午夜精品福利电影| 亚洲一区二区三区涩| 亚洲欧洲一区二区三区在线观看 | aa亚洲婷婷| 欧美激情免费在线| 久久久午夜视频| 午夜精品久久久久久久蜜桃app| 亚洲精品久久久久久一区二区| 国产综合色精品一区二区三区| 国产精品扒开腿做爽爽爽软件 | 欧美一区国产一区|