Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::list<T,Allocator>::resize

      From cppreference.com
      <cpp‎ |container‎ |list

      [edit template]
       
       
       
      std::list
      Member functions
      Non-member functions
      (until C++20)(until C++20)(until C++20)(until C++20)(until C++20)
      Deduction guides(C++17)
       
      void resize( size_type count);
      (1)(constexpr since C++26)
      void resize( size_type count,const value_type& value);
      (2)(constexpr since C++26)

      Resizes the container to containcount elements:

      • Ifcount is equal to the current size, does nothing.
      • If the current size is greater thancount, the container is reduced to its firstcount elements.
      • If the current size is less thancount, then:
      1) Additionalcopies ofT()(until C++11)default-inserted elements(since C++11) are appended.
      2) Additional copies ofvalue are appended.

      Contents

      [edit]Parameters

      count - new size of the container
      value - the value to initialize the new elements with
      Type requirements
      -

      If the following condition is satisfied, the behavior is undefined:

      1)T is notDefaultInsertable intolist.
      2)T is notCopyInsertable intolist.
      (since C++11)

      [edit]Complexity

      Linear in the difference between the current size andcount.

      Notes

      If value-initialization in overload(1) is undesirable, for example, if the elements are of non-class type and zeroing out is not needed, it can be avoided by providing acustomAllocator::construct.

      [edit]Example

      Run this code
      #include <list>#include <iostream> void print(auto rem,conststd::list<int>& c){for(std::cout<< rem;constint el: c)std::cout<< el<<' ';std::cout<<'\n';} int main(){std::list<int> c={1,2,3};    print("The list holds: ", c);     c.resize(5);    print("After resize up to 5: ", c);     c.resize(2);    print("After resize down to 2: ", c);     c.resize(6,4);    print("After resize up to 6 (initializer = 4): ", c);}

      Output:

      The list holds: 1 2 3After resize up to 5: 1 2 3 0 0After resize down to 2: 1 2After resize up to 6 (initializer = 4): 1 2 4 4 4 4

      Defect reports

      The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

      DRApplied toBehavior as publishedCorrect behavior
      LWG 132C++98random-access iterators were used to determine the erase rangeuse bidirectional iterators
      LWG 679C++98resize() passedvalue by valuepasses by const reference
      LWG 1420C++98the behavior ofresize(size()) was not specifiedspecified

      [edit]See also

      returns the maximum possible number of elements
      (public member function)[edit]
      returns the number of elements
      (public member function)[edit]
      checks whether the container is empty
      (public member function)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/container/list/resize&oldid=143147"

      [8]ページ先頭

      ©2009-2025 Movatter.jp