Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::vector::push_back(3)     C++ Standard Libary    std::vector::push_back(3)

NAME
       std::vector::push_back -	std::vector::push_back

Synopsis
	  void push_back( const	T& value );		      (until C++20)
	  constexpr void push_back( const T& value );	      (since C++20)
	  void	    push_back(	   T&&	   value     );			   (1)
       (since C++11)
							  (2)
       (until C++20)
	  constexpr	  void	     push_back(	      T&&	value	    );
       (since C++20)

	  Appends the given element value to the end of	the container.

	  1) The new element is	initialized as a copy of value.
	  2) value is moved into the new element.

	  If  the new size() is	greater	than capacity()	then all iterators and
       references
	  (including the past-the-end  iterator)  are  invalidated.  Otherwise
       only the
	  past-the-end iterator	is invalidated.

Parameters
	  value		    -		 the value of the element to append

Type requirements
	  -
	  T must meet the requirements of CopyInsertable in order to use over-
       load (1).
	  -
	  T must meet the requirements of MoveInsertable in order to use over-
       load (2).

Return value
	  (none)

Complexity
	  Amortized constant.

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

	  If T's move constructor is not noexcept and T	is not CopyInsertable
	  into *this, vector will use the throwing  move  constructor.	If  it
       (since C++11)
	  throws, the guarantee	is waived and the effects are unspecified.

Notes
	  Calling  push_back  will  cause reallocation (when size()+1 >	capac-
       ity()), so some
	  implementations also throw std::length_error when push_back causes a
       reallocation
	  that would exceed max_size (due to implicitly	calling	an  equivalent
       of
	  reserve(size()+1)).

Example
       // Run this code

	#include <vector>
	#include <iostream>
	#include <iomanip>
	#include <string>

	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: ""

See also
	  emplace_back	constructs an element in-place at the end
	  (C++11)	(public	member function)
	  pop_back	removes	the last element
			(public	member function)
	  back_inserter	creates	a std::back_insert_iterator of	type  inferred
       from the	argument
			(function template)

http://cppreference.com		  2022.07.31	     std::vector::push_back(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::vector::push_back&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help