1.stl vector只有四個建構函式
default (1)
explicit vector (const allocator_type& alloc =allocator_type());
fill (
2)
explicit vector (size_type n, const value_type& val =value_type(),
const allocator_type& alloc =allocator_type());
range (
3)
template
vector (inputiterator first, inputiterator last,
const allocator_type& alloc =allocator_type());
copy (
4)
vector (
const vector& x);
第乙個是預設建構函式,引數為記憶體分配器。
第二個是fill型別建構函式,引數為n個vector元素型別的val值。
第三個是範圍的建構函式,引數為[first,last)的左閉右開範圍區間。
第四個是複製建構函式,引數當然為const vector &了。
2.stl二維陣列的構建。如 vector> vec;
應該只有如下方法:
vector a1;a1.push_back(1);
a1.push_back(2);
a1.push_back(3);
vector a2;
a2.push_back(2);
a2.push_back(3);
a2.push_back(4);
vec.push_back(a1);
vec.push_back(a2);
所以,初始化乙個二維陣列是很麻煩的。好像用vector的話,沒有更簡便的方法了。最多就是,把a1和a2的初始化用範圍建構函式,引數為已定義的陣列名及陣列名+長度
3.有符號數和無符號數進行運算時,有符號數隱式轉換為無符號數。如 int 轉換為 unsigned int。
4.multiset的插入是insert操作,刪除是erase操作,遍歷和取值是迭代器、沒有下標操作符。
一些簡單的程式設計練習
每當成為入門cs課程 學生們學習程式語言的課程 的助教時,都困於提出好的練習題。project euler和類似的問題通常對初學者來說來難了,尤其是對於那些沒有很強數學背景的同學。在這篇文章中,adrian neumann 收集了一些從初級到高階逐級困難的練習題,適合剛開始學習程式設計的初學者。當有...
Linux Socket程式設計的一些總結
最近寫了一些linux下網路程式設計的一些程式,做幾點總結吧。先給出客戶端後伺服器的一些socket初始化的 以後可以直接拿來呼叫。客戶端socket初始化 include include include include include include include include include...
總結一些程式設計的感悟
聽從大佬的建議,讓我多寫 於是打算從零開始完整的寫乙個2d橫版動作遊戲,總結一些遇到的小問題。對於物體實際狀態,不應該依賴外部自己建立的變數 現在,打算寫乙個暫停的介面,根據esc按鍵來判斷乙個介面是否顯示,很容易想到如下 if keydown escapae else 這時需求來了,需要在暫停介面...