内联函数分析

1、内联函数
	1、C++中 const 可以代替宏常量定义。
		如: const int a = 3; ==>> #define a  3
		既然const 可以代替 宏常量 的定义 是否有其他办法代替 宏代码 呢? 有,内联函数。
	2、内联函数。	
		1、C++中推荐使用内联函数代替宏代码片段。
		2、C++中使用 inline 关键字声明内联函数。
		代码:
			inline int func(int a, int b)
			{
				return a < b? a :b;
			}
		3、内联函数声明时应该将函数定义和 inline 关键字放在一起,不然编译器会直接忽略内联请求。
		4、C++编译器可以将一个函数内联编译。
		5、被C++编译器内联编译的函数叫做内联函数。
		6、C++编译器直接将函数体插入到函数调用的地方。
		7、内联函数没有普通函数调用时的开销。(压栈,跳转,返回)。
		8、C++编译器不一定满足函数的内联要求。
		9、内联函数具有普通函数的特征。(参数检查,返回类型)。
		10、函数的内联请求可能会被编译器拒绝。
		11、函数被内联编译后,函数体直接扩展到调用的地方。
		12、宏代码片段经过预处理,只是简单的文本替换,没有任何编译过程,所以会产生副作用。
		13、现代编译器对编译过程进行了优化,就算有些函数没有 inline 声明,也有可能被内联编译。
		14、一些C++编译提供了扩展语法,能够对函数进行强制编译:如:g++:attribute((always_inline))属性。
	3、注意事项:
		1、C++中 inline 内联有一些限制。
		2、inline 函数中不能存在任何形式的循环语句。
		3、不能存在过多的条件判断。
		4、函数体不能过于庞大。
		5、不能对函数进行取值操作。
		7、函数内联声明必须在函数调用之前。
	4、小结:
		1、C++中使用 inline 进行函数声明。
		2、编译器直接将 inline 函数体扩展到函数调用的地方。
		3、inline 只是一种请求,编译器不一定允许这种请求。
		4、内联函数省去了函数入栈,跳转等开销。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本火锅店点餐系统采用Java语言和Vue技术,框架采用SSM,搭配Mysql据库,运行在Idea里,采用小程序模式。本火锅店点餐系统提供管理员、用户两种角色的服务。总的功能包括菜品的查询、菜品的购买、餐桌预定和订单管理。本系统可以帮助管理员更新菜品信息和管理订单信息,帮助用户实现在线的点餐方式,并可以实现餐桌预定。本系统采用成熟技术开发可以完成点餐管理的相关工作。 本系统的功能围绕用户、管理员两种权限设计。根据不同权限的不同需求设计出更符合用户要求的功能。本系统中管理员主要负责审核管理用户,发布分享新的菜品,审核用户的订餐信息和餐桌预定信息等,用户可以对需要的菜品进行购买、预定餐桌等。用户可以管理个人资料、查询菜品、在线点餐和预定餐桌、管理订单等,用户的个人资料是由管理员添加用户资料时产生,用户的订单内容由用户在购买菜品时产生,用户预定信息由用户在预定餐桌操作时产生。 本系统的功能设计为管理员、用户两部分。管理员为菜品管理、菜品分类管理、用户管理、订单管理等,用户的功能为查询菜品,在线点餐、预定餐桌、管理个人信息等。 管理员负责用户信息的删除和管理,用户的姓名和手机号都可以由管理员在此功能里看到。管理员可以对菜品的信息进行管理、审核。本功能可以实现菜品的定时更新和审核管理。本功能包括查询餐桌,也可以发布新的餐桌信息。管理员可以查询已预定的餐桌,并进行审核。管理员可以管理公告和系统的轮播图,可以安排活动。管理员可以对个人的资料进行修改和管理,管理员还可以在本功能里修改密码。管理员可以查询用户的订单,并完成菜品的安排。 当用户登录进系统后可以修改自己的资料,可以使自己信息的保持正确性。还可以修改密码。用户可以浏览所有的菜品,可以查看详细的菜品内容,也可以进行菜品的点餐。在本功能里用户可以进行点餐。用户可以浏览没有预定出去的餐桌,选择合适的餐桌可以进行预定。用户可以管理购物车里的菜品。用户可以管理自己的订单,在订单管理界面里也可以进行查询操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值