int age =29;
const
int*p =
&age;
//不能通過指標改變age的值,
//但可以改變p所指向的位址,
//或者通過age改變變數的值。
int sage =10;
int*
const p =
&sage;
//p只能指向sage;
遵行從右往左讀的邏輯規則。
cost int
*const p =
& x;
//指向const物件的const指標。
double
think
(int a)
double
(*pf)
(int);
//正確宣告函式指標方式。
//括號不能省略。
//如果省略則變為返回指標的函式。
pf = think;
變數表和返回值都必須吻合才能賦值。
int
(*p[3]
)(double
,int)=
通常使用auto建立想要的函式指標。或者使用typedef別名減少輸入量。
返回引用的時候應該避免返回函式內部的區域性變數。
ofstream 是 ostream的派生類
#include
#include
#include
using namespace std;
void
file_it
(ostream& os,
int n)
;int
main()
file_it
(fout,10)
;file_it
(cout,20)
; cout <<
"done"
;return0;
}void
file_it
(ostream& os,
int n)
void
file_it
(ostream &s,
int n)
template
//或者使用class代替typename
void
swap
(t &a,t &b)
struct job
;template
void
swap_
(t& a, t& b)
template<
>
void swap_
(job& a, job &b)
//或者寫為template void swap(job &a,job &b)
//是可省略的。
編譯器在函式匹配的時候,非函式模板會優先與顯式具體化,具體化會優先與模板生成的**。
template
void
plus_
(t1 a, t2 b)
template
auto
plus_
(t1 a, t2 b)
->
decltype
(a+b)
採用後置返回型別
重溫《js權威指南》 第7,8章
第七章 陣列 陣列是值的有序集合。js陣列是無型別的,陣列元素可以是任意型別,同乙個陣列中不同元素也可能有不同的型別。陣列可以動態增長或縮減,建立時無須生命那個乙個固定的大小並且陣列大小變化時也無須重新分配空間。js陣列可能是稀疏的 陣列的索引不一定連續。針對稀疏陣列,陣列的length屬性可能不管...
第 6章 函式
6.1.2引數 2.引數陣列 c 允許為函式指定乙個 只能乙個 特殊的引數,這個引數必須是函式定義中的最後乙個引數,可用params關鍵字定義他們 如 params int vals 3.引用引數和值引數 理解 將本來在函式中引數按值引用的規則改變成按傳遞引用,使得這個引數會改變,定義引數和傳遞引數...
第3章 函式
變數本質上是佔位符 def 函式名 引數1,引數2,引數n 函式體 語句塊 這裡的引數沒有型別,只有物件才有型別。python中為物件編寫介面,而不是為資料型別編寫。result add 3,4 add x,y 被執行之前,在計算機內是不存在的,直到 執行到這裡的時候,在計算機中就建立起來了乙個物件...