string screeninit(string::size_type height = 24,要麼全有,要麼全沒有.string::size_type width = 80,
char background = ' ' );
呼叫
string screen;這個變數定義於函式中,但生命週期卻跨越了函式,物件一旦被建立,直至程式結束前才被撤銷screen = screeninit(); // equivalent to screeninit (24,80,' ')
screen = screeninit(66); // equivalent to screeninit (66,80,' ')
screen = screeninit(66, 256); // screeninit(66,256,' ')
screen = screeninit(66, 256, '#');
size_t count_calls()輸出:int main()
乙個函式前面加上inline關鍵字,則成為內聯函式.
特性:將函式展開,消除函式呼叫的額外開銷(提高效能),適用於呼叫次數多,**精湛的
1.非引用返回
int max(int &a,int &b)test
int a=10;輸出0,位址不同int b=20;
int c=max(a,b);
int *d=&b;
int *e=&c;
bool f=d==e;
cout << f << endl;
2.返回引用
int &max2(int &a,int &b)唯一的變化就是返回值變了
重新測試
int a=10;返回1,位址相同int b=20;
int &c=max2(a,b);
int *d=&b;
int *e=&c;
bool f=d==e;
cout << f << endl;
3.不要返回函式區域性物件的引用
當函式執行完畢後,將要對布局物件進行釋放
c Primer學習筆記2
while語句 while語句提供了迭代功能 從1到10求和 include int main std coutfor迴圈實現1到10求和 include int main std cout 未知數目的輸入 include int main std cout 類的簡介 一般將類的定義放在標頭檔案中,...
c primer 學習筆記 2
字串字面值可以分開書寫 const char aa aaa aaa 初始化 int a 0 int a int a 報錯,3.14不能放到int中 int a int a 0 申明和定義的區別 申明規定的變數的型別和名字,定義還申請記憶體,初始化 只申明 extren,但如果初始化了 就是 定義了 ...
C Primer 學習筆記 2
p15習題 題1.14 試分析如果v1 v2的情況下,該程式的輸出結果 include int main else int sum 0 for int i lower i upper i std cout sum of lower to upper inclusive is sum std endl...