当前位置: 首页 > wzjs >正文

如何用Python网站开发在征婚网站上认识做期货

如何用Python网站开发,在征婚网站上认识做期货,炫酷网页html代码,网站改版提升总结Hello~,欢迎大家来到我的博客进行学习! 目录 inline为什么不能加分号?为什么要加外面的括号?为什么要加里面的括号? inline 用inline修饰的函数叫做内联函数,编译时C编译器会在调用的地方展开内联函数,这样调用内联函数就不需要建立栈帧…

在这里插入图片描述

Hello~,欢迎大家来到我的博客进行学习!

目录

  • inline
    • 为什么不能加分号?
    • 为什么要加外面的括号?
    • 为什么要加里面的括号?

inline

  • 用inline修饰的函数叫做内联函数,编译时C++编译器会在调用的地方展开内联函数,这样调用内联函数就不需要建立栈帧了,就可以提高效率。
  • inline对于编译器而言只是⼀个建议,也就是说,你加了inline编译器也可以选择在调用的地方不展开,不同编译器关于inline什么情况展开各不相同,因为C++标准没有规定这个。inline适用于频繁调用的短小函数,对于递归函数,代码相对多⼀些的函数,加上inline也会被编译器忽略。
  • C语言实现宏函数也会在预处理时替换展开,但是宏函数实现很复杂很容易出错的,且不方便调试,C++设计了inline目的就是替代C的宏函数。
  • vs编译器 debug版本下面默认是不展开inline的,这样方便调试,debug版本想展开需要设置⼀下以下两个地方。
  • inline不建议声明和定义分离到两个文件,分离会导致链接错误。因为inline被展开,就没有函数地址,链接时会出现报错。

C++弄内联函数是为了替代宏,我们在写宏的时候非常容易写错,所以C++中不太推荐宏这个东西。例如:

// 实现⼀个ADD宏函数的常⻅问题
//#define ADD(int a, int b) return a + b;
//#define ADD(a, b) a + b;
//#define ADD(a, b) (a + b)// 正确的宏实现
#define ADD(a, b) ((a) + (b))

这里有3个问题:

  • 为什么不能加分号?
  • 为什么要加外面的括号?
  • 为什么要加里面的括号?

为什么不能加分号?

首先在这个情况下,是可以加分号的:

#include<iostream>
using namespace std;
#define ADD(a,b)((a)+(b));int main()
{int ret = ADD(1, 2);return 0;
}

但是这个场景中,就不可以:

#include<iostream>
using namespace std;
#define ADD(a,b)((a)+(b));int main()
{int ret = ADD(1, 2);cout << ADD(1, 2) << endl;return 0;
}

这里我们加了分号以后,宏替换以后就会有两个分号,就会被识别为两个语句,一个分号代表一个语句,被替换后的形式为这样:

#include<iostream>
using namespace std;
#define ADD(a,b)((a)+(b));int main()
{int ret = ADD(1, 2);//int ret =((1)+(2));cout <<((1)+(2)); << endl;return 0;
}

所以不能加分号。

为什么要加外面的括号?

#include<iostream>
using namespace std;
#define ADD(a,b)(a)+(b)int main()
{int ret = ADD(1, 2);cout << ADD(1, 2) * 5 << endl;return 0;
}

这里就是运算符优先级的问题,如果不加就是11。

为什么要加里面的括号?

#include<iostream>
using namespace std;
#define ADD(a,b)(a+b)
int main()
{int ret = ADD(1, 2);int x = 1, y = 2;ADD(x & y, x | y); // -> (x&y+x|y)return 0;
}

这里也是运算符优先级的问题,这里是一种替换,传给a的不一定是变量表达式,也可能是运算表达式。这里我们本来希望&和|先运算,但是+的优先级高。

在这里我们体会到了,宏会出现各种问题所以C++推荐内联。宏的好处是快一些,因为它的本质是替换,假设我们写一个add函数,要调用是要建立栈帧的。用内联函数就不需要建立栈帧了,可以提高效率,使用内联可以避开宏的坑。

#include<iostream>
using namespace std;
inline int ADD(int x, int y)
{int ret = x + y;return ret;
}int main()
{int ret = ADD(1, 2);cout << ADD(1, 2) << endl;cout << ADD(1, 2) * 5 << endl;int x = 1, y = 2;ADD(x & y, x | y); // -> (x&y+x|y)return 0;
}

inline对于编译器而言只是⼀个建议,我们并不会用内联去写递归或一些比较长的代码,我们只会用它去写一些比较短的代码。函数被编译完之后,会变为一串指令,这里肯定会有很多很多的指令,这里和数组类似,是第一句指令的地址。

inline不建议声明和定义分离到两个文件,分离会导致链接错误。链接错误就是找不到定义就会出现。
F.h

#include <iostream>
using namespace std;
inline void f(int i);

F.cpp

#include "F.h"
void f(int i)
{cout << i << endl;
}

main.cpp

#include "F.h"
int main()
{// 链接错误:⽆法解析的外部符号 "void __cdecl f(int)" (?f@@YAXH@Z)f(1);return 0;
}

普通函数是不可以放到.h里面的,也会报链接错误。这里报错不是报错找不到,而是冲突。
F.h

#include <iostream>
using namespace std;
inline void f(int i);void Func()
{cout << "Func()" << endl;
}

加一个静态就可以解决:

#include <iostream>
using namespace std;
inline void f(int i);static void Func()
{cout << "Func()" << endl;
}

好了,我们的知识就讲到这里。如果文章内容有误,请大佬在评论区斧正!谢谢大家!
在这里插入图片描述


文章转载自:

http://EQyOkfn9.fgxws.cn
http://n7RA2XwG.fgxws.cn
http://5PyZqSHJ.fgxws.cn
http://oCZREawr.fgxws.cn
http://aUCBsiUV.fgxws.cn
http://I76uBr1e.fgxws.cn
http://UQX874ZF.fgxws.cn
http://4AWbFbBs.fgxws.cn
http://YCAwmynO.fgxws.cn
http://caCoOS23.fgxws.cn
http://YMiYa22G.fgxws.cn
http://dhJMUA9F.fgxws.cn
http://YsjDWpkj.fgxws.cn
http://M86zoQAX.fgxws.cn
http://QJ0pdYKy.fgxws.cn
http://mTvURDFI.fgxws.cn
http://JH0Pyztx.fgxws.cn
http://wtqCIc2N.fgxws.cn
http://W8NlDarw.fgxws.cn
http://jhHrkKgr.fgxws.cn
http://uNrnZCQW.fgxws.cn
http://M0rAJqFM.fgxws.cn
http://sBY7T1qh.fgxws.cn
http://jH4CvOWE.fgxws.cn
http://AUb3UFtU.fgxws.cn
http://t00Hq1Ve.fgxws.cn
http://nOpX43Le.fgxws.cn
http://AFKz98uJ.fgxws.cn
http://STvwtGLz.fgxws.cn
http://RHykmCbo.fgxws.cn
http://www.dtcms.com/wzjs/617575.html

相关文章:

  • 网站手机版模板免费下载竞网做的网站
  • 百度云自助建站wordpress 扁平化主题下载
  • 现在网站建设 如何保证安全南京企业网站seo
  • 南充网站建设略奥网络西安优秀的定制网站建设公司哪家好
  • 公司网站建设会计你分录如何在网上销售
  • 牡丹江0453免费信息网站华企网络
  • h5网站建设+北京有专门做最佳推荐的网站
  • 网站基础知识域名5个点电子商务网站建设与维护读书报告
  • 敦煌网网站推广方式263邮箱登录入口
  • 西安网站建设eliwe广州开发网站平台
  • 手机网站 微信链接怎么做百度关键词优化系统
  • 韩顺平 开源网站济南网站免费制作
  • 做我的狗哪个网站可以看网络营销应具备的技能
  • wordpress做物流网站工业互联网平台系统
  • 九江做网站的公司哪里好七台河网站seo
  • 大连网站建设怎么样wordpress 分享 网站
  • 有做机械工装的网站吗南昌网站seo技术厂家
  • 建站需要什么软件柳州正规网站制作公司
  • 企业法律平台网站建设方案学网站开发难吗
  • 在唐山做网站多少钱济南旅游网页设计
  • 手机网站商城源码网站如何做的看起来高大上
  • 免费域名申请网站wordpress随机文章列表
  • 自己搭建视频播放网站wordpress 子分类
  • 网站建设公司 盐城市竞价托管推广
  • 个人做网站需要什么条件滨州网站seo服务
  • 网站开发和ipv6带做网站
  • 怎么看一个网站做外链苏州建设网站首页
  • 天河建设网站平台wordpress评论字段
  • 国家住房和城乡建设局网站泉州pc网站开发
  • 黑彩网站自己可以做么前端工作6年一般拿多少工资