五指山市网站建设_网站建设公司_Django_seo优化
2026/1/21 15:23:55 网站建设 项目流程

1.inline简介

2.inline其它知识点


1.inline简介

inline直译是"内联",它的作用如下:a.它告诉编译器:调用这个函数时,不要像普通函数那样"跳转到函数定义的位置执行",而是把函数的代码直接"复制粘贴"到调用的地方 b.哪怕编译器忽略了内联优化,只要函数加了inline,链接器就会遵守规则:当多个.obj文件里有同一个Log函数的定义时,只保留其中一份,不会报重复定义错误

1).普通函数(无inline)#include <iostream>usingnamespacestd;// 普通函数:定义在全局voidPrintMsg(stringmsg){cout<<msg<<endl;}intmain(){PrintMsg("Hello");// 执行时:跳转到PrintMsg的定义处执行,执行完再跳回mainreturn0;}

2).inline 函数(加 inline)#include <iostream>usingnamespacestd;// inline函数:告诉编译器“复制粘贴”inlinevoidPrintMsg(stringmsg){cout<<msg<<endl;}intmain(){PrintMsg("Hello");// 执行时:编译器直接把cout << "Hello" << endl;复制到这里return0;}

2.inline其它知识点

1).类内定义的成员函数,默认是inline的classCar{public:// 类内定义:默认inline,无需手动加voiddrive(){Log("driving");}};

2).类外定义的成员函数/全局函数,必须显式加inline,如果你类成员函数想在类外定义(但仍放在头文件里),就必须加classCar{public:voiddrive();// 类内声明};// 类外定义:必须加inline,否则多个.cpp包含会重复定义inlinevoidCar::drive(){Log("driving");}

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询