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

FreeBSD Manual Pages

  
 
  

home | help
std::deque::resize(3)	      C++ Standard Libary	 std::deque::resize(3)

NAME
       std::deque::resize - std::deque::resize

Synopsis
	  void	resize(	 size_type  count  );			    (1)	(since
       C++11)
	  void	 resize(   size_type	count,	  T    value	=    T()    );
       (until C++11)
	  void	 resize(   size_type   count,	const	value_type&	   (2)
       (since C++11)
	  value	);

	  Resizes the container	to contain count elements.

	  If the current size is greater than count, the container is  reduced
       to its first
	  count	elements.

	  If the current size is less than count,

	  1) additional	default-inserted elements are appended
	  2) additional	copies of value	are appended.

Parameters
	  count		   -	       new size	of the container
	  value		    -		 the  value to initialize the new ele-
       ments with

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

Return value
	  (none)

Complexity
	  Linear in the	difference between the current size and	count.

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
	  a custom Allocator::construct.

Example
       // Run this code

	#include <iostream>
	#include <deque>
	int main()
	{
	    std::deque<int> c =	{1, 2, 3};
	    std::cout << "The deque holds: ";
	    for(const auto& el:	c) std::cout <<	el << '	';
	    std::cout << '\n';
	    c.resize(5);
	    std::cout << "After	resize up to 5:	";
	    for(const auto& el:	c) std::cout <<	el << '	';
	    std::cout << '\n';
	    c.resize(2);
	    std::cout << "After	resize down to 2: ";
	    for(const auto& el:	c) std::cout <<	el << '	';
	    std::cout << '\n';
	    c.resize(6,	4);
	    std::cout << "After	resize up to 6 (initializer = 4): ";
	    for(const auto& el:	c) std::cout <<	el << '	';
	    std::cout << '\n';
	}

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

See also
	  size	 returns the number of elements
		 (public member	function)
	  insert inserts elements
		 (public member	function)
	  erase	 erases	elements
		 (public member	function)

http://cppreference.com		  2022.07.31		 std::deque::resize(3)

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

home | help