c 小知識點

2021-07-10 11:22:54 字數 2928 閱讀 5718

1:陣列間拷貝只能使用for迴圈乙個乙個拷貝,但是vector之間可以直接用乙個vector初始化另乙個vector。

int main()

2:vector 之間比較大小直接用==.

3:對於實參型別相同,並且數目不確定的情況下我們可以傳遞名為initializer_list的標準庫型別。

int func(std::initializer_list il)

return a;

}int main(int argc,char *argv)

) << endl;

return

0;}

4:不要將區域性變數的引用傳遞回來,因為函式結束,區域性變數被銷毀,傳回來的引用會失效。

int& func()

int main(int argc,char *argv)

5:內聯函式:宣告在類中間的沒有特殊說明的都是內聯函式,我們也可以在類的內部或者內外用inline顯式宣告內聯函式 。

6:有元:不僅可以宣告某個類之間有元,還可以宣告別的類中某個成員函式與類有元。

7:委託建構函式:總有乙個非委託建構函式在前面,非委託建構函式一般全部變數都會宣告上。

//5,6,7的例子看下面

#include

#include

#include

using

std::cin;

using

std::cout;

using

std::endl;

class screen;

class window_mgr ;

class screen

screen(pos ht,pos wd):height(ht),width(wd),contents(ht*wd,' ')

char get() const //隱式內聯

inline

char get(pos r,pos c); //顯式內聯

screen& move(pos r,pos c); //顯示外聯

screen& set(char);

screen& set(pos,pos,char);

screen& display(std::ostream &os)

private:

pos cursor = 0;

pos height = 0;

pos width = 0;

std::string contents;

};void window_mgr::clear(screenindex i) //將第i個螢幕清除

screen& screen::set(char c)

screen& screen::set(pos r,pos c,char x)

char screen::get(pos r,pos c)

inline screen& screen::move(pos r,pos c)

int main(int argc,char *argv)

8:注意宣告無引數的類時不要和宣告函式混淆

screen s();  //實際上宣告的是乙個函式

screen s; //宣告乙個無引數的類,呼叫預設的無參建構函式

9:try-catch子句

#include

#include

#include

using

std::cin;

using

std::cout;

using

std::endl;

int main(int argc,char *argv)

cout

<< a/b << endl;

break;

} catch (std::runtime_error err)

}return

0;}

10:explicit:顯式建構函式

只針對乙個實參的建構函式

11:istringstream:我們會這樣儲存類的資料,假設類資料域有id,姓名,成績,我們可以在檔案中將乙個類的資訊儲存成一行,然後我們需要處理的時候可以每次讀出一行,然後用istringstream將讀出的行按照空格處理。下面的程式就是乙個例子:

#include

#include

#include

#include

using

std::cin;

using

std::cout;

using

std::endl;

struct sales_data

std::string isbn() const

sales_data& combine(sales_data &sales);

std::string bookno;

unsigned units_sold = 0;

double revenue = 0;

};sales_data& sales_data::combine(sales_data &sales)

int main(int argc,char *argv)

else

}ofs << total.bookno << " "

<< total.units_sold << " "

<< total.revenue << endl;

}return

0;}

C 小知識點

1.在c 中,每個程式必須包含乙個main 的入口函式,只有這樣,這個專案才能執行.2.函式包括 函式名,引數,返回值.3.return 是c 的預定義語句,提供了終止函式的一種方法 return 0表示成功執行正常退出.4.using namespace std 是指引用c 的標準庫.5.c 的4...

c小知識點

一 rand rand 函式用來產生隨機數,但是,rand 的內部實現是用線性同餘法實現的,是偽隨機數,由於週期較長,因此在一定範圍內可以看成是隨機的。rand 會返回乙個範圍在0到rand max 至少是32767 之間的偽隨機數 整數 在呼叫rand 函式之前,可以使用srand 函式設定隨機數...

c 小知識點

c 小知識點 基本資料型別 對於整型來說 絕對值在10 9範圍以內可以定義成int型,在10 18範圍以內定義成long long型,外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳 img jficpdiv 1592110805047 注意 若long long型賦值大於2 31 1的初...