Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Hasło nie zostało zweryfikowane
Niniejsze hasło zostało opracowane, jednak nie zostało ono zweryfikowane przez administrację serwisu. Jeżeli znalazłeś błędy merytoryczne w niniejszym dokumencie, prosimy o ich zgłoszenie na forum w dziale Znalezione błędy.
Opracował: Mrovqa
Język C++

[basic_string] operator+

[operator - funkcja] Łączy dwa stringi.

Składnia

C/C++
#include <string>

namespace std
{
    template < class TypZnaku, class CechowanieZnaku, class Alokator >
    basic_string operator +(
    const basic_string < TypZnaku, CechowanieZnaku, Alokator >& _lewy,
    const basic_string < TypZnaku, CechowanieZnaku, Alokator >& _prawy );
   
    template < class TypZnaku, class CechowanieZnaku, class Alokator >
    basic_string operator +(
    basic_string < TypZnaku, CechowanieZnaku, Alokator >&& _lewy,
    basic_string < TypZnaku, CechowanieZnaku, Alokator >&& _prawy );
   
    template < class TypZnaku, class CechowanieZnaku, class Alokator >
    basic_string operator +(
    basic_string < TypZnaku, CechowanieZnaku, Alokator >&& _lewy,
    const basic_string < TypZnaku, CechowanieZnaku, Alokator >& _prawy );
   
    template < class TypZnaku, class CechowanieZnaku, class Alokator >
    basic_string operator +(
    const basic_string < TypZnaku, CechowanieZnaku, Alokator >& _lewy,
    basic_string < TypZnaku, CechowanieZnaku, Alokator >&& _prawy );
   
    template < class TypZnaku, class CechowanieZnaku, class Alokator >
    basic_string operator +( const basic_string < TypZnaku, CechowanieZnaku, Alokator >& _lewy, const TypZnaku * _prawy );
   
    template < class TypZnaku, class CechowanieZnaku, class Alokator >
    basic_string operator +( basic_string < TypZnaku, CechowanieZnaku, Alokator >&& _lewy, const TypZnaku * _prawy );
   
    template < class TypZnaku, class CechowanieZnaku, class Alokator >
    basic_string operator +( const TypZnaku * _lewy, const basic_string < TypZnaku, CechowanieZnaku, Alokator >& _prawy );
   
    template < class TypZnaku, class CechowanieZnaku, class Alokator >
    basic_string operator +( const TypZnaku * _lewy, basic_string < TypZnaku, CechowanieZnaku, Alokator >&& _prawy );
   
    template < class TypZnaku, class CechowanieZnaku, class Alokator >
    basic_string operator +( const basic_string < TypZnaku, CechowanieZnaku, Alokator >& _lewy, TypZnaku _prawy );
   
    template < class TypZnaku, class CechowanieZnaku, class Alokator >
    basic_string operator +( basic_string < TypZnaku, CechowanieZnaku, Alokator >&& _lewy, TypZnaku _prawy );
   
    template < class TypZnaku, class CechowanieZnaku, class Alokator >
    basic_string operator +( TypZnaku _lewy, const basic_string < TypZnaku, CechowanieZnaku, Alokator >& _prawy );
   
    template < class TypZnaku, class CechowanieZnaku, class Alokator >
    basic_string operator +( TypZnaku _lewy, basic_string < TypZnaku, CechowanieZnaku, Alokator >&& _prawy );
} //namespace std

Argumenty

ArgumentOpis
_lewy, _prawyStringi, wskaźniki na tablicę albo pojedyncze znaki do połączenia.

Zwracana wartość

Konkatenacja łańcuchów znaków przesłanych poprzez argumenty.

Opis szczegółowy

Operator łączy łańcuchy znaków przesłane jako argumenty i zwraca tak powstały obiekt jako wynik działania.

Rzucane wyjątki

Jeżeli wyjątek zostanie rzucony, wartość obiektu nie ulegnie zmianie.

Jeżeli _s nie jest zakończony bajtem zerowym, to zachowanie jest niezdefiniowane.

Jeżeli wynik » standard C++ » basic_stringlength przekroczy » standard C++ » basic_stringmax_size, to zostanie rzucony » standard C++length_error.
Jeżeli szablon korzysta z domyślnego alokatora, to » standard C++bad_alloc zostanie rzucony, gdy funkcja będzie chcieć zaalokować pamięć i operacja się nie powiedzie.

Przykład

C/C++
#include <iostream>
#include <string>

typedef std::basic_string < char, std::char_traits < char >, std::allocator < char >> MojString;
int main()
{
    MojString pierwszyPoziom( "pl" );
    MojString drugiPoziom( "cpp0x" );
    MojString schemat( "http://" );
    MojString nazwaHosta;
    MojString url;
   
    nazwaHosta = "www." + drugiPoziom + '.' + pierwszyPoziom;
    url = schemat + nazwaHosta;
   
    std::cout << url << '\n';
   
    return 0;
}
Standardowe wyjście programu:
http://www.cpp0x.pl

Zagadnienia powiązane

appendModyfikuje przechowywany tekst poprzez dopisanie podanego łańcucha znaków na koniec tekstu. (metoda)
insertWstawia znaki do aktualnego łańcucha znaków. (metoda)
operator+=Dopisuje łańcuch znaków na koniec kontenera. (operator - metoda)

Linki zewnętrzne