pArray与pArray [0]

时间:2015-01-04 19:06:19

标签: c++ arrays pointers

我有

class Variable 
{ 
public:     
    double lb;  
}

class Variables 
{ 
public:      
    int numberOfVariables;
    Variable **var;
}

现在

cout << var[0]->lb; 

给了我预期的行为,但是

cout << var->s;

不起作用。事实上,它给了我编译错误:&#34;请求成员&#39; ..&#39; in&#39; ..&#39;这是非类型的#34;。我认为var和var [0]可以互换使用,我的调试器确实让我这样做。发生了什么事?

我有一种情况,我需要一个多态对象,可以采用单个var元素或var数组。实现它的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

在C ++中,var[i]相当于*(var + i)。因此varvar[0]不同。 *varvar[0]相同。 var只是指向数组开头的指针,您必须取消引用指针。查找指针。

关于第二个问题,请查看std::vector。它动态地改变大小并为您处理所有低级别的内存管理操作。