で選択してください::私は以下のような問題を持っているC++での実行時の配列やベクトル
class datad {
private:
int *a;
int _size;
vector<int> v;
public:
datad(int arr[], int size) {
_size = size;
for (int i = 0; i < size; i++)
a[i] = arr[i];
}
datad(vector<int> ve)
{
v = ve;
_size = ve.size();
}
void printdata()
{
// print data which the object has been initialized with
// if object is initialized with vector then print vector
// array print array
}
};
int main()
{
// print only vector data
int a[] = { 9,4,8,3,1,6,5 };
datad d(v1);
d.printdata();
// print only array data
datad d1(a, 7);
d1.printdata();
}
私は、オブジェクトを初期化し、同じに基づいている方法はaccrodingly印刷データすることができるはず見つける必要があります。 誰かが私にそれが可能であるかどうかを理解するのを助けることができますか?
'ベクトル'は 'T *'とバイナリ互換性のあるポインタを返すことができます。 –
StoryTeller
あなたはあなたの答えを持っていますが、私はまだ本当に知りたがっています...なぜ両方をするのですか? – StoryTeller
私は理解できます。これは私が使用しているコードの一部ではありません。これは私が探しているものの一例です。 –