學習時間:5h
學習內容:c++與stl入門
輸入輸出流iostream
優點:不需要佔位符,避免輸入輸出的型別和佔位符不統一。
缺點:速度慢
加速方法:關閉和stdio的同步,即呼叫ios::sync_with_stdio(false)。
命名空間namespace
using namespace std
宣告陣列時,陣列大小可以使用const宣告的常數
bool值,true表示真,false表示假
引用
void swap2
(int
&a,int t&b)
在引數名之前加乙個「&」符號,就表示這個引數按照傳引用的方式傳遞。這樣,在函式內改變引數的值,也會修改到函式的實參。(c++中的引用就是變數的」別名「,可以在一定程度上代替指標。)
string型別:
支援流式讀寫,可以像整數那樣「相加「,有很多方便的函式和運算子,但速度較慢。
結構體:
不再需要使用typedef的方式定義乙個struct,而且在struct裡面除了可以有變數之外還可以有函式。
模板:
沒看懂。。。。。
stl:c++的標準模板庫:
排序與檢索:
algorithm標頭檔案中的sort可以給任意物件排序,包括內建型別和自定義型別,前提是型別定義了「<」運算子。排序之後可以用lower _bound查詢大於或等於的第乙個位置。待排序/查詢的元素可以放在陣列裡,也可以放在vector裡。
不定長陣列:vector:
若a是乙個vector,可以用a.size()_讀取它的大小,a.resize()改變大小,a.push_back()向尾部新增元素,a.pop_back()刪除最後乙個元素。
vector需要用vector
a或者vectorb
這樣的方式來宣告乙個vector。可以直接賦值,還可以作為函式的引數或返回值,而無需像陣列那樣另外用乙個變數指定元素個數。
集合:set
每個元素最多隻出現一次。和sort一樣,自定義型別也可以構建set,但必須定義小於運算子。
對映:map
map就是從鍵到值的對映。因為過載了運算子,map像是陣列的「高階版「。例如可以用mapmonth_name
來表示」月份名字到月份編號「的對映,然後用month_name[「july」]=7這樣的方式賦值。map也稱為」關聯陣列「。
棧:stack
定義:stacks
push()入棧,pop()出棧,top()取棧頂元素但不刪除。
佇列:queue
定義:queues
push()入隊,pop()出隊,front()取隊首元素但不刪除。
優先佇列:
定義:priority_queuepq
預設越小的整數優先順序越低。
庚子年 春 懷化
函式分享 每日PHP函式分享 2021 2 4
array chunk將乙個陣列分隔成多個 array chunk array array,int size,bool preserve keys false array將乙個陣列分隔成多個陣列,其中每個陣列的單元數目有size決定。最後乙個陣列的單元資料可能會少於size個。引數 array 需要...
子彈散射 Unity隨手記(2021 2 4)
bug以及缺陷 值得注意的 子彈散射邏輯 子彈散射就相對後坐力簡單多了。在createbullet的時候給予子彈乙個隨機大小的角度偏量。計算子彈散射量 protected vector3 calculatebulletspreadoffset 這是散射演算法,使用unity的insideunitci...
每日學習總結
1.peek和poll的不同用法 這兩個都是將集合元素取出,但不同的是 poll 在取得元素內容的同時移除該元素,若queue是空則會傳null peek 取得元素內同但不移除該元素,若queue是空則會傳null 2.關於remove的實際test listst new arraylist st....