Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::vector<T,Allocator>::push_back

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

      [edit template]
       
       
       
      std::vector
      Member types
      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 push_back(const T& value);
      (1)(constexpr since C++20)
      void push_back( T&& value);
      (2)(since C++11)
      (constexpr since C++20)

      Appends a copy ofvalue to the end of the container.

      If after the operation the newsize() is greater than oldcapacity() a reallocation takes place, in which case all iterators (including theend() iterator) and all references to the elements are invalidated. Otherwise only theend() iterator is invalidated.

      Contents

      [edit]Parameters

      value - the value of the element to append

      Type requirements
      -
      If the following condition is met, the behavior is undefined:
      1)T is notCopyInsertable intovector.
      2)T is notMoveInsertable intovector.
      (since C++11)

      [edit]Complexity

      Amortized constant.

      [edit]Exceptions

      If an exception is thrown (which can be due toAllocator::allocate() or element copy/move constructor/assignment), this function has no effect (strong exception guarantee).

      If the move constructor ofT is notnoexcept andT is notCopyInsertable into*this,vector will use the throwing move constructor. If it throws, the guarantee is waived and the effects are unspecified.

      (since C++11)

      Notes

      Some implementations throwstd::length_error whenpush_back causes a reallocation that exceedsmax_size (due to an implicit call to an equivalent ofreserve(size() + 1)).

      [edit]Example

      Run this code
      #include <iomanip>#include <iostream>#include <string>#include <vector> int main(){std::vector<std::string> letters;     letters.push_back("abc");std::string s{"def"};    letters.push_back(std::move(s)); std::cout<<"std::vector letters holds: ";for(auto&& e: letters)std::cout<<std::quoted(e)<<' '; std::cout<<"\nMoved-from string s holds: "<<std::quoted(s)<<'\n';}

      Possible output:

      std::vector letters holds: "abc" "def"Moved-from string s holds: ""

      [edit]See also

      constructs an element in-place at the end
      (public member function)[edit]
      removes the last element
      (public member function)[edit]
      creates astd::back_insert_iterator of type inferred from the argument
      (function template)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/container/vector/push_back&oldid=98164"

      [8]ページ先頭

      ©2009-2025 Movatter.jp