遊戲程式設計筆記3 函式和常用類1

2021-08-30 17:32:04 字數 2533 閱讀 2152

switch case

vector

array

maprandom numbers

time

auto

fstream

main方法要在其他方法/方法的signature下面

exit(1);//立刻退出到 operating system

可以給函式的引數設定預設值, 這樣呼叫方法的時候不傳參也可以

乙個函式可以有多個預設引數

預設引數們只能寫在引數列表的最右邊

優點:

增加程式的擴充套件性

例如, 乙個已有方法要擴充套件功能, 新增選擇顏色的引數, 那麼把顏色設定為預設引數可以讓以前呼叫它的方法不改變功能

範例:

//定義乙個函式

void demo(int a, int b = 150, string c = "hahaha")

//呼叫這個函式

demo(200);

demo(200, 99);

demo(200, 99, "hey hey");

只能用int或string

int type;

cin << type;

switch(type)

#include

vectorv;

v.push_back("hey");

string s = v[0];

int size = v.size();

vectorv;

vectorv(10);設定初始的size,獲取index不會報錯

vectorv(10,"no name");設定default value

push_back(t t);向末尾加乙個元素

pop_back(t t);從末尾取乙個元素

at(index);獲取某index的值

sort(vector.begin(), vector.end());

#include

int arr = ;

string arr[5];

arr[0] = "hello world";

如果沒有初始化就讀取, 則讀取到的值是隨機數

所以建議都賦值為0

只有以下情況是例外:

int arr[10] =其餘沒有賦值的用預設值0填充

作為引數傳遞時, 不需要&就能引用物件並產生更改

獲得size的3種方法

1.int size = sizeof(arr)

2.sizeof(*arr);使用指標獲取大小

3. 設定length的時候, 可以使用const, 這樣方便獲得size

const int size = 10;

string arr[size];

for(int i=0; i必須宣告row和column的值

如果想要作為引數傳遞, 則定義引數時,必須明確指定第二層array的數值

void test(int arr[5])

虛幻四規範: 使用tmap

#include #define tmap std::map

int num = rand() % 10 + 1;1到10

tmaptempmap;

for(auto letter : tempmap)

方法

寫入

ofstream out("c:\\data\\demo.txt", ios::out); 

out << "hahahahah" << endl; //會抹掉舊資料

out.close();

累加寫入

方法

讀取

string path = "c:\\data\\demo.txt";

string content;

ifstream in(path.c_str(), ios::in); //引數必須是c string, 不可以是c++ string

if(!in)

while (!in.eof)

in.close();

遊戲程式設計學習筆記 1

關於如何編寫乙個遊戲,一直沒有非常系統和深入的學習.之前的時間一直是在進行無目標的埋頭亂看,window api,gdi,directx等.但事實上編寫遊戲需要的知識遠比這些更多.工作以後,由於本身就在遊戲公司,並且目前每天的任務量不大,我也就可以騰出時間系統的學習遊戲程式設計了.從上上個星期開始,...

python筆記 3 函式(1)

函式以及函式使用的注意事項 1 目錄函式的返回值 函式中的函式 子函式 lambda函式 函式的基本定義方式在python中定義乙個函式的方式的模板如下 def fun name arg return value其中必須寫的是def相當於英文的definite 定義 的意思,直接可以理解為定義乙個名...

opencv 學習筆記 1 常用函式和方法。

cv2.imread filename,falg filename是檔案名字 flag是讀入的方式 cv2.imread color 進行轉化為三通道影象。cv2.imread anydepth 如果影象深度為16位則讀出為16位,32位則讀出為32位,其餘的轉化為8位。實際應用中,falg 0就是...