Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Hasło jest nieopracowane
Niniejsze hasło nie zostało jeszcze opracowane. Szczegółowe informacje na temat niniejszego hasła znajdują się pod adresem strony umieszczonym w treści dokumentu. Jeżeli chciałbyś zamieścić opracowanie nieniejszego hasła w naszej dokumentacji prosimy zgłosić jego treść na forum w dziale Nowe publikacje.
Opracował: Mrovqa
Język C++

basic_string::npos

[stały obiekt statyczny] Specjalna wartość, której znaczenie jest zależne od kontekstu.

Składnia

C/C++
#include <string>

namespace std
{
    template <
    class TypZnaku,
    class CechowanieZnakow = char_traits < TypZnaku >,
    class Alokator = allocator < TypZnaku >
    >
    class basic_string
    {
    private:
        typedef basic_string < TypZnaku, CechowanieZnakow, Alokator > UtworzonaKlasaT;
    public:
        static const size_type npos;
       
    }; //class basic_string
   
    template <
    class TypZnaku,
    class CechowanieZnakow = char_traits < TypZnaku >,
    class Alokator = allocator < TypZnaku >
    >
    const size_type UtworzonaKlasaT::npos = - 1;
} //namespace std

Opis szczegółowy

Wartość specjalna równa maksymalnej wartości zmiennej typu
std::string::size_type
. Jej znaczenie jest zależne od kontekstu, w jakim się jej używa. Ogólnie oznacza informację o braku znalezionego dopasowania przy wyszukiwaniu oraz wszystkie pozostałe znaki przy określaniu długości danego stringa.

Przykład

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

typedef std::basic_string < char, std::char_traits < char >, std::allocator < char >> MojString;
int main()
{
    MojString str( "Jan" );
    if( str.find( 'x' ) == MojString::npos ) // nie odnaleziono znaku!
         std::cout << "Nie znaleziono znaku 'x'!\n";
   
    str.replace( 1, MojString::npos, "as" ); // wez wszystkie pozostale znaki
   
    std::cout << str;
    return 0;
}
Standardowe wyjście programu:
Nie znaleziono znaku 'x'!
Jas

Linki zewnętrzne