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

隨筆 - 30, 文章 - 0, 評論 - 64, 引用 - 0
數(shù)據(jù)加載中……

在堆上分配內(nèi)存

unsigned long *pA = new unsigned long; *pA = 10;
unsigned long *pB = new unsigned long[ *pA ];

上面就申請了兩塊內(nèi)存,pA所指的內(nèi)存(即pA的值所對應的內(nèi)存)是4字節(jié)大小,而pB所指的內(nèi)存是4*10=40字節(jié)大小。應該注意,由于new是一個操作符,其結(jié)構(gòu)為new <類型名>[<整型數(shù)字>]。它返回指針類型的數(shù)字,其中的<類型名>指明了什么樣的指針類型,而后面方括號的作用和定義數(shù)組時一樣,用于指明元素的個數(shù),但其返回的并不是數(shù)組類型,而是指針類型。



delete pA; delete[] pB;

    注意delete操作符并不返回任何數(shù)字,但是其仍被稱作操作符,看起來它應該被叫做語句更加合適,但為了滿足其依舊是操作符的特性,C++提供了一種很特殊的數(shù)字類型——void。其表示無,即什么都不是,這在《C++從零開始(七)》中將詳細說明。因此delete其實是要返回數(shù)字的,只不過返回的數(shù)字類型為void罷了。

    注意上面對pA和pB的釋放不同,因為pA按照最開始的書寫,是new unsigned long返回的,而pB是new unsigned long[ *pA ]返回的。所以需要在釋放pB時在delete的后面加上“[]”以表示釋放的是數(shù)組,不過在VC中,不管前者還是后者,都能正確釋放內(nèi)存,無需“[]”的介入以幫助編譯器來正確釋放內(nèi)存,因為以Windows為平臺而開發(fā)程序的VC是按照Windows操作系統(tǒng)的方式來進行內(nèi)存分配的,而Windows操作系統(tǒng)在釋放內(nèi)存時,無需知道欲釋放的內(nèi)存塊的長度,因為其已經(jīng)在內(nèi)部記錄下來(這種說法并不準確,實際應是C運行時期庫干了這些事,但其又是依賴于操作系統(tǒng)來干的,即其實是有兩層對內(nèi)存管理的包裝,在此不表)。

posted @ 2008-11-26 15:40 henry08 閱讀(372) | 評論 (0)編輯 收藏

指針

再來看取內(nèi)容操作符“*”,其右接的數(shù)字類型是指針類型或數(shù)組類型,它的計算就是將此指針類型的數(shù)字直接轉(zhuǎn)換成地址類型的數(shù)字
因為指針類型的數(shù)字和地址類型的數(shù)字在數(shù)值上是相同的,僅僅計算規(guī)則不同


地址類型的數(shù)字是在編譯時期給編譯器用的
指針類型的數(shù)字是在運行時期給代碼用的

posted @ 2008-11-26 15:39 henry08 閱讀(187) | 評論 (0)編輯 收藏

申請內(nèi)存 靜態(tài)分配動態(tài)分配

在申請內(nèi)存時總是申請固定大小的內(nèi)存,則稱此內(nèi)存是靜態(tài)分配的。前面提出的定義變量時,編譯器幫我們從棧上分配的內(nèi)存就屬于靜態(tài)分配


根據(jù)用戶輸入的不同而可能申請不同大小的內(nèi)存時,則稱此內(nèi)存是動態(tài)分配的,后面說的從堆上分配就屬于動態(tài)分配。


同樣,靜態(tài)分配的內(nèi)存利用率不高或運用不夠靈活,但代碼容易編寫且運行速度較快;動態(tài)分配的內(nèi)存利用率高,不過編寫代碼時要復雜些,需自己處理內(nèi)存的管理(分配和釋放)且由于這種管理的介入而運行速度較慢并代碼長度增加。
靜態(tài)和動態(tài)的意義不僅僅如此,其有很多的深化,如硬編碼和軟編碼、緊耦合和松耦合,都是靜態(tài)和動態(tài)的深化。

posted @ 2008-11-26 15:38 henry08 閱讀(848) | 評論 (0)編輯 收藏

字符串

 char類型進行表示的字符串稱為單字節(jié)字符串(SingleByte),用這種表示方式記錄的文本文件稱為是ANSI格式的

  多字節(jié)字符串(MultiByte),用這種表示方式記錄的文本文件稱為是MBCS格式的

 寬字節(jié)字符串(WideChar),用這種表示方式記錄的文本文件稱為是Unicode格式的
         (一個short類型的數(shù)字來表示,即每個字符的長度固定為2字節(jié))

posted @ 2008-11-26 15:37 henry08 閱讀(205) | 評論 (0)編輯 收藏

在線C++編譯器介紹

下面的網(wǎng)址是最有名的兩個在線C++編譯網(wǎng)站:

http://www.dinkumware.com/exam/default.aspx
http://www.comeaucomputing.com/tryitout/
許多在線判題系統(tǒng)也可以用來進行在線編譯:

http://acm.zju.edu.cn/
http://acm.pku.edu.cn/JudgeOnline/
http://acm.uva.es/
你可能會好奇這些網(wǎng)站使用的編譯器的版本和編譯參數(shù)到底是什么。有些網(wǎng)站會提供這些信息,而有些則不會。那么你就只能靠自己去發(fā)現(xiàn)這些“秘密”了。

工欲善其事,必先利其器。讓我們先看看一些從編譯器獲取信息的小技巧。

1. 輸出宏
在C++中, 字符串常數(shù)不能作為模板參數(shù)。大多數(shù)編譯器會在錯誤信息中同時輸出字符串的內(nèi)容。下面的代碼展示了這一技巧。

template<const char *> class A {};
#define F0(x) #x
#define F1(x) F0(x)
#define V1 F1(__GNUC__)
int main()
{
    A<V1> a1;
}


這里,宏F0和F1用于將整型轉(zhuǎn)換成字符串。編譯器會輸出類似于"literal "3" is not a valid template argument because it is the address of an object with static linkage"的出錯信息。里面的"3"就是你想知道的宏的內(nèi)容。

2. 輸出常數(shù)
同樣,浮點數(shù)是不能作為模板參數(shù)的。編譯器通常會在錯誤信息中包含浮點數(shù)的值。利用這一點,我們可以輸出浮點常數(shù)。不過很不幸的是,VC會隱式的將浮點類型的模板參數(shù)轉(zhuǎn)換成int(參見https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=296008
下面是一種輸出整型常量的方法:

template<int N>
class A
{
private:
    A();
};
int main()
{
    A<sizeof(char)> a;
}


3. 輸出變量類型
有時候,你可能需要知道某些變量的實際類型,這時候你可以使用下面的代碼:

struct Dummy {};
void Fun(const Dummy &);
int main()
{
    Fun(1+1U);
}


PS:如果你使用的是gcc,那么它會輸出"not convert `2' to `const Dummy&'",所以你需要將Fun的聲明改成"template<typename T> void Fun(T);"(換句話說,在gcc中上面的代碼也可以用于輸出常數(shù)的值)

4. 輸出包含路徑
如果要獲取STL頭文件的路徑,你可以使用:

#include <ext/hash_set>
using __gnu_cxx::hash_set;

int main()
{
    hash_set<> m;
}

 

PS:這里也可以使用vector。

好,現(xiàn)在是時候牛刀小試了。關(guān)于如何獲取編譯器的版本信息,可以參考這篇文章:Pre-defined Compiler Macros

下面是利用上面介紹的技巧獲得的dinkumware網(wǎng)站的一些資料:

1. VC
版本 (_MSC_FULL_VER):
         VC8 140050727
         VC7.1 13103077
         VC7 13009466
         VC6 12008804
包含路徑:
         D:\cplt501_vc_source\include (with _CPPLIB_VER=501)

2. EDG
版本(__EDG_VERSION__):
         3.05 
編譯參數(shù):
         edgcc --alt -D_WIN32 -D_M_IX86 --no_inlining --diag_suppress=1290 --long_long --wchar_t_keyword -D_C99 -ID:\cplt501_gen_source/include/c -ID:\cplt501_gen_source/include -IC:\PROGRA~1\MICROS~2.NET\VC7/include --exceptions --microsoft -c sourceFile.cpp
因為使用了VC兼容模式進行編譯,所以編譯器可能會模擬VC的部分bug

3. GCC
版本:
         3.2.0
包含路徑:
         D:/cplt501_gen_source/include and D:/Mingw/include/c++/3.2/
可以看到這里使用的GCC的版本已經(jīng)相當陳舊了

 

 

 

 

 

 

 


文章出處:http://www.diybl.com/course/3_program/c++/cppsl/2008108/149011.html

posted @ 2008-11-26 12:35 henry08 閱讀(3554) | 評論 (2)編輯 收藏

賦值語句

賦值語句
因此應在變量定義的時候就進行賦值(但是會有性能上的影響,不過很小),以初始化變量而防止出現(xiàn)莫名其妙的值,在表達式中運用賦值運算符是不好的,即使它可能讓你寫出看起來簡練的語句,但它也使代碼的可維護性降低。


true 0
false 非0

posted @ 2008-11-26 00:18 henry08 閱讀(950) | 評論 (0)編輯 收藏

棧(Stack) 堆(Heap)


C++即允許程序員有兩種向操作系統(tǒng)申請內(nèi)存的方式。
    前一種就是在棧上分配,申請的內(nèi)存大小固定不變
    后一種是在堆上分配,申請的內(nèi)存大小可以在運行的時候變化,不是固定不變的
_______+++++++++++++++++++++++++++++++++++_____________________________




棧(Stack)
                   
                  : 任何程序執(zhí)行前,預先分配一固定長度的內(nèi)存空間,
                    這塊內(nèi)存空間被稱作棧,也被叫做堆棧
                    即程序員自己判斷可以使用哪些內(nèi)存,
                    而不是操作系統(tǒng),很明顯,
                   上面的工作是由編譯器來做的,   
                   工作只是從操作系統(tǒng)變到程序自己而已,
                   好處就是由于程序一開始執(zhí)行時就已經(jīng)分配了一大塊連續(xù)內(nèi)存,
                   壞處也就是只能在編譯時期分配內(nèi)存


上面的工作是編譯器做的,即程序員并不參與堆棧的維護。但上面已經(jīng)說了,堆棧相當于在編譯時期分配內(nèi)存,因此一旦計算好某塊內(nèi)存的偏移,則這塊內(nèi)存就只能那么大,不能變化了


__________________________________________________________________________________________________

堆(Heap)

                
在Windows操作系統(tǒng)下,由操作系統(tǒng)分配的內(nèi)存就叫做堆
                 而棧可以認為是在程序開始時就分配的堆
                 因此在堆上就可以分配大小變化的內(nèi)存塊,
                 因為是運行時期即時分配的內(nèi)存,
                而不是編譯時期已計算好大小的內(nèi)存塊。

posted @ 2008-11-24 18:45 henry08 閱讀(1047) | 評論 (1)編輯 收藏

挑戰(zhàn)30天C/C++ 入門極限系列教程

挑戰(zhàn)30天C/C++ 入門極限系列教程

C++從零開始系列教程目錄
http://www.bianceng.cn/Programming/cplus/jc/200705/659.htm

posted @ 2008-11-23 21:56 henry08 閱讀(499) | 評論 (0)編輯 收藏

Visual C++ 2005 系列課程學習筆記

 

http://www.cnblogs.com/kai_xin/category/153770.html

posted @ 2008-11-23 21:38 henry08 閱讀(238) | 評論 (0)編輯 收藏

c++ 開blogs

c++  開blogs

posted @ 2008-11-11 15:35 henry08 閱讀(167) | 評論 (0)編輯 收藏

僅列出標題
共3頁: 1 2 3 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美一区二区在线观看| 欧美激情国产日韩精品一区18| 狠狠色综合色区| 国产欧美一区二区精品性| 欧美日韩a区| 欧美午夜精品伦理| 亚洲老板91色精品久久| 久久久另类综合| 久久久久久国产精品mv| 欧美激情第1页| 亚洲大片精品永久免费| 久久国产精品亚洲77777| 性欧美办公室18xxxxhd| 亚洲私拍自拍| 欧美影片第一页| 亚洲影视在线| 欧美成人自拍| 亚洲天堂免费观看| 欧美一二区视频| 欧美日韩一区成人| 亚洲精品一区二区网址| 久久国产精品黑丝| 国产精品国产三级国产专播品爱网 | 欧美亚洲免费| 美女主播视频一区| 欧美色偷偷大香| 黄色免费成人| 性色av一区二区三区| 99综合视频| 欧美成人一二三| 国产日本欧美在线观看| 亚洲欧美一区二区三区极速播放| 蜜臀a∨国产成人精品| 午夜日韩电影| 国产婷婷色一区二区三区在线 | 欧美日韩美女在线观看| 亚洲精品在线一区二区| 亚洲黄色有码视频| 欧美激情亚洲精品| 日韩亚洲欧美在线观看| 一区二区三区视频观看| 国产女人18毛片水18精品| 久久人人97超碰精品888| 久久综合亚洲社区| 午夜精品久久久久久| 久久国产成人| 亚洲精品免费一二三区| 亚洲高清在线视频| 亚洲日本va午夜在线影院| 国产精品美女黄网| 欧美国产先锋| 国产嫩草影院久久久久| 最新亚洲视频| 国产欧美日韩一级| 亚洲精品永久免费| 国产一区av在线| 日韩一区二区免费看| 在线观看91精品国产麻豆| 99re热精品| 一区二区三区国产精品| 久久久久免费观看| 亚洲欧美日韩专区| 欧美日韩一区二区三区高清| 久久精品99国产精品酒店日本| 欧美久久久久久久| 91久久精品国产91性色| 国产一区二区三区四区老人| 亚洲色无码播放| 亚洲女女女同性video| 欧美日韩在线看| 99re在线精品| 亚洲一区免费观看| 欧美午夜大胆人体| 性欧美办公室18xxxxhd| 亚洲综合精品一区二区| 欧美日韩综合视频| 亚洲一区在线免费观看| 亚洲一区二区视频在线| 欧美性猛交xxxx乱大交蜜桃| 夜夜嗨网站十八久久| 亚洲欧美三级在线| 国产精品系列在线| 香蕉av777xxx色综合一区| 久久久噜噜噜久久久| 欧美一级成年大片在线观看| 久久国产66| 亚洲美女中文字幕| 国产亚洲精品一区二555| 久久午夜视频| 一区二区黄色| 欧美国产日韩在线观看| 亚洲天堂av图片| 亚洲国产激情| 好吊色欧美一区二区三区四区| 欧美激情精品久久久| 久久精品一区四区| 亚洲线精品一区二区三区八戒| 欧美xxxx在线观看| 欧美专区中文字幕| 亚洲一区二区三区四区视频| 亚洲国产精品成人一区二区 | 亚洲欧美日韩国产一区二区三区| 国产一区二区三区网站| 国产精品乱人伦中文| 欧美大片在线观看| 久久视频在线免费观看| 久久免费视频在线| 久久精品午夜| 久久亚洲一区| 欧美1区视频| 欧美精品自拍| 欧美性大战久久久久久久蜜臀| 欧美成人精品一区二区| 欧美激情一区二区三区在线视频 | 亚洲一区免费视频| 亚洲欧美日韩天堂| 亚洲欧美日韩在线不卡| 午夜精品福利一区二区三区av | 亚洲欧美精品中文字幕在线| 亚洲一级黄色av| 久久久久久久久综合| 欧美成人精精品一区二区频| 欧美激情bt| 一区二区三区黄色| 欧美中文日韩| 欧美国产欧美亚洲国产日韩mv天天看完整 | 欧美大尺度在线观看| 欧美日韩直播| 狠狠干成人综合网| 一区二区三区产品免费精品久久75 | 欧美一区二区三区电影在线观看| 久久精品久久综合| 91久久夜色精品国产九色| 99ri日韩精品视频| 久久免费视频网| 国产精品稀缺呦系列在线| 最新国产拍偷乱拍精品 | 久久精品夜夜夜夜久久| 亚洲国产日韩欧美在线99| 欧美一区二区三区日韩视频| 欧美日韩综合在线| 亚洲理论在线| 亚洲人午夜精品免费| 你懂的视频欧美| 欧美亚洲一级| 国产日韩欧美电影在线观看| 中国女人久久久| 亚洲激情一区二区| 欧美国产日韩视频| 日韩视频免费看| 亚洲精品影视在线观看| 欧美日韩直播| 久久久精品国产免费观看同学| 亚洲性图久久| 国产毛片一区二区| 久久久久亚洲综合| 欧美freesex8一10精品| 夜夜嗨av一区二区三区| 亚洲伦理久久| 激情久久久久久| 亚洲国产精品传媒在线观看| 欧美黄色免费网站| 欧美影视一区| 免费观看成人www动漫视频| 一本到12不卡视频在线dvd| 亚洲综合色网站| 亚洲电影在线免费观看| 亚洲精品男同| 激情综合自拍| 亚洲午夜女主播在线直播| 亚洲国产经典视频| 亚洲在线免费视频| 一本色道婷婷久久欧美| 久久久精品免费视频| 亚洲欧美精品伊人久久| 欧美大香线蕉线伊人久久国产精品| 亚洲深夜福利视频| 欧美www在线| 亚洲国产精品视频| 狠狠久久亚洲欧美| 久久亚洲国产精品一区二区| 久久成人国产| 国产区日韩欧美| 欧美一区二区在线看| 欧美一区二区三区久久精品茉莉花| 麻豆freexxxx性91精品| 美女久久网站| 亚洲国产精品v| 美女在线一区二区| 亚洲国产小视频在线观看| 免费视频久久| 国产精品一区久久久久| 先锋资源久久| 男男成人高潮片免费网站| 亚洲电影专区| 欧美黄在线观看| 亚洲精品久久久久中文字幕欢迎你| 亚洲激情另类| 欧美日韩在线精品| 午夜久久99|