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