Namespaces
Variants
Views
Actions

Difference between revisions of "cpp/string/basic string/operator+"

From cppreference.com
< cpp‎ | string‎ | basic string
m (Update links.)
m (Use since= and until= params of {{dcl}} template.)
Line 32: Line 32:
 
                   CharT rhs );
 
                   CharT rhs );
 
}}
 
}}
{{dcl | num=6 | notes={{mark since c++11}} | 1=
+
{{dcl | num=6 | since=c++11 | 1=
 
template< class CharT, class Traits, class Alloc >
 
template< class CharT, class Traits, class Alloc >
 
     basic_string<CharT,Traits,Alloc>
 
     basic_string<CharT,Traits,Alloc>
Line 38: Line 38:
 
                   const basic_string<CharT,Traits,Alloc>& rhs );
 
                   const basic_string<CharT,Traits,Alloc>& rhs );
 
}}
 
}}
{{dcl | num=7 | notes={{mark since c++11}} | 1=
+
{{dcl | num=7 | since=c++11 | 1=
 
template< class CharT, class Traits, class Alloc >
 
template< class CharT, class Traits, class Alloc >
 
     basic_string<CharT,Traits,Alloc>
 
     basic_string<CharT,Traits,Alloc>
Line 44: Line 44:
 
                   basic_string<CharT,Traits,Alloc>&& rhs );
 
                   basic_string<CharT,Traits,Alloc>&& rhs );
 
}}
 
}}
{{dcl | num=8 | notes={{mark since c++11}} | 1=
+
{{dcl | num=8 | since=c++11 | 1=
 
template< class CharT, class Traits, class Alloc >
 
template< class CharT, class Traits, class Alloc >
 
     basic_string<CharT,Traits,Alloc>
 
     basic_string<CharT,Traits,Alloc>
Line 50: Line 50:
 
                   basic_string<CharT,Traits,Alloc>&& rhs );
 
                   basic_string<CharT,Traits,Alloc>&& rhs );
 
}}
 
}}
{{dcl | num=9 | notes={{mark since c++11}} | 1=
+
{{dcl | num=9 | since=c++11 | 1=
 
template< class CharT, class Traits, class Alloc >
 
template< class CharT, class Traits, class Alloc >
 
     basic_string<CharT,Traits,Alloc>
 
     basic_string<CharT,Traits,Alloc>
Line 56: Line 56:
 
                   basic_string<CharT,Traits,Alloc>&& rhs );
 
                   basic_string<CharT,Traits,Alloc>&& rhs );
 
}}
 
}}
{{dcl | num=10 | notes={{mark since c++11}} | 1=
+
{{dcl | num=10 | since=c++11 | 1=
 
template< class CharT, class Traits, class Alloc >
 
template< class CharT, class Traits, class Alloc >
 
     basic_string<CharT,Traits,Alloc>
 
     basic_string<CharT,Traits,Alloc>
Line 62: Line 62:
 
                   basic_string<CharT,Traits,Alloc>&& rhs );
 
                   basic_string<CharT,Traits,Alloc>&& rhs );
 
}}
 
}}
{{dcl | num=11 | notes={{mark since c++11}} | 1=
+
{{dcl | num=11 | since=c++11 | 1=
 
template< class CharT, class Traits, class Alloc >
 
template< class CharT, class Traits, class Alloc >
 
     basic_string<CharT,Traits,Alloc>
 
     basic_string<CharT,Traits,Alloc>
Line 68: Line 68:
 
                   const CharT* rhs );
 
                   const CharT* rhs );
 
}}
 
}}
{{dcl | num=12 | notes={{mark since c++11}} | 1=
+
{{dcl | num=12 | since=c++11 | 1=
 
template< class CharT, class Traits, class Alloc >
 
template< class CharT, class Traits, class Alloc >
 
     basic_string<CharT,Traits,Alloc>
 
     basic_string<CharT,Traits,Alloc>

Revision as of 15:47, 1 July 2013

 
 
 
std::basic_string
Member functions
Element access
Iterators
Capacity
Modifiers
Search
Operations
Constants
Non-member functions
operator+
I/O
Comparison
(until C++20)(until C++20)(until C++20)(until C++20)(until C++20)(C++20)
Numeric conversions
(C++11)(C++11)(C++11)
(C++11)(C++11)
(C++11)(C++11)(C++11)
(C++11)
(C++11)
Literals
Helper classes
Deduction guides (C++17)

 
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 );
(1)
template< class CharT, class Traits, class Alloc >

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

                   const basic_string<CharT,Traits,Alloc>& rhs );
(2)
template< class CharT, class Traits, class Alloc >

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

                   const basic_string<CharT,Traits,Alloc>& rhs );
(3)
template< class CharT, class Traits, class Alloc >

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

                   const CharT* rhs );
(4)
template<class CharT, class Traits, class Alloc>

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

                   CharT rhs );
(5)
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 );
(6) (since C++11)
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 );
(7) (since C++11)
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 );
(8) (since C++11)
template< class CharT, class Traits, class Alloc >

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

                  basic_string<CharT,Traits,Alloc>&& rhs );
(9) (since C++11)
template< class CharT, class Traits, class Alloc >

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

                   basic_string<CharT,Traits,Alloc>&& rhs );
(10) (since C++11)
template< class CharT, class Traits, class Alloc >

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

                   const CharT* rhs );
(11) (since C++11)
template< class CharT, class Traits, class Alloc >

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

                   CharT rhs );
(12) (since C++11)

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

appends characters to the end
(public member function) [edit]
appends characters to the end
(public member function) [edit]
inserts characters
(public member function) [edit]