Анимация
JavaScript


Главная  Библионтека 

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 [ 76 ] 77 78 79 80 81 82 83 84 85

void reserve(size type res arg = 0);

void clearO;

bool emptyO const;

const reference operator[](sizetype pos) const; reference operator[](size„type pos); const reference at(size type n) const; reference at(size type n);

basic string& operator+=(const basic .string& str); basic string& operator+=(const charx* s); basic string& operator+=(charT c); basic string& append(const basic string& str); basic string(& append(const basi c„stri ng& str,

size type pos, size type n); basic string& append(const charT* s, size type n); basic string& append(const charT* s); basi c stri ng& append(si ze type n, charT c); tempiate<class lnputlterator>

basic string& append(Inputlterator fi rst, Inputlterator last); void push back(const charT); basic string& assign(const basic string&); basic string& assign(const basic string& str,

size type pos, size type n); basic string& assign(const charr* s, size type nj; basic string& assign(const charT* s); basic string& assign(size type n, charT c); tempiate<class inputiterator>

basic string& assign(Inputlterator fi rst, inputlterator last); basic„string& insert(size type posl,

const basic string& str); basic string& insert(size type posl,

const basic string& str, size type pos2, size type n); basic string& insert(size type pos, const спагт* s, size type n);

basic string& insert(size type pos, const charT* s); basic string& insert(size type pos, size type n, charT c);

iterator insert(iterator p, charT c); void insert(iterator p, size„type n, charT c); tempiate<class inputiterator> void insert(iterator p, inputlterator fi rst, Inputlterator last);

Кажется, no пути есть маленький карман с воздухом. Не всплывайте - это только полпути! Сделайте очередной вдох - и:

basic string& erase(size type pos = О,

size type n = npos); iterator erase(iterator position); iterator erase(iterator first, iterator last); basic string& replace(size type posl, size tyne nl,

const basic string& str); basic string& replace(size type posl, stze type nl,

const basic string& str,

size type pos2, size type n2); basic string& replace(size type pos, size type nl,

const charT* s, size type n2); basic string& replace(size type pos, size type nl,

const charx* s); basic string& replace(size type pos, size type nl,

size type n2, charx c); basic string& replace(iterator i1, iterator i2,

const basic string& str); basiest ring* replace(iterator il, i terator i2,



const charT* s, size type n); basic string& replace(iterator il, iterator i2,

const charT* s); basic string& replace(iterator il, iterator i2,

size type n, charT c); tempiate<class inputlterator>

basic string* replace(iterator il, iterator i2,

inputlterator ql, Inputlterator ]2); size type copy(charT* s, size type n,

size type pos = o) const; void swapCbasic string<charT,traits,Allocator>&); const charT* c strC) const; explicit

const charT* dataO const; allocater type get allocatorC) const; size type find (const basic string& str,

si2e type pos = 0) const; size type find (const charT* s, size type pos,

si2e„type n) const; size type find (const charT* s,

si2e type pos = 0) const; size type find (charT c, size type pos = 0) const; size type rfind(const basic string& str,

size type pos = npos) const; size type rfind(const charT* s, size type pos,

size type n) const; size type rfind (const charT* s,

size .type pos = npos) const; size type rfind(charT c, size type pos - npos) const; size type find fi rst of(const basic string& str,

size type pos = 0) const; size type find fi rst of(const спагт* s, size type pos,

size type n) const; size type find„first of(const charT* s,

size type pos = 0) const; size type find fi rst of(charT с,

size type pos = 0) const; size type find last of (const basic string& str,

size„type pos = npos) const; size type find„last of (const charT* s, size type pos,

size type n) const; size type find last of (const charT* s,

size type pos = npos) const; size type find last of (charT c,

size type pos = npos) const; size type find first not of(const basic string& str,

size type pos = 0) const; size type find fi rst not of(const charT* s,

si ze type pos, size type n) const; si ze type find fi rst not of(const charT* s,

size type pos = 0) const; size type find first not of(charT c,

size type pos = 0) const; size type find last not of (const basic string& str,

size type pos = npos) const; si ze type find last not of (const charT* s,

size type pos, size type n) const; size type find last not of (const chart* s,

size type pos = npos) const; size type find last not of (charT c,

size type pos = npos) const; basic string substr(size type pos = 0,

size type n = npos) const;



int compareCconst basic string& str) const; int compare(size type posl, si2e type nl,

const basic string& str) const; int compare(size type posl, size type nl,

const basic string& str,

size type pos2, size type n2) const; int compare(const charx* s) const; int compare(size type posl, size type nl,

const charx* s, size type n2 = npos) const;

Фуу... 103 функций-членов и их шаблонов! Наконец мы можем вынырнуть и вздохнуть полной грудью. Но на этом наши подземные приключения не заканчиваются, и минисерия продолжается.

Резюме

На практике следует разбивать обобшенные компоненты на части.

• Пользуйтесь идиомой "один класс (или функция) - одна задача".

• Где это возможно - предпочтительно использовать функции, которые не являются членами и друзьями.

Стоило ли перечислять здесь все функции-члены string? Да, поскольку эта информация еше пригодится нам в следующей задаче.



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 [ 76 ] 77 78 79 80 81 82 83 84 85