1

クラス内に次のような配列があります。

private:
    static const int MAX_EQUIPS=100;
    equip a_t[MAX_EQUIPS];
    int a_n;

次に、主に MAX_EQUIPS のサイズを教えてくれますが、変更するにはどうすればよいですか? それは X から始まりますが、新しいバロールが入力されると増加または減少します。

4

3 に答える 3

1

C++ では許可されていない可変長配列を参照しているようです。多くの可能な代替手段が存在します。たとえば、ベクトルを使用できます

于 2013-03-16T12:23:50.207 に答える
1

C++ ソリューションは次のようになります。

class MyClass
{
public:
  MyClass( size_t n ) :
    a_t( n )
  {
  }

private:
  std::vector< int > a_t;
};
于 2013-03-16T12:25:20.450 に答える
1

これ自体のほとんどをラップするため、これには std::vector を使用することをお勧めします。

private:
    std::vector<int> a_t;

次に、サイズが与えられたら: a_t.resize(MAX_EQUIPS);

a_n は a_t.size() になります。

ただし、本当に自分でやりたい場合は、割り当てを行う必要があります (ctor/dtor セマンティクスに関連付ける必要があります)。

于 2013-03-16T12:26:21.107 に答える