STL vector 輔助函式

2021-04-02 10:21:38 字數 4201 閱讀 7713

template

inline bool

operator==(const vector<_tp, _alloc>& __x, const vector<_tp, _alloc>& __y)

//判斷相等

template

inline bool

operator<(const vector<_tp, _alloc>& __x, const vector<_tp, _alloc>& __y)

//小於

template

inline void swap(vector<_tp, _alloc>& __x, vector<_tp, _alloc>& __y)

template

inline bool

operator!=(const vector<_tp, _alloc>& __x, const vector<_tp, _alloc>& __y)

template

inline bool

operator>(const vector<_tp, _alloc>& __x, const vector<_tp, _alloc>& __y)

template

inline bool

operator<=(const vector<_tp, _alloc>& __x, const vector<_tp, _alloc>& __y)

template

inline bool

operator>=(const vector<_tp, _alloc>& __x, const vector<_tp, _alloc>& __y)

template

vector<_tp,_alloc>&

vector<_tp,_alloc>::operator=(const vector<_tp, _alloc>& __x)

else if (size() >= __xlen)

else

_m_finish = _m_start + __xlen;

}return *this;

}//賦值

template

void vector<_tp, _alloc>::_m_fill_assign(size_t __n, const value_type& __val)

else if (__n > size())

else

erase(fill_n(begin(), __n, __val), end());

}//用__val值填充__n個長度

template template

void vector<_tp, _alloc>::_m_assign_aux(_inputiter __first, _inputiter __last,

input_iterator_tag)

template template

void

vector<_tp, _alloc>::_m_assign_aux(_forwarditer __first, _forwarditer __last,

forward_iterator_tag)

else if (size() >= __len)

else

}template

void

vector<_tp, _alloc>::_m_insert_aux(iterator __position, const _tp& __x)

else

__stl_unwind((destroy(__new_start,__new_finish),

_m_deallocate(__new_start,__len)));

destroy(begin(), end());

_m_deallocate(_m_start, _m_end_of_storage - _m_start);

_m_start = __new_start;

_m_finish = __new_finish;

_m_end_of_storage = __new_start + __len;}}

template

void

vector<_tp, _alloc>::_m_insert_aux(iterator __position)

else

__stl_unwind((destroy(__new_start,__new_finish),

_m_deallocate(__new_start,__len)));

destroy(begin(), end());

_m_deallocate(_m_start, _m_end_of_storage - _m_start);

_m_start = __new_start;

_m_finish = __new_finish;

_m_end_of_storage = __new_start + __len;}}

template

void vector<_tp, _alloc>::_m_fill_insert(iterator __position, size_type __n,

const _tp& __x)

else

}else

__stl_unwind((destroy(__new_start,__new_finish),

_m_deallocate(__new_start,__len)));

destroy(_m_start, _m_finish);

_m_deallocate(_m_start, _m_end_of_storage - _m_start);

_m_start = __new_start;

_m_finish = __new_finish;

_m_end_of_storage = __new_start + __len;}}

}#ifdef __stl_member_templates

template template

void

vector<_tp, _alloc>::_m_range_insert(iterator __pos,

_inputiterator __first,

_inputiterator __last,

input_iterator_tag)

}template template

void

vector<_tp, _alloc>::_m_range_insert(iterator __position,

_forwarditerator __first,

_forwarditerator __last,

forward_iterator_tag)

else

}else

__stl_unwind((destroy(__new_start,__new_finish),

_m_deallocate(__new_start,__len)));

destroy(_m_start, _m_finish);

_m_deallocate(_m_start, _m_end_of_storage - _m_start);

_m_start = __new_start;

_m_finish = __new_finish;

_m_end_of_storage = __new_start + __len;}}

}template

void

vector<_tp, _alloc>::insert(iterator __position,

const_iterator __first,

const_iterator __last)

else

}else

__stl_unwind((destroy(__new_start,__new_finish),

_m_deallocate(__new_start,__len)));

destroy(_m_start, _m_finish);

_m_deallocate(_m_start, _m_end_of_storage - _m_start);

_m_start = __new_start;

_m_finish = __new_finish;

_m_end_of_storage = __new_start + __len;}}

}

STL Vector模板類常見函式

由於經常在做題中遇到,所以記錄下 include 包含標頭檔案 建立vector vectortest 建立一個vector 1 獲取vector裡的元素個數 int len vec.size 2 向vector新增元素 int temp vec.push back temp 尾插 vectorve...

oracle輔助函式

oracle 輔助函式 1 decode exp,s1,r1,s2,r2.s,r def 可以把它理解成一個增強型的if else,只不過它並不通過多行語句,而是在一個函式內實現if else的功能。exp做為初始引數。s做為對比值,相同則返回r,如果s有多個,則持續遍歷所有s,直到某個條件為真為止...

遊戲輔助函式

游標的控制 移動游標到指定位置 移動游標到指定位置 void gotoxy int x,int y 隱藏游標 隱藏游標 void hide 第一個指游標高度 1 100 第二個指是否可見游標 0 1 setconsolecursorinfo hout,cursor info 設定控制檯游標大小和可見...

oracle輔助函式

1 decode exp,s1,r1,s2,r2.s,r def 可以把它理解成一個增強型的if else,只不過它並不通過多行語句,而是在一個函式內實現if else的功能。exp做為初始引數。s做為對比值,相同則返回r,如果s有多個,則持續遍歷所有s,直到某個條件為真為止,否則返回預設值def ...

oracle輔助函式

oracle 輔助函式 1 decode exp,s1,r1,s2,r2.s,r def 可以把它理解成一個增強型的if else,只不過它並不通過多行語句,而是在一個函式內實現if else的功能。exp做為初始引數。s做為對比值,相同則返回r,如果s有多個,則持續遍歷所有s,直到某個條件為真為止...