-1

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

我从 C++ 收到一个包含一些数据的指针,它可以是变量或数组。还有另一个变量 nrOfData 告诉指针包含多少个元素。我必须相应地填充 String 或 String[] 类型的对象。 但我的问题是,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[]*/
}

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

4

1 回答 1

-2

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

于 2013-07-30T10:49:50.017 回答