C++Primer第五版 3.5.1节练习

练习 3.27: 假设txt_size是一个无参数的函数,它的返回值是int。请回答下列哪个定义是非法的?为什么?

Unsigned buf_size = 1024;
(a) int ia[buf_size];
(b) int ia[4*7-14];
(c) int a[txt_size()];
(d) char st[11] = “fundamental”.


c 非法,txt_size()只有在编译的时候才能确定其值,当txt_size是constexpr时正确,否则错误。
d 非法 没有空间存放空字符。 应定义为 char st[12] = “fundamental” .

练习 3.28:下列数组中元素的值是什么?

string sa[10];
int ia[10];
int main(){
string sa2[10];
int  ia2[10];
}

答:sa空串
Ia 全0
Sa2 空串
Ia2 全0

练习3.29:相对于vector来说,数组有哪些缺点,请列举一些。
答:与vector不同的地方是,数组的大小确定不变,不能随意向数组中增加元素。因为数组的大小固定,因此对某些特殊的应用来说,程序的运行时性能较好,但是相应地也损失了一些灵活性。

你可能感兴趣的:(C++Primer学习)