gpt4 book ai didi

java - C++中的数组赋值

转载 作者:搜寻专家 更新时间:2023-10-31 01:06:23 24 4
gpt4 key购买 nike

在c++中数组的标识符是一个指针,在java中数组的标识符是一个引用变量(实际上是一个指针)。

假设有一个数组ab。为什么在 java 中允许此操作:

a = b; //the reference that 'b' holds will be copied to 'a' so both a and b point to the same array

但在 C++ 中,相同的操作将被视为无效赋值。

如果ab在c++中都是指针,为什么b持有的地址不会被复制到a

最佳答案

数组并不是真正的指针,它们只是退化为指针(指向它们包含的第一个元素。)它们实际上是数据 block 。不能在 C++ 中更改数组的位置,因为内存中没有存储指针的位置;它只是结构或堆栈帧中的偏移量。

关于java - C++中的数组赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20879108/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com