国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++入門,內聯函數和默認參數還有函數占位符

2019-11-10 17:23:59
字體:
來源:轉載
供稿:網友
// inline內聯函數.cpp : 定義控制臺應用程序的入口點。//1.內聯函數必須和函數體寫在一起,只聲明C++編譯器不會報錯,但也不會把它視為內聯函數//2.內聯函數在最終生成的代碼中是沒有定義的//3.C++編譯器會把函數體直接插入到函數調用的地方//4.內聯函數沒有普通函數的開銷(壓棧,跳轉,返回等等)//5.內聯函數是一種請求,C++編譯器不一定同意//6.內聯函數不能存在任何形式的循環語句,也不能存在過多的條件語句//7.函數體不能過于龐大//8.不能進行取地址操作#include "stdafx.h"#include<iostream>using namespace std;//內聯函數的寫法inline void PRintfA(){	int a = 10;	cout << "a: " << endl;}//這是一個帶參數的宏片段#define MYFUNC(a,b) ((a) < (b) ? (a) : (b))//帶參數的宏標識符和參數列表要挨著,不能有空格//這是一個內聯函數inline int MyFunc(int a, int b){	return a < b ? a : b;}//關于默認參數和函數占位符void Fun1(int a, int b, int c = 1, int d = 2)//在參數列表中,可以賦初值,但是默認參數必須要放在普通參數的后邊,也不能放中間{	return;}void Fun2(int)//在函數列表中填入參數類型,但是不填形參,此為函數占位符{	return;}//默認參數和函數占位符相結合void Fun3(int a, int b, int = 1)//同樣也要放在普通參數的后邊{	return;}int main(){	PrintfA();//內聯函數的調用和普通函數沒有區別	int a = 1;	int b = 3;	//int c = MyFunc(++a, b);//結果為a=2,b=3,c=2,很正常的人腦思維	int c = MYFUNC(++a, b);//使用宏的計算方法要進行宏替換==>((++a)<(b)?(++a):(b));所以++a執行了兩次所以后來結果為//a=3b=3c=3	cout << "a = " << a << endl << "b = " << b << endl << "c = " << c << endl;	//關于Fun1的調用	Fun1(1, 3);//因為有兩個普通參數,所以調用的時候填的實參最少要兩個,但是最多4個	//關于Fun2的調用	Fun2(2);//因為有函數占位符所以實參不能為空	//關于Fun3的調用	Fun3(1, 2);	Fun3(1, 2, 3);//事實證明,寫兩個參數,三個參數都可以    return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 南康市| 克什克腾旗| 高台县| 乌拉特后旗| 四会市| 讷河市| 昌图县| 曲阳县| 城市| 固始县| 吴桥县| 遂溪县| 都兰县| 元阳县| 南郑县| 乐陵市| 三台县| 会东县| 洪江市| 沁阳市| 嘉祥县| 五华县| 丰台区| 红原县| 鄂尔多斯市| 黔西县| 台南县| 吉首市| 舞阳县| 慈溪市| 射洪县| 和平县| 大渡口区| 广南县| 洪江市| 策勒县| 唐河县| 定结县| 乌海市| 嘉黎县| 菏泽市|