指向整个数组的C ++指针[重复]

Posted

技术标签:

【中文标题】指向整个数组的C ++指针[重复]【英文标题】:C++ Pointer towards whole array [duplicate] 【发布时间】:2015-04-09 11:45:44 【问题描述】:

我在我的头文件中声明了一个指针,我正在我的构造函数中初始化以指向数组。但是我似乎无法让它指向整个数组,而是我只看到调试器中的第一个值。有没有办法让它显示所有内容,或者我必须盲目地访问它。

我正在使用 Visual Studio 2013

.h

class myClass
    public:
        myClass();
        ~MyClass();
    private:
        double* categories;

;

.cpp

double array[5] = 0,1,2,3,4;

categories = new double[5]
categories = array;

让我感到困惑的是,当我在 .cpp 中完成所有操作时,我可以看到一切正常:/

double g[2] =  9, 8 ;
double(*j)[2] = &g;

【问题讨论】:

“当我在 .cpp 中完成所有操作时” - 你设法选择了一个完全不相关的差异。 您的问题似乎是关于如何使用 Visual Studio 调试器的问题。指针,只是一个内存地址,只能指向数组的开头。 @KarolyHorvath 这是我第一次在 C++ 中做任何事情,因为我们不能从一开始就知道一切,所以我看不出有什么理由对我缺乏指针知识感到粗鲁。因为当我在另一块代码上使用调试器时,它显示 [0,1,2,3,4] @JohanHolmberg:这只是一个观察。如果你认为这是粗鲁,那是你的问题。 @KarolyHorvath 我想大多数人会不同意,但没必要争论 :) 【参考方案1】:

指针和数组一样,没有大小信息。

所以它指向数组的第一个值是正常的。您的问题的答案可以在这里找到:How to display a dynamically allocated array in the Visual Studio debugger?

【讨论】:

感谢您提供的链接和信息丰富的答案:)

以上是关于指向整个数组的C ++指针[重复]的主要内容,如果未能解决你的问题,请参考以下文章

C - 计数元素(绑定检查) - 数组 [重复]

如何在不知道c中大小的情况下遍历数组[重复]

IDE/编译器数组处理的差异[重复]

指向指针数组和指针数组的指针之间的区别[重复]

C ++从基础到派生的无效转换[重复]

查找指针指向的数组的大小[重复]