Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.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++ 为什么打印新int[]会给我一个c++;_C++_Memory_Int - Fatal编程技术网

C++ 为什么打印新int[]会给我一个c++;

C++ 为什么打印新int[]会给我一个c++;,c++,memory,int,C++,Memory,Int,我已经学会了使用括号[]将为您解引用指针。因此,当new int给出一个地址时,如果此代码不给您存储在该地址的值作为括号,则表示该内存空间中的内容: cout << new int[3]; cout因为newt[C]没有被解析为(new T[C]。相反,它被解析为new(T[C])。也就是说,它分配一个数组类型的对象。它返回该数组第一个元素的地址,就像非数组new表达式返回新对象的地址一样 我已经学会了使用括号[]将为您解除对指针的引用 P>与C++中的许多其他事物一样,代码>

我已经学会了使用括号[]将为您解引用指针。因此,当new int给出一个地址时,如果此代码不给您存储在该地址的值作为括号,则表示该内存空间中的内容:

cout << new int[3];

cout因为
newt[C]
没有被解析为
(new T[C]
。相反,它被解析为
new(T[C])
。也就是说,它分配一个数组类型的对象。它返回该数组第一个元素的地址,就像非数组new表达式返回新对象的地址一样


我已经学会了使用括号[]将为您解除对指针的引用

<> P>与C++中的许多其他事物一样,<>代码> []/Cord>在不同的上下文中有不同的含义。 在
newint[3]
的上下文中,它不会取消对指针的引用。它为3个
int
s的数组分配内存,并返回指向该内存的指针

线路

cout << new int[3];

你的学习来源是什么?如果您正在阅读有关
new
的内容,您可能需要继续阅读。有两种形式的
new
你应该知道。“我知道使用方括号[]将为你解引用指针”-不,这不对。方括号在不同的上下文中意味着不同的东西——C++是一种符号。在所有的情况下,相同的符号并不总是相同的。我已经阅读了初学者的书,谢谢,我不知道方括号在不同的上下文中有不同的含义几个月,忘记“新”和指针。如果你的初学者的书开始讨论它们,把它寄回去。好的,谢谢。我不知道它在不同的上下文中有不同的含义。
int* ptr = new int[3];
cout << ptr;
int* ptr = new int[3];
cout << ptr[0];
cout << (new int[3])[0];