搜狗筆試題和面試題答案

思而思學(xué)網(wǎng)

1、關(guān)于C++標(biāo)準(zhǔn)模板庫(kù),下列說(shuō)法錯(cuò)誤的有哪些:【多選】(AD)

A、std::auto_ptr類(lèi)型的對(duì)象,可以放到std::vector>容器中

B、std::shared_ptr類(lèi)型的對(duì)象,可以放到std::vector>容器中

C、對(duì)于復(fù)雜類(lèi)型T的對(duì)象tObj,++tObj和tObj++的執(zhí)行效率相比,前者更高

D、采用new操作符創(chuàng)建對(duì)象時(shí),如果沒(méi)有足夠內(nèi)存空間而導(dǎo)致創(chuàng)建失敗,則new操作符會(huì)返回NULL

A中auto是給別人東西而自己沒(méi)有了。所以不符合vector的要求。而B(niǎo)可以。C不解釋。new在失敗后拋出標(biāo)準(zhǔn)異常std::bad_alloc而不是返回NULL。

2、以下哪些做法是不正確或者應(yīng)該極力避免的:【多選】(AC)

A、構(gòu)造函數(shù)聲明為虛函數(shù)

B、派生關(guān)系中的基類(lèi)析構(gòu)函數(shù)聲明為虛函數(shù)

C、構(gòu)造函數(shù)調(diào)用虛函數(shù)

D、析構(gòu)函數(shù)調(diào)用虛函數(shù)

3、下面程序執(zhí)行結(jié)果為【說(shuō)明:X86_64環(huán)境】(D)

A、16000 1101 13002 2

B、4 2 3 60

C、16000 2 3 2

D、4 1101 13002 60

4、請(qǐng)問(wèn)程序的輸出結(jié)果是(30)

#define DOUBLE(x) x+x // x2

int i = DOUBLE(5)5;

cout<

5、 p1為指向一維數(shù)組的指針,所以a + 1指向{50,60,70,80}這一維的地址。減一則為4的地址;同理第二個(gè)輸出1101。同理,由于數(shù)組的列是4,所以(p2 - 1) + 16就相當(dāng)于(p2) + 12,所以第三個(gè)輸出13002。

第四個(gè)由于p1是指針,所以sizeof(p1)為8(68位的系統(tǒng)),所以第四個(gè)輸出60。

6、在32位操作系統(tǒng)gcc編譯器環(huán)境下,下面的程序的運(yùn)行結(jié)果是(A)

A、12 12

B、8 8

C、9 9

D、12 16

熱門(mén)推薦

最新文章