请教一个问题:为什么内联函数不能 有循环语句和switch语句呢,谢谢,详细点
展开全部
如有函数需要频繁使用,则所用时间会很长.(因为执行到调用函数处,流程转移到函数入口处,同时进行参数传递,这时要记下调用函数前的地址,执行完后,流程回到之前记下的地址处,调用函数的下一条指令.这都要花费一定时间)C++提供一种提高效率的方法,即在编译时将所调用函数的代码直接嵌入到主调函数中,就是所谓的内联函数.
但内联函数一般只对5个语句以下而频繁使用的函数声明为内联函数,有循环语句和switch语句,递归是机制决定不会被置换的.又像有1000行的函数,编译系统也会忽略你的inline声明,将其按普通函数处理.
不知这样解释能否令你满意.
但内联函数一般只对5个语句以下而频繁使用的函数声明为内联函数,有循环语句和switch语句,递归是机制决定不会被置换的.又像有1000行的函数,编译系统也会忽略你的inline声明,将其按普通函数处理.
不知这样解释能否令你满意.
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询