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

隨筆 - 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>
            久久久精品国产免费观看同学 | 91久久亚洲| 亚洲免费婷婷| 亚洲视频在线观看视频| 日韩一级裸体免费视频| 亚洲最快最全在线视频| 亚洲一区二区在| 久久精品国产第一区二区三区| 亚洲欧美日韩成人| 欧美一区二区三区另类| 久久久久国产精品一区三寸| 久久午夜精品一区二区| 欧美国产日产韩国视频| 91久久亚洲| 午夜精品久久久久久久久| 久久国产精品网站| 欧美国产精品中文字幕| 欧美涩涩视频| 狠狠色香婷婷久久亚洲精品| 亚洲日本成人| 亚洲欧美综合国产精品一区| 久久久精品动漫| 亚洲人久久久| 久久国产精品久久w女人spa| 欧美国产日韩在线| 国产精品亚洲综合久久| 亚洲黄色在线观看| 欧美在线观看天堂一区二区三区 | 欧美高清视频在线| 宅男噜噜噜66一区二区66| 久久九九99| 国产精品va在线| 亚洲成人在线网站| 午夜精品免费视频| 91久久亚洲| 久久精品国产免费观看| 国产精品成人久久久久| 亚洲激情二区| 久久婷婷综合激情| 亚洲欧美视频在线观看| 欧美日韩性视频在线| 在线精品国精品国产尤物884a| 亚洲综合电影| 亚洲人精品午夜| 欧美 日韩 国产 一区| 国产一区二区av| 午夜激情亚洲| 一本久久综合亚洲鲁鲁| 欧美成人xxx| 亚洲福利视频专区| 久久久国产一区二区| 亚洲图中文字幕| 国产精品久久7| 99riav国产精品| 亚洲黄色在线观看| 欧美成人精品不卡视频在线观看| 国内久久视频| 久久久蜜桃一区二区人| 小黄鸭视频精品导航| 国产精品亚洲产品| 香蕉视频成人在线观看| 亚洲图片在线| 国产精品一区二区女厕厕| 欧美aaa级| 久久久久综合| 国产精品一区二区久久| 亚洲一区二区三区在线播放| 日韩视频在线观看免费| 欧美激情精品| 一本综合久久| 亚洲天堂av在线免费观看| 欧美午夜www高清视频| 亚洲欧美激情视频在线观看一区二区三区 | 久久国产精品毛片| 欧美一区二区三区另类| 黄色成人在线免费| 免费欧美在线视频| 欧美国产综合视频| 亚洲综合社区| 久久成人羞羞网站| 亚洲人成人77777线观看| 亚洲日韩成人| 国产伦一区二区三区色一情| 久久精品主播| 欧美成人精品在线观看| 在线亚洲美日韩| 欧美亚洲一级| 亚洲欧洲精品成人久久奇米网 | 亚洲乱码视频| 国产精品国产馆在线真实露脸 | 亚洲精品视频一区二区三区| 欧美激情一区二区三级高清视频| 亚洲最新视频在线| 亚洲欧美日韩精品一区二区| 国内精品久久久久久久果冻传媒| 女仆av观看一区| 欧美日韩一区综合| 另类图片国产| 欧美四级在线| 欧美h视频在线| 欧美三日本三级三级在线播放| 欧美在线精品免播放器视频| 久久天堂精品| 午夜在线a亚洲v天堂网2018| 久热精品视频在线观看| 亚洲欧美国产高清| 欧美成人亚洲成人日韩成人| 久久riav二区三区| 欧美日韩精品一区视频 | 欧美91精品| 国产精品久久久对白| 欧美成人一区二免费视频软件| 国产精品激情电影| 亚洲福利视频网站| 国产一区在线播放| 亚洲图片自拍偷拍| 一区二区三区精品在线 | 欧美福利视频在线| 亚洲国产精品va在线看黑人| 亚洲午夜精品久久久久久app| 伊人春色精品| 性色av一区二区怡红| 亚洲一区二区三区国产| 久久蜜桃资源一区二区老牛| 午夜在线观看免费一区| 欧美国产另类| 亚洲国产精品ⅴa在线观看| 国产欧美在线看| 亚洲深夜福利| 亚洲一区激情| 欧美午夜视频网站| 99亚洲视频| 亚洲无玛一区| 欧美午夜无遮挡| 9色国产精品| 亚洲午夜伦理| 欧美日韩 国产精品| 亚洲国产日韩在线一区模特| 尤物精品国产第一福利三区| 欧美在线国产精品| 久久久成人精品| 黄色日韩网站视频| 久久久久高清| 欧美黑人在线观看| 亚洲乱码国产乱码精品精可以看| 欧美国产精品劲爆| 99精品视频一区二区三区| 亚洲网站在线播放| 国产精品视频自拍| 欧美亚洲一区二区在线观看| 久久精品中文字幕一区| 狠狠爱成人网| 模特精品在线| 中文av字幕一区| 欧美一区二区三区婷婷月色| 国产性色一区二区| 久色婷婷小香蕉久久| 亚洲精品孕妇| 欧美一区二区三区免费观看| 黄色成人在线观看| 欧美理论片在线观看| 亚洲免费影院| 欧美国产成人在线| 午夜精品久久久久久久99樱桃| 国产亚洲精品久久久久动| 久热这里只精品99re8久| 99热这里只有成人精品国产| 久久精品国产久精国产一老狼| 精品51国产黑色丝袜高跟鞋| 欧美大片免费| 亚洲免费一在线| 亚洲风情亚aⅴ在线发布| 亚洲欧美国产高清| 亚洲高清视频一区二区| 国产精品hd| 久久中文精品| 亚洲一区黄色| 亚洲大胆人体视频| 欧美在线二区| 亚洲视频999| 亚洲国产精品黑人久久久| 国产精品成人v| 免费看精品久久片| 欧美在线免费看| 一本色道久久综合亚洲二区三区| 久久精品一区二区国产| 亚洲美女91| 伊人影院久久| 国产欧美在线播放| 亚洲视频1区| 欧美sm视频| 亚洲免费网址| 99精品视频一区| 在线国产精品播放| 国产精品亚洲欧美| 欧美久久综合| 欧美电影免费观看大全| 久久青草福利网站| 性欧美videos另类喷潮| 亚洲免费观看|