C++ 字符数组地址和整数数组地址

C++ 字符数组地址和整数数组地址,c++,C++,我对这个问题很好奇 int p[] = {1,2,3}; cout << p; intp[]={1,2,3}; cout第一个将使用std::basic_ostream::operator第一个将使用std::basic_ostream::operator,这可能是因为std::cout对每个操作符都是重载的。对于前者,它可能是数组的一般重载,只输出数组的地址。对于第二个示例,它可能是专门化的,因为它是一种类似字符串的数据类型。第二个示例是未定义的行为,因为很可能是因为std::c

我对这个问题很好奇

int p[] = {1,2,3};
cout << p;
intp[]={1,2,3};

cout第一个将使用
std::basic_ostream::operator第一个将使用
std::basic_ostream::operator,这可能是因为
std::cout
对每个操作符都是重载的。对于前者,它可能是数组的一般重载,只输出数组的地址。对于第二个示例,它可能是专门化的,因为它是一种类似字符串的数据类型。第二个示例是未定义的行为,因为
很可能是因为
std::cout
是如何为每个类型重载的。对于前者,它可能是数组的一般重载,只输出数组的地址。对于第二个,它可能是专门化的,因为它是一个类似字符串的数据类型
char p[] = {'a','b'};
cout << p;