Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/155.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++;使用ptr作为阵列基础 有效C++的第42页,指针使用数组名ALL_C++_Arrays_Pointers - Fatal编程技术网

c++;使用ptr作为阵列基础 有效C++的第42页,指针使用数组名ALL

c++;使用ptr作为阵列基础 有效C++的第42页,指针使用数组名ALL,c++,arrays,pointers,C++,Arrays,Pointers,飞机*newBlock= 新块[i].next=0 我不知道这是合法的。这是C++标准的一部分吗?这是常见做法吗?是的,指针可用于动态分配对象数组 从这个和其他问题看来,你是一个C++的新手。因此,从“有效的C++”开始并不是最好的主意。虽然这是一本很棒的书,但对于已经熟悉该语言的人来说,它是最有用的。你应该从一本介绍性的书或教程开始,通读一遍,编写一些代码,然后再转到“有效的C++” 在关于我们使用的数组的章节中 括号([])按顺序重复几次 指定元素的索引的步骤 我们要引用的数组。 嗯,这些括

飞机*newBlock=

新块[i].next=0


我不知道这是合法的。这是C++标准的一部分吗?这是常见做法吗?

是的,指针可用于动态分配对象数组

从这个和其他问题看来,你是一个C++的新手。因此,从“有效的C++”开始并不是最好的主意。虽然这是一本很棒的书,但对于已经熟悉该语言的人来说,它是最有用的。你应该从一本介绍性的书或教程开始,通读一遍,编写一些代码,然后再转到“有效的C++”

在关于我们使用的数组的章节中 括号([])按顺序重复几次 指定元素的索引的步骤 我们要引用的数组。 嗯,这些括号符号运算符[] 也是已知的解引用运算符 作为偏移运算符。他们取消了引用 它们遵循的变量与* 是的,但他们也加上了数字 括号中的地址是 取消引用。例如:

这两个表达式是等价的 如果a是指针或 a是一个数组


我会重复我对类似问题的回答:

这确实令人困惑。重要的 要理解和区分的东西是 该字符名[]声明数组和 char*name声明指针。两个 它们是不同的动物

但是,C中的数组可以隐式 转换为指向其第一个 元素。这使您能够 执行指针算术并迭代 通过数组元素(它没有 什么类型的物质元素,char或 不)。如@所述,您可以使用 索引运算符或指针 访问数组元素的算法。 实际上,索引操作符只是一个 语法糖(另一种) 同一表达式的表示) 用于指针运算

< C++标准中规定了非常相同的规则。< /P>
另外,看看

@Mike:没有必要在你所有问题的主题中粘贴这本书的全名。如果你要问很多这样的问题,你在这里的声誉会迅速下降。这些基本问题最好通过阅读一本好的入门书(有效C++不是入门)来解决C++——你使用的是一个坏的问题,而不是我们的问题。”尼尔:然而,有人正在对这些问题进行投票,所以他实际上赢得了名声……这里可以找到一个好的书目:我要试试另一本参考书,看看它对我有什么帮助。
a[5] = 0;       // a [offset of 5] = 0
*(a+5) = 0;     // pointed by (a+5) = 0