constructs objects by [ value-initialization ](/w/cpp/language/value_initialization "cpp/language/value initialization") in an uninitialized area of memory, defined by a range   
(niebloid)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/memory/ranges/dsc_uninitialized_value_construct&action=edit)  
[ uninitialized_value_construct_n  ](/w/cpp/memory/uninitialized_value_construct_n "cpp/memory/uninitialized value construct n") (C++17)  |  constructs objects by [ value-initialization ](/w/cpp/language/value_initialization "cpp/language/value initialization") in an uninitialized area of memory, defined by a start and a count   
(function template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/memory/dsc_uninitialized_value_construct_n&action=edit)  
[ ranges::uninitialized_value_construct_n  ](/w/cpp/memory/ranges/uninitialized_value_construct_n "cpp/memory/ranges/uninitialized value construct n") (C++20)  |  constructs objects by [ value-initialization ](/w/cpp/language/value_initialization "cpp/language/value initialization") in an uninitialized area of memory, defined by a start and a count   
(niebloid)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/memory/ranges/dsc_uninitialized_value_construct_n&action=edit)  
[ destroy  ](/w/cpp/memory/destroy "cpp/memory/destroy") (C++17)  |  destroys a range of objects   
(function template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/memory/dsc_destroy&action=edit)  
[ ranges::destroy  ](/w/cpp/memory/ranges/destroy "cpp/memory/ranges/destroy") (C++20)  |  destroys a range of objects   
(niebloid)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/memory/ranges/dsc_destroy&action=edit)  
[ destroy_n  ](/w/cpp/memory/destroy_n "cpp/memory/destroy n") (C++17)  |  destroys a number of objects in a range   
(function template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/memory/dsc_destroy_n&action=edit)  
[ ranges::destroy_n  ](/w/cpp/memory/ranges/destroy_n "cpp/memory/ranges/destroy n") (C++20)  |  destroys a number of objects in a range   
(niebloid)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/memory/ranges/dsc_destroy_n&action=edit)  
[ destroy_at  ](/w/cpp/memory/destroy_at "cpp/memory/destroy at") (C++17)  |  destroys an object at a given address   
(function template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/memory/dsc_destroy_at&action=edit)  
[ ranges::destroy_at  ](/w/cpp/memory/ranges/destroy_at "cpp/memory/ranges/destroy at") (C++20)  |  destroys an object at a given address   
(niebloid)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/memory/ranges/dsc_destroy_at&action=edit)  
[ construct_at  ](/w/cpp/memory/construct_at "cpp/memory/construct at") (C++20)  |  creates an object at a given address   
(function template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/memory/dsc_construct_at&action=edit)  
[ ranges::construct_at  ](/w/cpp/memory/ranges/construct_at "cpp/memory/ranges/construct at") (C++20)  |  creates an object at a given address   
(niebloid)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/memory/ranges/dsc_construct_at&action=edit)  
  
###  [ [ edit ](/mwiki/index.php?title=cpp/algorithm&action=edit&section=28
"Edit section: Random number generation") ]  Random number generation

Defined in header ` [ <random> ](/w/cpp/header/random "cpp/header/random") `  
---  
[ ranges::generate_random  ](/w/cpp/algorithm/ranges/generate_random "cpp/algorithm/ranges/generate random") (C++26)  |  fills a range with random numbers from a uniform random bit generator   
(niebloid)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/algorithm/ranges/dsc_generate_random&action=edit)  
  
###  [ [ edit ](/mwiki/index.php?title=cpp/algorithm&actio