我正在编写一个套接字编程应用程序。 C++和Java作为两端。我的系统 使用Java,使用我系统的应用程序使用C++。指向一个变量的指针和指向一个元素的数组的指针
我收到一个来自C++的指针,它包含一些数据,它可能是一个变量或数组。 还有另一个变量nrOfData,它告诉指针包含多少个元素。 我必须相应地填充一个类型为String或String []的对象。 但我的问题是,nrOfData == 1,则有两个一个varaible或阵列(含数组一个元素) 我在这里给一个示例程序posibility(试图获得更多的类似的一个)
#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[]*/
}
我应该严格要求。 感谢您的帮助!
首先,停止使用'new'。那么,你确定你不能放弃混合数组和非数组的需求吗?这导致比您需要更多的麻烦。 –
也许只是使用'std :: vector's,并将引用传递给周围的人?向量可以包含零个或多个元素,并且您可以使用“std :: vector :: size”来获取元素的数量。 – m01
感谢您的回复。不,我不能放弃这项要求。上面的程序不是我正在使用的程序..我写了一个类似的程序。请忽略我使用new还是malloc。 – Srikanth