我正在审查C ++考试,发现在我的一种教程解决方案中说
string sa[10]; //all elements are empty strings
int ia[10]; //all elements are 0
int main()
{
string sa2[10]; //all elements are empty strings
int ia2[10]; //all elements are undefined
}
但是当我使用
在计算机上运行它时cout<<typeid(ia2[i])name()<<endl;
这里的类型是所有整数,这不是未定义的元素吗? 因此,我很好奇解决方案是否错误,或者是否有任何微妙的原因导致我无法打印正确的类型? 感谢您的任何帮助,谢谢!
已添加 这是我从教程解决方案中发现的: –如果int数组是在函数内部定义的,则每个数组的值 元素未定义。 –如果int数组是在任何函数外部定义的,则值 每个元素都是0。
答案 0 :(得分:4)
这是评论中的某种捷径,可能会引起误解;一个人可能会读到:
string sa[10]; //all elements are empty strings
int ia[10]; //all elements are int initialized to 0
int main()
{
string sa2[10]; //all elements are empty strings
int ia2[10]; //all elements are int with undefined values
}