我正在编写套接字编程应用程序。 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[]*/
}
我应该严格要求。 谢谢你的帮助!
答案 0 :(得分:-2)
您可以使用“sizeof()”运算符,它有助于确定指向数组的指针或指向变量的指针。当我们将数组名称传递给“sizeof()”时,它以字节为单位给出数组的总大小,而当我们传递一个普通指针时,它给出了地址长度。