Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么要打印内存地址而不是c+;中的数组值+;_C++_Arrays - Fatal编程技术网

C++ 为什么要打印内存地址而不是c+;中的数组值+;

C++ 为什么要打印内存地址而不是c+;中的数组值+;,c++,arrays,C++,Arrays,当我试图打印数组的值时,它的内存位置将被打印,而不是打印值。我做错了什么 int main() { int list[3]; for (int i=0; i<3; i++) { list[i] = i; std::cout<<list<<std::endl; } } intmain() { 国际清单[3]; for(int i=0;iC++在使用iostream库时不为数组提供重载。如果要

当我试图打印数组的值时,它的内存位置将被打印,而不是打印值。我做错了什么

int main()
{
    int list[3];
    for (int i=0; i<3; i++)
    {   
        list[i] = i;
        std::cout<<list<<std::endl;
    }   
}
intmain()
{
国际清单[3];

for(int i=0;iC++在使用iostream库时不为数组提供重载。如果要打印数组的值,需要编写函数或查找其他人编写的函数


在幕后发生的事情是
list
正在衰减为
int*
,这就是您看到的打印内容。

C++在使用iostream库时不会为数组提供重载。如果您想打印数组的值,您需要编写一个函数或查找其他人编写的函数


引擎盖下发生的是
列表
正在衰减为
int*
,这就是您看到的打印内容。

这看起来像是一个印刷错误:

std::cout << list

std::cout这看起来像是一个印刷错误:

std::cout << list

<代码> STD::CUT

不能像PU一样在Python中打印整个数组(列表、类等)(尽管也有办法),但是这里发生的是C++中的数组实际上是一个指向该类型的指针(在你的例子中是代码> int <代码>)通过打印<代码>列表>代码>实际上,您试图打印指针的内存地址,因此输出。< /P> < P>您不能像Python中的UO那样同时打印整个数组(列表、类等)(尽管也有办法),但是这里所发生的是C++中的数组实际上是指向类型的指针。(在您的情况下,

int
)通过打印<代码>列表>代码>实际上,你要打印指针的内存地址,因此输出你得到的。< /p> <代码>:ST::CUD>代码> STD::CUT C++中的数组只是一个数组。指针是C++中的一种不同类型。所有的内容都会越来越错误。这只是在C++ SIMP中请求一个-1数组。LY是一个数组。指针是C++中的一种不同类型。接下来的每一项都变得越来越错误。这实际上只是乞求一个-1。
std::cout << list << std::endl;
template <std::size_t N>
std::ostream& operator<<(std::ostream& out, int (&arr)[N]) {
    std::copy(std::begin(arr), std::end(arr), std::ostream_iterator<int>{out, ", "});
    return out;
}
int main() {
    int arr[] = {1, 2, 3, 4, 5};
    std::cout << arr << std::endl; // Ok, prints "1, 2, 3, 4, 5, ".
}