我正在編寫一個套接字編程應用程序。 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