2

これを行うC#からC ++への同等物は何ですか:

int[n][num] card;
someFunction(card[0]);


someFunction(int[] card)
{
    ....
}

C++ でのベクトルの使用


また

このコードは C++ ですか?

std::vector< std::vector <int> > a(numA, vector<int>());

C# のこのコードと同等ですか?:

int[][] a = new int[numA][];

そうでない場合は、どのようにすべきか教えてください。ありがとう。

4

2 に答える 2

2

私はC#を知りませんが、これは正しいようです

std::vector< std::vector<int> > card;
someFunction(card[0]);


void someFunction(const std::vector<int>& card)
{
    ....
}

ベクター自体をコピーするオーバーヘッドを回避するために、参照&によってベクターを渡すことを示すために使用します。ベクトルを変更する場合は、 .someFunctionconst

他のコードも問題ないようです。

于 2013-09-21T07:54:17.787 に答える
1
vector<vector<int> > card(n, std::vector<int>(num));
someFunction(card[0]);

someFunction(vector<int> vec)
{
    ....
}

これ:

std::vector< std::vector <int> > a(numA, vector<int>());

よりシンプルに

std::vector< std::vector <int> > a(numA);

C++ のギザギザ配列は次と同等です。

int[][] a = new int[numA][];
于 2013-09-21T07:47:06.543 に答える