获取c++中指向数组的指针的副本
Get a copy of the pointer to an array in c++
你好,我正在学习c++入门,有一个简单的问题。请帮帮我。
所以我知道"int *p = (*q)[10]",其中p是指向数组10的指针。问题是,在函数定义中:"void print(int (*q)[10])",其中这个指针是一个参数。我怎么能得到那个指针的副本。会是"int *p = q"吗?
我不知道如何在c++中测试我的正确性。
谢谢
int (*q)[10]
声明q
为指向包含10个int
的数组的指针。只有数组衰减为指向其底层类型的指针,但是指向数组的指针不会衰减为指向底层类型的指针,因此尝试int* p = q;
将导致编译错误。你需要的是
int (*p)[10] = q; // copies the pointer q to p
相关文章:
- 将相同共享指针的副本存储在不同的向量中是否是一种好的做法?
- 指向基类的指针的 std::vector 的深层副本
- 如何让指针的深层副本将内部结构发送到内核?
- 带有随机指针的链表的深层副本
- 属于副本被推送到矢量的对象的指针会发生什么情况?
- 当我修改、更改和“删除”原始指针时,是否需要指针副本
- 我们如何在 C 中制作函数指针的深层副本
- 我如何创建一个双重指针的深层副本,涉及其他类(C )
- 在C++中制作此指针的本地副本
- 复制指针,在不更改原始指针的情况下更改副本指向的内容?
- 取消引用指针以创建数组的副本
- 移动语义是否只是一个浅层副本并将其他人的指针设置为 null?
- 如何使智能指针指向对象的副本
- 如果给出了该课程的指针,则深入应对以制作课程的副本
- C 指针深副本
- 对象或常量指针的副本
- C++:创建指针的副本
- 矢量和指针队列数据交换:深层和浅层副本
- 结构中的 CUDA 设备功能指针,没有静态指针或符号副本
- 指针副本的虚方法不工作