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

天下

記錄修行的印記

求一個(gè)數(shù),二進(jìn)制表示中含有多少個(gè)1

// 1. 求一個(gè)數(shù),二進(jìn)制表示中含有多少個(gè)1.
int func(x)
{
    
int countx = 0;
    
while(x)
    {
        countx 
++;
        x 
= x&(x-1);
    }
    
return countx;


// 2. 請(qǐng)編寫函數(shù) strcpy。
char *strcpy(char *strDest, const char *strSrc)
{
    
if ( strDest == NULL || strSrc == NULL)  // 必須
        return NULL ;
    
if ( strDest == strSrc)            // good
        return strDest ;
    
char *tempptr = strDest ;
    
while*strDest++ = *strSrc++ );
    
return tempptr ;
}

// 3.  下面關(guān)于“聯(lián)合”的題目的輸出?
union {
    
int i;
    
char x[2];
}a;
void main()
{
    a.x[
0= 10;
    a.x[
1= 1;
    printf(
"%d",a.i);
}
//答案:266 (低位低地址,高位高地址,內(nèi)存占用情況是Ox010A)

// 4. 在C++ 程序中調(diào)用被C 編譯器編譯后的函數(shù),為什么要加 extern "C"
首先,作為extern是C/C++語(yǔ)言中表明函數(shù)和全局變量作用范圍(可見性)的關(guān)鍵字,該關(guān)鍵字告訴編譯器,其聲明的函數(shù)和變量可以在本模塊或其它模塊中使用。
通常,在模塊的頭文件中對(duì)本模塊提供給其它模塊引用的函數(shù)和全局變量以關(guān)鍵字extern聲明。
例如,如果模塊B欲引用該模塊A中定義的全局變量和函數(shù)時(shí)只需包含模塊A的頭文件即可。
這樣,模塊B中調(diào)用模塊A中的函數(shù)時(shí),在編譯階段,模塊B雖然找不到該函數(shù),但是并不會(huì)報(bào)錯(cuò);它會(huì)在連接階段中從模塊A編譯生成的目標(biāo)代碼中找到此函數(shù)
extern "C"是連接申明(linkage declaration),被extern "C"修飾的變量和函數(shù)是按照C語(yǔ)言方式編譯和連接的.

// 5. 關(guān)聯(lián)、聚合(Aggregation)以及組合(Composition)的區(qū)別?
關(guān)聯(lián)  是表示兩個(gè)類的一般性聯(lián)系,比如“學(xué)生”和“老師”就是一種關(guān)聯(lián)關(guān)系;
聚合  表示has
-a的關(guān)系,是一種相對(duì)松散的關(guān)系,聚合類不需要對(duì)被聚合類負(fù)責(zé),如下圖所示,用空的菱形表示聚合關(guān)系:
        聚合可以表示為: 
class A {};  class B{ A* a; ..}
組合  表示contains
-a的關(guān)系,關(guān)聯(lián)性強(qiáng)于聚合:組合類與被組合類有相同的生命周期,組合類要對(duì)被組合類負(fù)責(zé),采用實(shí)心的菱形表示組合關(guān)系:
        實(shí)現(xiàn)的形式是: 
class A{};   class B{ A a; }

// 6. 面向?qū)ο蟮娜齻€(gè)基本特征,并簡(jiǎn)單敘述之?
1. 封裝:將客觀事物抽象成類,每個(gè)類對(duì)自身的數(shù)據(jù)和方法實(shí)行protection(privateprotected,public)
2. 繼承:廣義的繼承有三種實(shí)現(xiàn)形式:實(shí)現(xiàn)繼承(指使用基類的屬性和方法而無(wú)需額外編碼的能力)、可視繼承(子窗體使用父窗體的外觀和實(shí)現(xiàn)代碼)、
         接口繼承(僅使用屬性和方法,實(shí)現(xiàn)滯后到子類實(shí)現(xiàn))。前兩種(類繼承)和后一種(對(duì)象組合
=>接口繼承以及純虛函數(shù))構(gòu)成了功能復(fù)用的兩種方式。
3. 多態(tài):是將父對(duì)象設(shè)置成為和一個(gè)或更多的他的子對(duì)象相等的技術(shù),賦值之后,父對(duì)象就可以根據(jù)當(dāng)前賦值給它的子對(duì)象的特性以不同的方式運(yùn)作。
         簡(jiǎn)單的說(shuō),就是一句話:允許將子類類型的指針賦值給父類類型的指針。

// 7. 多態(tài)的作用?
主要是兩個(gè):
1. 隱藏實(shí)現(xiàn)細(xì)節(jié),使得代碼能夠模塊化;擴(kuò)展代碼模塊,實(shí)現(xiàn)代碼重用;
2. 接口重用:為了類在繼承和派生的時(shí)候,保證使用家族中任一類的實(shí)例的某一屬性時(shí)的正確調(diào)用。
        
// 8. New delete 與malloc free 的聯(lián)系與區(qū)別?
答案:
都是在堆(heap)上進(jìn)行動(dòng)態(tài)的內(nèi)存操作。用malloc函數(shù)需要指定內(nèi)存分配的字節(jié)數(shù)并且不能初始化對(duì)象,
new 會(huì)自動(dòng)調(diào)用對(duì)象的構(gòu)造函數(shù)。delete 會(huì)調(diào)用對(duì)象的destructor,而free 不會(huì)調(diào)用對(duì)象的destructor.

// 9. 有哪幾種情況只能用intialization list 而不能用assignment?
答案:當(dāng)類中含有const、reference 成員變量;基類的構(gòu)造函數(shù)都需要初始化表。

// 10. main 函數(shù)執(zhí)行以前,還會(huì)執(zhí)行什么代碼?
答案:全局對(duì)象的構(gòu)造函數(shù)會(huì)在main 函數(shù)之前執(zhí)行。

// 11. 描述內(nèi)存分配方式以及它們的區(qū)別?
1) 從靜態(tài)存儲(chǔ)區(qū)域分配。內(nèi)存在程序編譯的時(shí)候就已經(jīng)分配好,這塊內(nèi)存在程序的整個(gè)運(yùn)行期間都存在。例如全局變量,static 變量。
2) 在棧上創(chuàng)建。在執(zhí)行函數(shù)時(shí),函數(shù)內(nèi)局部變量的存儲(chǔ)單元都可以在棧上創(chuàng)建,函數(shù)執(zhí)行結(jié)束時(shí)這些存儲(chǔ)單元自動(dòng)被釋放。棧內(nèi)存分配運(yùn)算內(nèi)置于處理器的指令集。
3) 從堆上分配,亦稱動(dòng)態(tài)內(nèi)存分配。程序在運(yùn)行的時(shí)候用malloc 或new 申請(qǐng)任意多少的內(nèi)存,程序員自己負(fù)責(zé)在何時(shí)用free 或delete 釋放內(nèi)存。
    動(dòng)態(tài)內(nèi)存的生存期由程序員決定,使用非常靈活,但問(wèn)題也最多。

// 12. 當(dāng)一個(gè)類A 中沒(méi)有生命任何成員變量與成員函數(shù),這時(shí)sizeof(A)的值是多少,如果不是零,請(qǐng)解釋一下編譯器為什么沒(méi)有讓它為零.
答案:肯定不是零。舉個(gè)反例,如果是零的話,聲明一個(gè)class A[10]對(duì)象數(shù)組,而每一個(gè)對(duì)象占用的空間是零,這時(shí)就沒(méi)辦法區(qū)分A[0],A[1]…了。

// 13. static_cast, dynamic_cast和reinterpret_cast的區(qū)別和應(yīng)用
C風(fēng)格的強(qiáng)制類型轉(zhuǎn)換(Type Cast)很簡(jiǎn)單,不管什么類型的轉(zhuǎn)換統(tǒng)統(tǒng)是:
TYPE b 
= (TYPE)a。
const_cast,字面上理解就是去const屬性。
static_cast,命名上理解是靜態(tài)類型轉(zhuǎn)換。如int轉(zhuǎn)換成char。
dynamic_cast,命名上理解是動(dòng)態(tài)類型轉(zhuǎn)換。如子類和父類之間的多臺(tái)類型轉(zhuǎn)換。
reinterpret_cast,僅僅重新解釋類型,但沒(méi)有進(jìn)行二進(jìn)制的轉(zhuǎn)換。
//推薦: http://www.shenmiguo.com/archives/2009/275_cplus-type-cast.html

// 14. C++關(guān)鍵字:mutable、volatile、explicit以及__based
volatile: 一個(gè)定義為volatile的變量是說(shuō)這變量可能會(huì)被意想不到地改變,這樣,編譯器就不會(huì)去假設(shè)這個(gè)變量的值了。精確地說(shuō)就是,
        優(yōu)化器在用到這個(gè)變量時(shí)必須每次都小心地重新讀取這個(gè)變量的值,而不是使用保存在寄存器里的備份。
        
// http://www.cnblogs.com/koya/articles/849158.html
mutable: 他只能用于類的非靜態(tài)和非常量數(shù)據(jù)成員.如果一個(gè)類的成員函數(shù)被聲明為const類型,表示該函數(shù)不會(huì)改變對(duì)象的狀態(tài),
        也就是該函數(shù)不會(huì)修改類的非靜態(tài)數(shù)據(jù)成員.但是有些時(shí)候需要在該類函數(shù)中對(duì)類的數(shù)據(jù)成員進(jìn)行賦值.這個(gè)時(shí)候就需要用mutable了
        
// http://www.360doc.com/content/10/0613/11/1595686_32846874.shtml
explicit
    它的作用是
"禁止單參數(shù)構(gòu)造函數(shù)"被用于自動(dòng)型別轉(zhuǎn)換,典型的例子是容器類型,在這種類型的構(gòu)造函數(shù)中你可以將初始長(zhǎng)度作為參數(shù)傳遞給構(gòu)造函數(shù).
__based: 
    該關(guān)鍵字主要用來(lái)解決一些和共享內(nèi)存有關(guān)的問(wèn)題,它允許指針被定義為從某一點(diǎn)開始算的32位偏移值,而不是內(nèi)存種的絕對(duì)位置

explicit 它的作用是"禁止單參數(shù)的構(gòu)造函數(shù)"被用于后臺(tái)自動(dòng)類型轉(zhuǎn)換,意味著單參數(shù)構(gòu)造函數(shù)不能用來(lái)創(chuàng)建隱式臨時(shí)對(duì)象!
否則一些寬松的規(guī)則將允許在沒(méi)有顯式類型轉(zhuǎn)換操作的情況下進(jìn)行類型轉(zhuǎn)換。
考慮下面的例子:
IntCell obj;
obj 
= 37;//should not compile:type mismatch

C
++擁有寬松的規(guī)則,通常,單參數(shù)構(gòu)造函數(shù)定義了一個(gè)隱式類型轉(zhuǎn)換,該轉(zhuǎn)換創(chuàng)建一個(gè)臨時(shí)對(duì)象,從而賦值(或函數(shù)參數(shù))變成兼容的。
在本例中,編譯器試圖將
obj 
= 37;
轉(zhuǎn)換為
IntCell tempobj 
= 37;
obj 
= tempobj;


// 15. 類成員函數(shù)的重載、覆蓋和隱藏區(qū)別?
a.成員函數(shù)被重載的特征:
1)相同的范圍(在同一個(gè)類中);
2)函數(shù)名字相同;
3)參數(shù)不同;
4virtual 關(guān)鍵字可有可無(wú)。
b.覆蓋是指派生類函數(shù)覆蓋基類函數(shù),特征是:
1)不同的范圍(分別位于派生類與基類);
2)函數(shù)名字相同;
3)參數(shù)相同;
4)基類函數(shù)必須有virtual 關(guān)鍵字。
c.“隱藏”是指派生類的函數(shù)屏蔽了與其同名的基類函數(shù),規(guī)則如下:
1)如果派生類的函數(shù)與基類的函數(shù)同名,但是參數(shù)不同。此時(shí),不論有無(wú)virtual關(guān)鍵字,基類的函數(shù)將被隱藏(注意別與重載混淆)。
2)如果派生類的函數(shù)與基類的函數(shù)同名,并且參數(shù)也相同,但是基類函數(shù)沒(méi)有virtual 關(guān)鍵字。此時(shí),基類的函數(shù)被隱藏(注意別與覆蓋混淆)

// 16. 如何打印出當(dāng)前源文件的文件名以及源文件的當(dāng)前行號(hào)?
cout << __FILE__ ;
cout
<<__LINE__ ;
__FILE__和__LINE__是系統(tǒng)預(yù)定義宏,這種宏并不是在某個(gè)文件中定義的,而是由編譯器定義的。

// 17. main 主函數(shù)執(zhí)行完畢后,是否可能會(huì)再執(zhí)行一段代碼,給出說(shuō)明?
答案:可以,可以用_onexit 注冊(cè)一個(gè)函數(shù),它會(huì)在main 之后執(zhí)行.

// 18. 如何判斷一段程序是由C 編譯程序還是由C++編譯程序編譯的?
#ifdef __cplusplus
    cout
<<"c++";
#else
    cout
<<"c";
#endif


class IntCell
{
public :
    
explicit IntCell(int val=0):m_val(val){}
private:
    
int m_val;
};


posted on 2013-03-18 15:02 天下 閱讀(646) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C/C++

<2012年8月>
2930311234
567891011
12131415161718
19202122232425
2627282930311
2345678

導(dǎo)航

統(tǒng)計(jì)

常用鏈接

留言簿(4)

隨筆分類(378)

隨筆檔案(329)

鏈接

最新隨筆

搜索

最新評(píng)論

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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在线观看h| 欧美第一黄网免费网站| 免费亚洲电影| 欧美国产国产综合| 欧美激情综合在线| 欧美日本中文字幕| 国产精品视频最多的网站| 国产精品久久精品日日| 国产精品美腿一区在线看 | 日韩系列欧美系列| 亚洲国产成人高清精品| 日韩亚洲欧美一区二区三区| 亚洲精品日本| 久久久久网址| 亚洲天堂网在线观看| 久久久精品性| 国产日韩在线视频| 日韩午夜在线电影| 玖玖国产精品视频| 99国产精品久久久久久久久久 | 国产精品视频在线观看| 在线看片一区| 久久久久久9999| 这里只有精品丝袜| 欧美日韩高清在线播放| 亚洲欧美视频| 欧美不卡高清| 亚洲精品三级| 欧美激情精品久久久久久变态| 亚洲私人影院| 国产免费亚洲高清| 久久岛国电影| 亚洲影视在线播放| 国产午夜精品一区二区三区视频 | 开心色5月久久精品| 国产欧美一区二区三区在线老狼 | 欧美日韩视频在线第一区| 亚洲电影下载| 亚洲精品国久久99热| 久久国产视频网| 亚洲国产精品久久91精品| 久久综合五月| 欧美日韩亚洲91| 久久久www成人免费无遮挡大片 | 欧美在线视频一区二区三区| 激情亚洲成人| 久久国产精品久久精品国产 | 99精品热6080yy久久| 欧美日韩中文字幕在线| 久久精品一区二区三区不卡| 久久精品免视看| 亚洲视频在线观看| 久久国产精品久久久久久久久久 | 欧美激情综合色综合啪啪| av成人免费观看| 欧美在线视频一区| 亚洲一区影音先锋| 欧美成在线视频| 欧美有码在线视频| 欧美精品一区三区| 欧美~级网站不卡| 国产欧美精品va在线观看| 亚洲高清中文字幕| 国产真实久久| 久久av一区二区三区亚洲| 在线中文字幕日韩| 欧美激情91| 欧美国产一区二区在线观看 | …久久精品99久久香蕉国产 | 亚洲欧美日韩在线不卡| 日韩图片一区| 欧美日韩三级在线| 日韩一区二区电影网| 亚洲精品乱码久久久久久蜜桃麻豆 | 国内精品久久久久久久影视蜜臀 | 欧美在线观看视频一区二区| 欧美a级大片| 免费在线观看日韩欧美| 在线精品观看| 欧美精品一区二区三区视频| 免费永久网站黄欧美| 日韩一区二区福利| 国产精品久久久久影院色老大 | 亚洲七七久久综合桃花剧情介绍| 亚洲精品国产无天堂网2021| 欧美精品激情blacked18| 在线一区免费观看| 老司机久久99久久精品播放免费 | 亚洲人成绝费网站色www| 欧美成人免费在线| 久久国产毛片| 亚洲香蕉成视频在线观看| 久久精品水蜜桃av综合天堂| 1769国内精品视频在线播放| 欧美伦理在线观看| 久久国产精品第一页| 亚洲性感美女99在线| 欧美激情精品久久久久久黑人| 亚洲资源av| 亚洲一级免费视频| 亚洲婷婷综合久久一本伊一区| 国产日韩一区| 国产亚洲aⅴaaaaaa毛片| 欧美人与禽猛交乱配| 蜜桃视频一区| 欧美精品久久99久久在免费线| 久久久99精品免费观看不卡| 亚洲一区日本| 欧美自拍偷拍午夜视频| 亚洲欧美久久久久一区二区三区| 在线播放亚洲一区| 国内精品美女av在线播放| 欧美午夜视频网站| 国产精品久久久久9999吃药| 欧美肥婆在线| 国产精品v欧美精品∨日韩| 先锋亚洲精品| 久久亚洲春色中文字幕| 免费日韩一区二区| 亚洲国产免费| 亚洲午夜精品| 久久国产手机看片| 欧美成人免费全部观看天天性色| 一区二区三区免费观看| 欧美一区二区三区久久精品| 久久久国产精品一区| 亚洲国产欧美国产综合一区| 亚洲人成久久| 久久精品亚洲精品| 欧美色综合网| 亚洲国产乱码最新视频| 亚洲一区国产视频| 亚洲第一综合天堂另类专| 一本色道久久综合亚洲二区三区| 久久99在线观看| 欧美午夜精品伦理| 宅男精品视频| 亚洲日韩中文字幕在线播放| 在线亚洲美日韩| 欧美精品成人| 91久久精品www人人做人人爽 | 激情久久综合| 久久精品91久久久久久再现| 亚洲高清资源| 噜噜噜噜噜久久久久久91| 国产原创一区二区| 久久网站热最新地址| 亚洲欧美日韩国产另类专区| 欧美视频网站| 亚洲欧美日韩电影| 亚洲欧美成人一区二区在线电影| 亚洲第一页自拍| 欧美国产欧美亚州国产日韩mv天天看完整| 欧美国产日韩视频| 亚洲夜间福利| 亚洲一区二区在线观看视频| 欧美调教视频| 久久国产精品网站| 久久乐国产精品| 狠狠干成人综合网| 亚洲国产精品ⅴa在线观看| 蜜桃av噜噜一区| 亚洲在线黄色| 久久精品av麻豆的观看方式| 国产一区二区在线观看免费播放 | 欧美一区二区三区四区夜夜大片| 一区二区三区精品| 激情伊人五月天久久综合| 欧美18av| 国产区二精品视| 欧美高清视频一区二区| 欧美日韩小视频| 欧美福利电影在线观看| 欧美日韩不卡在线| 麻豆成人综合网| 国产欧美一区二区精品忘忧草| 欧美激情bt| 激情文学一区| 性做久久久久久| 99在线精品视频| 久久这里只有精品视频首页| 性欧美video另类hd性玩具| 欧美成人精品在线视频| 久久亚洲二区| 好看的亚洲午夜视频在线| 亚洲欧美国产另类| 亚洲在线中文字幕| 国产精品草莓在线免费观看| 欧美激情一区二区三区不卡| 国产一区二区三区在线观看网站 | 伊人春色精品| 欧美亚洲在线| 久久夜色精品国产亚洲aⅴ | 欧美精品一区在线发布| 亚洲国产精品一区二区第一页| 国产一区二区三区在线观看免费| 午夜精品免费在线|