Namespaces
Variants
Views
Actions

std::operator+(std::basic_string)

From cppreference.com
< cpp‎ | string‎ | basic string
Revision as of 10:27, 2 November 2012 by P12bot (Talk | contribs)

 
 
 
std::basic_string
 

Template:ddcl list begin <tr class="t-dcl ">

<td >
template< class CharT, class Traits, class Alloc >

    basic_string<CharT,Traits,Alloc>
        operator+( const basic_string<CharT,Traits,Alloc>& lhs,

                   const basic_string<CharT,Traits,Alloc>& rhs );
</td>

<td > (1) </td> <td class="t-dcl-nopad"> </td> </tr> <tr class="t-dcl ">

<td >
template< class CharT, class Traits, class Alloc >

    basic_string<CharT,Traits,Alloc>
        operator+( const CharT* lhs,

                   const basic_string<CharT,Traits,Alloc>& rhs );
</td>

<td > (2) </td> <td class="t-dcl-nopad"> </td> </tr> <tr class="t-dcl ">

<td >
template< class CharT, class Traits, class Alloc >

    basic_string<CharT,Traits,Alloc>
        operator+( CharT lhs,

                   const basic_string<CharT,Traits,Alloc>& rhs );
</td>

<td > (3) </td> <td class="t-dcl-nopad"> </td> </tr> <tr class="t-dcl ">

<td >
template< class CharT, class Traits, class Alloc >

    basic_string<CharT,Traits,Alloc>
        operator+( const basic_string<CharT,Traits,Alloc>& lhs,

                   const CharT* rhs );
</td>

<td > (4) </td> <td class="t-dcl-nopad"> </td> </tr> <tr class="t-dcl ">

<td >
template<class CharT, class Traits, class Alloc>

    basic_string<CharT,Traits,Alloc>
        operator+( const basic_string<CharT,Traits,Alloc>& lhs,

                   CharT rhs );
</td>

<td > (5) </td> <td class="t-dcl-nopad"> </td> </tr> <tr class="t-dcl ">

<td >
template< class CharT, class Traits, class Alloc >

    basic_string<CharT,Traits,Alloc>
        operator+( basic_string<CharT,Traits,Alloc>&& lhs,

                   const basic_string<CharT,Traits,Alloc>& rhs );
</td>

<td > (6) </td> <td > (since C++11) </td> </tr> <tr class="t-dcl ">

<td >
template< class CharT, class Traits, class Alloc >

    basic_string<CharT,Traits,Alloc>
        operator+( const basic_string<CharT,Traits,Alloc>& lhs,

                   basic_string<CharT,Traits,Alloc>&& rhs );
</td>

<td > (7) </td> <td > (since C++11) </td> </tr> <tr class="t-dcl ">

<td >
template< class CharT, class Traits, class Alloc >

    basic_string<CharT,Traits,Alloc>
        operator+( basic_string<CharT,Traits,Alloc>&& lhs,

                   basic_string<CharT,Traits,Alloc>&& rhs );
</td>

<td > (8) </td> <td > (since C++11) </td> </tr> <tr class="t-dcl ">

<td >
template< class CharT, class Traits, class Alloc >

    basic_string<CharT,Traits,Alloc>
        operator+(const CharT* lhs,

                  basic_string<CharT,Traits,Alloc>&& rhs );
</td>

<td > (9) </td> <td > (since C++11) </td> </tr> <tr class="t-dcl ">

<td >
template< class CharT, class Traits, class Alloc >

    basic_string<CharT,Traits,Alloc>
        operator+( CharT lhs,

                   basic_string<CharT,Traits,Alloc>&& rhs );
</td>

<td > (10) </td> <td > (since C++11) </td> </tr> <tr class="t-dcl ">

<td >
template< class CharT, class Traits, class Alloc >

    basic_string<CharT,Traits,Alloc>
        operator+( basic_string<CharT,Traits,Alloc>&& lhs,

                   const CharT* rhs );
</td>

<td > (11) </td> <td > (since C++11) </td> </tr> <tr class="t-dcl ">

<td >
template< class CharT, class Traits, class Alloc >

    basic_string<CharT,Traits,Alloc>
        operator+( basic_string<CharT,Traits,Alloc>&& lhs,

                   CharT rhs );
</td>

<td > (12) </td> <td > (since C++11) </td> </tr> Template:ddcl list end

Returns a string containing characters from lhs followed by the characters from rhs.

Contents

Parameters

lhs - string, character, or pointer to the first character in a null-terminated array
rhs - string, character, or pointer to the first character in a null-terminated array

Return value

1) basic_string<CharT,Traits,Alloc>(lhs).append(rhs)

2) basic_string<CharT,Traits,Alloc>(lhs) + rhs

3) basic_string<CharT,Traits,Alloc>(1,lhs) + rhs

4) lhs + basic_string<CharT,Traits,Alloc>(rhs)

5) lhs + basic_string<CharT,Traits,Alloc>(1,rhs)

6) std::move(lhs.append(rhs))

7) std::move(rhs.insert(0, lhs))

8) std::move(lhs.append(rhs)) or std::move(rhs.insert(0, lhs))

9) std::move(rhs.insert(0, lhs))

10) std::move(rhs.insert(0, 1, lhs))

11) std::move(lhs.append(rhs))

12) std::move(lhs.append(1, rhs))

Example

#include <iostream>
#include <string>
 
int main()
{
    std::string s1 = "Hello";
    std::string s2 = "world";
    std::cout << s1 + ' ' + s2 + "!\n";
}

Output:

Hello world!

See also

Template:cpp/string/basic string/dcl list operator+=Template:cpp/string/basic string/dcl list appendTemplate:cpp/string/basic string/dcl list insert