C++ 函式的可變引數

鋸齒流沙發表於2017-12-13

函式中可變引數的應用 標誌 ...

void func(int f, ...){
	//可變引數指標
	va_list args_p;
	//開始讀取可變引數,i是最後一個固定引數
	va_start(args_p, f);
	int a = va_arg(args_p, int);
	char b = va_arg(args_p, char);
	int c = va_arg(args_p, int);
	cout << a << endl;
	cout << b << endl;
	cout << c << endl;
	//結束
	va_end(args_p);
}



void main(){
	
	func(10,20,'c',30);

	getchar();
}
複製程式碼

C++.png

迴圈取值

void func(int f, ...){
	//可變引數指標
	va_list args_p;
	//開始讀取可變引數,i是最後一個固定引數
	va_start(args_p, f);
	int value;
	while (1){
		value = va_arg(args_p, int);
		if (value <= 0){
			break;
		}
		cout << value << endl;
	}
	//結束
	va_end(args_p);
}



void main(){
	
	func(10,20,30,40,50);

	getchar();
}

複製程式碼

C++.png

指標常量與常量指標

void main(){
	//指標常量,指標的常量,不改變地址的指標,但是可以修改它指向的內容
	int a = 2, b = 3;
	int *const p1 = &a;
	//p1 = &b;  //NO
	*p1 = 4;

	//常量指標,指向常量的指標,內容不能修改
	const int *p2 = &a;
	p2 = &b;
	//*p2 = 9;  //NO
}
複製程式碼

相關文章