总结
不能将数组内容拷贝给其他数组作为其初始值,也不能用数组为其他数组赋值。
const char a4[6] = "Daniel" //错误,没有空间可存放空字符
看起来只有6个字符,但数组的大小必须至少是7
练习3.27
unsigned buf_size = 1024;
(a) int ia[buf_size]; //非法,buf_size不是常量
(b)int ia[4*7-14]; // 合法
(c) int ia[txt_size()]; // 非法,txt_size()不是常量
(c)char st[11] = "fundamental";//非法,没有多余的空间存放空格
练习3.28
string sa[10];
int ia[10];
int main()
{
string sa2[10];
int ia2[10];
}
std::string不是内置类型,所以sa和sa2将设为空,ia和ia2是内置类型,ia在函数体外所以为0,ia2在函数体内所以未定义。