3.27:假設txt_size是一個無引數的函式,它的回傳值是int,請回答下列哪個定義是非法的?為什么?
unsigned buf_size=1024;
(a)int ia[buf_size]; (b)int ia[4*7-14];
(c)int ia[txt_size()]; (d)char st[11]=" fundamental ";
a)非法定義,buf_size不是常量運算式,
b)合法,
c)非法定義,txt_size沒有被定義為constexpr,
d)非法定義,沒有空間可以存放結尾空字符,
3.28:下列陣列中元素的值是什么?
string sa[10];
//大小為10的string型別的陣列,其中元素的值均被初始化為空串
int ia[10];
//大小為10的int型別的陣列,其中元素的值均被初始化為0
int main()
{
string sa2[10];
//大小為10的string型別的陣列,其中元素的值被初始化為空串,string類本身接受
//無引數的初始化,所以函式體內外都被初始化為空串
int ia2[10];
//大小為10的int型別的陣列,非法操作,其值是未定義的值,
//其中元素的值如果被拷貝或者直接用來輸出,都將會是未定義的操作,
}
3.29:相比于vector來說,陣列有哪些缺點,請列舉一些,
1)陣列的大小是固定的,不能動態地增長,
2)由于陣列的大小固定,所以容易造成記憶體的浪費,
3)獲取陣列大小時不方便,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/253994.html
標籤:其他
上一篇:劍指offer05:替換空格
