C++のvector初期化指定サイズ容量

1016 ワード

1.次元
vector obj(size);
 
vector obj;
obj.resize(size);

2.2 D
 vector > obj(rsize, vector(lsize, 0));
 
vector> obj;
obj.resize(rsize);

for(int i = 0; i < rsize; i++)
    obj[i].resize(lsize);

.vectorobj(size)が呼び出されると、コンストラクション関数が呼び出されます.
    
explicit vector(_CRT_GUARDOVERFLOW const size_type _Count, const _Alloc& _Al = _Alloc())
        : _Mypair(_One_then_variadic_args_t(), _Al) { // construct from _Count * _Ty(), optional allocator
        _Construct_n_copies_of_ty(_Count, _Value_init_tag{});
    }

.vectorobj(size,0)が呼び出されると、コンストラクション関数が呼び出されます.
    vector(_CRT_GUARDOVERFLOW const size_type _Count, const _Ty& _Val, const _Alloc& _Al = _Alloc())
        : _Mypair(_One_then_variadic_args_t(), _Al) { // construct from _Count * _Val, optional allocator
        _Construct_n_copies_of_ty(_Count, _Val);