指向变量的指针和指向一个元素数组的指针

时间:2013-07-30 10:17:21

标签: c++ pointers

我正在编写套接字编程应用程序。 C ++和Java作为两端。我的系统 在Java中,使用我的系统的应用程序使用C ++。

我收到一个来自C ++的指针,它包含一些数据,它可以是变量或数组。 还有另一个变量nrOfData,它告诉指针包含多少个元素。 我必须相应地填充String或String []类型的Object。 但我的问题是,nrOfData == 1那么可变性或数组(包含一个元素的数组)的可能性 我在这里给出了一个示例程序(试图获得更多相似的程序)

#include<iostream>
using namespace std;


void func(string **strPtr)
{
  if(someCondition)
  {
     *strPtr = new string;
  }
  else
  {
     *strPtr = new string[1];
  }
}

int main()
{
   string *strPtr;
   func(&strPtr);
   /* I have to fill a variable and send to next level 
   strPtr contains one element in both cases. How could i determine whether
   I need to fill String or String[]*/
}

我应该严格要求。 谢谢你的帮助!

1 个答案:

答案 0 :(得分:-2)

您可以使用“sizeof()”运算符,它有助于确定指向数组的指针或指向变量的指针。当我们将数组名称传递给“sizeof()”时,它以字节为单位给出数组的总大小,而当我们传递一个普通指针时,它给出了地址长度。