A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://cplusplus.com/reference/string/basic_string/operator=/ below:

public member function

<string>

std::basic_string::operator= string (1)
basic_string& operator= (const basic_string& str);
c-string (2)
basic_string& operator= (const charT* s);
character (3)
basic_string& operator= (charT c);
string (1)
basic_string& operator= (const basic_string& str);
c-string (2)
basic_string& operator= (const charT* s);
character (3)
basic_string& operator= (charT c);
initializer list (4)
basic_string& operator= (initializer_list<charT> il);
move (5)
basic_string& operator= (basic_string&& str) noexcept;

String assignment

Assigns a new value to the string, replacing its current contents.

(See member function assign for additional assignment options).



Parameters
str
A basic_string object of the same type (with the same class template arguments charT, traits and Alloc), whose value is either copied (1) or moved (5) if different from *this (if moved, str is left in an unspecified but valid state).
s
Pointer to a null-terminated sequence of characters.
The sequence is copied as the new value for the string.
The length is determined by calling traits_type::length(s).
c
A character.
The string value is set to a single copy of this character (the string length becomes 1).
il
An initializer_list object.
These objects are automatically constructed from initializer list declarators.
The characters are copied, in the same order.

charT is basic_string's character type (i.e., its first template parameter).

Return Value*this
Example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// string assigning
#include <iostream>
#include <string>

int main ()
{
  std::string str1, str2, str3;
  str1 = "Test string: ";   // c-string
  str2 = 'x';               // single character
  str3 = str1 + str2;       // string

  std::cout << str3  << '\n';
  return 0;
}

Output:


Complexity

Unspecified.

Unspecified, but generally linear in the new

string length

(and constant for the

move version

).



Iterator validity Any iterators, pointers and references related to this object may be invalidated.
Data races The object is modified.
The move assignment (5) modifies str.

Exception safety For the move assignment (5), the function does not throw exceptions (no-throw guarantee).
In all other cases, there are no effects in case an exception is thrown (strong guarantee).

If the resulting string length would exceed the max_size, a length_error exception is thrown.


If the type uses the default allocator, a bad_alloc exception is thrown if the function needs to allocate storage and fails.

See also
basic_string::assign
Assign content to string (public member function)
basic_string::operator+=
Append to string (public member function)
basic_string::insert
Insert into string (public member function)
basic_string::replace
Replace portion of string (public member function)
basic_string::basic_string
Construct basic_string object (public member function)
basic_string::compare
Compare strings (public member function)

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4