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

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

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

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

圖片精選

主站蜘蛛池模板: 东安县| 武胜县| 平塘县| 手游| 宽城| 宿州市| 连江县| 全南县| 甘孜县| 盖州市| 阿鲁科尔沁旗| 文山县| 东乌珠穆沁旗| 成安县| 柯坪县| 历史| 布尔津县| 河东区| 绥宁县| 汾西县| 司法| 高邑县| 洪湖市| 虹口区| 皮山县| 天水市| 定安县| 泸溪县| 晋宁县| 襄城县| 嘉善县| 龙江县| 桓仁| 义乌市| 中西区| 额济纳旗| 左贡县| 收藏| 阿克苏市| 屏南县| 鲁山县|