私はソケットプログラミングアプリケーションを書いています。C++ と Java は両端です。私のシステムは Java であり、私のシステムを使用するアプリケーションは C++ を使用しています。
いくつかのデータを保持する C++ からポインターを受け取りました。それは変数または配列である可能性があります。ポインターに含まれる要素の数を示す別の変数 nrOfData があります。それに応じて、タイプ String または String[] のオブジェクトを埋める必要があります。 しかし、私の問題は、 nrOfData==1 であり、変数または配列(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[]*/
}
私は要件に厳密であるべきです。ご協力いただきありがとうございます !