私はクラスのリンゴを持っています
class apples
{
private:
double x;
double y;
double z;
public:
//some methods
};
りんごオブジェクトへのポインターをベクターに格納したいと思います。私はこれを行っているので、任意のファイルで任意のオブジェクトを作成し、任意のファイルで任意のオブジェクトを使用します。次のコードを使用して、そのベクターに格納できるポインターの最大数を決定しました
int _tmain(int argc, _TCHAR* argv[])
{
vector<apples *> myvector;
cout<<"max :"<<myvector.max_size();
return 0;
}
それは私に与えました:
1073741823
さて、私の質問は、そのベクターに1073741823個のポインターを実際に保存できるか、それともベクターのメモリ制限(つまり、1073741823バイト)ですか?
2つのベクトルがある場合
vector<int> A
&
vector<double> B
A に 1073741823 要素を持たせ、B にも 1073741823 要素を持たせることはできますか? ベクトルが格納できる要素の最大数は、格納されるエンティティのタイプ (int または double) に依存しないことを明確にするために、これを求めて いますか? (これはベクトルの現在の容量とは何の関係もありません!) また、りんごオブジェクトへのポインタのサイズは? (りんごオブジェクトのサイズを尋ねるのではありません!) ありがとうございました。