Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/157.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++ 如何使它显示数组的实际值,而不是指针值(实际上不知道“8589934604”是什么意思)_C++_Arrays - Fatal编程技术网

C++ 如何使它显示数组的实际值,而不是指针值(实际上不知道“8589934604”是什么意思)

C++ 如何使它显示数组的实际值,而不是指针值(实际上不知道“8589934604”是什么意思),c++,arrays,C++,Arrays,//我真的无法找出这段代码中的错误,也无法得到零的初始数组值 #包括 int*create() { int-arr[5]={0,0,0,0}; 返回arr; } 无效显示(int arr[] { 对于(int j=0;j

//我真的无法找出这段代码中的错误,也无法得到零的初始数组值

#包括
int*create()
{
int-arr[5]={0,0,0,0};
返回arr;
}
无效显示(int arr[]
{
对于(int j=0;j<5;j++)
{

std::cout您的代码无法为我运行。我收到了警告“返回了局部变量'arr'的地址”。当您使用这样的数组引用时,您应该使用动态数组来避免这些类型的错误。我相应地更改了arr,它可以正常工作

int* create()
{
    int * arr = new int[5] {0,0,0,0,0};
    return arr;
}

但是,现在不再使用arr时,arr将不会被破坏。如果反复调用此创建函数,则应创建自己的具有适当析构函数的容器,或使用标准库(std::vector、std::array)提供的现代容器之一.

groovy数字转换为十六进制为FFFFFFF DFFFFF4。您能识别它吗?
arr
是函数的本地值,返回它是一个坏主意,它的生存期在函数返回后立即结束。另一种方法是在
create
中将数组声明为
static
。关键字
static
将确保在执行函数后,光线不会消失。AAAAA:然后内存泄漏……在现代C++中不要使用原始指针。在这种情况下,可以使用(并且返回)STD:::数组或STD::VoTrice,你会推荐什么?@ JHBONALUS完全同意,只是想回答而不改变原来的太多。
int* create()
{
    int * arr = new int[5] {0,0,0,0,0};
    return arr;
}