GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::basic_string::resize(3) C++ Standard Libary std::basic_string::resize(3)

std::basic_string::resize - std::basic_string::resize


void resize( size_type count ); (until C++20)
constexpr void resize( size_type count ); (since C++20)
void resize( size_type count, CharT ch ); (1) (until C++20)
constexpr void resize( size_type count, CharT ch (2) (since C++20)
);


Resizes the string to contain count characters.


If the current size is less than count, additional characters are appended:


1) Initializes appended characters to CharT() ('\0' if CharT is char).
2) Initializes appended characters to ch.


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


count - new size of the string
ch - character to initialize the new characters with


(none)


std::length_error if count > max_size(). Any exceptions thrown by corresponding
Allocator.


If an exception is thrown for any reason, this function has no effect (strong
exception guarantee).
(since C++11)

// Run this code


#include <iostream>
#include <iomanip>
#include <stdexcept>


int main()
{
const unsigned desired_length{ 8 };
std::string long_string( "Where is the end?" );
std::string short_string( "H" );


std::cout << "Basic functionality:\n"
<< "Shorten:\n"
<< "1. Before: " << quoted( long_string ) << '\n';
long_string.resize( desired_length );
std::cout << "2. After: " << quoted( long_string ) << '\n';


std::cout << "Lengthen with a given value 'a':\n"
<< "3. Before: " << quoted( short_string ) << '\n';
short_string.resize( desired_length, 'a' );
std::cout << "4. After: " << quoted( short_string ) << '\n';


std::cout << "Lengthen with char() == " << static_cast<int>(char()) << '\n'
<< "5. Before: " << quoted( short_string ) << '\n';
short_string.resize( desired_length + 3 );
std::cout << "6. After: \"";
for (char c : short_string) {
std::cout << (c == char() ? '@' : c);
}
std::cout << "\"\n\n";


std::cout << "Errors:\n";
{
std::string s;


try {
// size is OK, no length_error
// (may throw bad_alloc)
s.resize(s.max_size() - 1, 'x');
} catch (const std::bad_alloc& ex) {
std::cout << "1. Exception: " << ex.what() << '\n';
}


try {
// size is OK, no length_error
// (may throw bad_alloc)
s.resize(s.max_size(), 'x');
} catch (const std::bad_alloc& ex) {
std::cout << "2. Exception: " << ex.what() << '\n';
}


try {
// size is BAD, throw length_error
s.resize(s.max_size() + 1, 'x');
} catch (const std::length_error& ex) {
std::cout << "3. Length error: " << ex.what() << '\n';
}
}
}


Basic functionality:
Shorten:
1. Before: "Where is the end?"
2. After: "Where is"
Lengthen with a given value 'a':
3. Before: "H"
4. After: "Haaaaaaa"
Lengthen with char() == 0
5. Before: "Haaaaaaa"
6. After: "Haaaaaaa@@@"


Errors:
1. Exception: std::bad_alloc
2. Exception: std::bad_alloc
3. Length error: basic_string::_M_replace_aux


size returns the number of characters
length (public member function)
reserve reserves storage
(public member function)
shrink_to_fit reduces memory usage by freeing unused memory
(C++11) (public member function)

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.