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

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

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

2019-11-10 18:07:03
字體:
來源:轉載
供稿:網友
// 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;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 布拖县| 通道| 正阳县| 紫阳县| 上栗县| 开化县| 岚皋县| 正定县| 阜南县| 海南省| 兴隆县| 德化县| 河源市| 万盛区| 当雄县| 谢通门县| 磴口县| 天峨县| 会同县| 海晏县| 得荣县| 丰原市| 延津县| 浮山县| 秭归县| 武鸣县| 甘德县| 玉环县| 镇平县| 六安市| 葫芦岛市| 云阳县| 独山县| 民勤县| 云龙县| 平度市| 陆良县| 安多县| 凯里市| 安远县| 卢湾区|