C 高階程式設計

2021-10-25 02:32:54 字數 1778 閱讀 5250

過一下基礎東西,學習一下不常用的特性

命名引數&可選引數

private void start()

private int add(int x, int y, int z)

private int add2(int x, int y = 2, int z = 3)

可空型別
int x = 1;

int? y = null;//定義可空型別變數

//int -> ?

int? z = x;

//? -> int

int a = y.hasvalue ? y.value : -1;

int a = y ?? -1;

int? y = x ?? 1000;//使用合併運算子,當變數x為null時,預設賦值1000

建構函式

建構函式初始化器:

public class myclass

}private int _x;

private int _y;

private string _log;

private myclass(int x, int y, string log)

//if

private myclass(int x) : this(x, 1, "myclass")

//else

private myclass(int x)

}

lambda表示式

學習多用鴨 好有用

public struct mystruct

public int y

public mystruct(int x,int y)

//if

public int add => x + y;

//else

public int add()

}

值和引用型別
//結構體

public struct my1

public my1(int x)

}//common

private void change(my1 m)

//ref

private void changeref(ref my1 m)

//if

my1 my1 = new my1(1);

my1.x = 2; //2 改變

//elseif

my1 my1 = new my1(1);

change(my1); //1 不變

//else

my1 my1 = new my1(1);

changeref(ref my1); //2改變

//類

public class my2

public my2(int x)

}//common

private void change(my1 m)

//ref

private void changeref(ref my2 m)

//if

my2 my2 = new my2(1);

change(my2); //2

//elseif

my2 my2 = new my2(1);

changeref(ref my2); //3 m被分配了乙個新的物件,即new my2(3),m指向的也就是這個物件的值了

c 高階程式設計

std normal distributiondis1 0,1 std default random engine random time null for i 0 i 10 i std cout這個乙個正態分佈函式,mean of the distribution its expected val...

C 高階程式設計

1.檔案操作 目錄中所有檔案提取 2.移動建構函式 拷貝建構函式 3.錯誤報錯以及修改措施 3.1 error c2662 eg const crvpairid cidele getid void 不能將 this 指標從 const cidele 轉換為 cidele 原因是 getid void...

C 高階程式設計 抽象

在 c 中,我們使用訪問標籤來定義類的抽象介面。乙個類可以包含零個或多個訪問標籤 使用公共標籤定義的成員都可以訪問該程式的所有部分。乙個型別的資料抽象檢視是由它的公共成員來定義的。使用私有標籤定義的成員無法訪問到使用類的 私有部分對使用型別的 隱藏了實現細節。訪問標籤出現的頻率沒有限制。每個訪問標籤...