//i1、i2在函式中是const變數,不能改變值
const int& min(const int& i1, const int& i2)
{
if(i1 < i2)
return (i1);
return (i2);
}
int main()
{
min(1+2, 3+4);
return 0;
}
/*
* const的函式意義是指,若函式是傳回參考指標變數,
* 則該變數傳回後不能直接變更回傳值
* min(1+2,3+4)=0;由於是const函式,傳回值不能作改變
*/
##ShowAll##
2009年9月23日 星期三
C/C++筆記-const參數與函式
C/C++筆記-將變數傳遞進參考指標函式
//好處是傳一般變數即可
void inc_counter(int& counter)
{
++counter;
}
int main()
{
int a_count = 0;
inc_counter(a_count);
std::cout << a_count << '\n' ; //傳回值+1
return 0;
}
/* 這種作法似乎不能用在C語言 */
##ShowAll##
2009年9月11日 星期五
C/C++筆記-指標多重間接參照
/*
* 指標本身也是有記憶體位址,
* 所以宣告一個指向指標形態變數的指標是合法的
*/
int **pp,*p,x=5;
pp = &p;
p = &x;
**pp = 10; //最後x值是10
##ShowAll##
C/C++筆記-指標意義、指標運算、陣列指標
//&運算子的意義為:取得變數的記憶體位址
//*運算子的意義為:取得變數的記憶體值
int *ptr,a;
ptr = &a;
ptr++; //將指標ptr指向變數a的後4個bytes
ptr = ptr - 20; //將指標ptr指向變數a的後20*4個bytes
int *ptr,a[10];
ptr = a+5;
printf(%d %d,*a,*ptr) //會印出陣列a[0]的數值和a[5]的數值
##ShowAll##
2009年8月15日 星期六
C/C++筆記-函數的指標
函數也在記憶體中,所以指標也可以指向函數
int add(int,int);
int add(int,int);
int main(void)
{
int ans, (*p)(int x, int y); //宣告函數指標p
p = add; //將p指向函數add
ans = (*p)(3,4) //間接呼叫add函數
printf("%d",ans);
}
void add(int x,int y)
{
returb x+y;
}
##ShowAll##
C/C++筆記-將指標傳遞進函式
void func(int*,int);
int main(void)
{
int x=0,*p;
p = &x;
func(p,3); //Call-by-Reference
printf("x = %d",x);
}
void func(int *p,int y)
{
*p = y;
}
##ShowAll##
訂閱:
文章
(
Atom
)