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

广告发布许可证网站优化与seo

广告发布许可证,网站优化与seo,科技核心期刊目录,学编程的网课平台指针代表内存中地址标识符,变量,数组都是存储内存中的数据。所以可以获得它们的地址,用指针来表示这块内存。 如图输出内存中的地址。 对于一个函数来说,也是内存中存储这段数据,所以我们也可以获取函数的地址。 函数…

指针代表内存中地址标识符,变量,数组都是存储内存中的数据。所以可以获得它们的地址,用指针来表示这块内存。

如图输出内存中的地址。

对于一个函数来说,也是内存中存储这段数据,所以我们也可以获取函数的地址。

函数指针的声明方式

 

下面我们来看一个简单函数指针使用

#include<iostream>
using namespace std;
double mutiply(double a, double b)
{return a * b;
}
double add(double a, double b)
{return a + b;
}
int main()
{double(*ptr)(double,double ) = mutiply;double res = ptr(2, 3);double res1 = (*ptr)(2, 3);cout << "ress=" << res << " res1=" << res1 << endl;ptr = &add;   //凡是符合这样接口的函数都可以使用这样的指针来调用double res3 = ptr(1, 2);cout << "res3=" << res3 << endl;}

这种函数的定义方式看上去比较繁琐,我们在函数指针的声明前面加上typedefine,这样ptr就不在是一个变量而是一个类型别名,代表指向这样一个函数的指针类型,为了方便讲typedefine定义的指针类型别名与函数指针区分开来,我们可以将别名用大写字母作为区分。

代码如下

#include<iostream>
using namespace std;
//typedef double (*FuncTypeptr)(double ,double);
typedef double (FuncTypeptr)(double, double);
double mutiply(double a, double b)
{return a * b;
}
int main()
{//FuncTypeptr ptr1= mutiply;FuncTypeptr* ptr1 = mutiply;double res = ptr1(1,2);cout << "res=" << res << endl;
}

 

函数指针在C语言中的使用

在排序函数中传入compare函数指针,这样排序函数就可以通过闯入的指针来判断数值的大小。

代码如下

#include<vector>
#include<iostream>
#include<algorithm>
using namespace std;
bool compare(float a, float b)
{return a < b;
}
int main()
{vector<float>num{ 0,1,2,3,6,3,7,11 };sort(num.begin(), num.end(), compare);for (auto a : num)cout << a << " ";
}

在c++中我们可以通过重载一个类的函数运算符,来实现函数对象,使用函数对象代替函数指针。

代码如下

#include<vector>
#include<iostream>
#include<algorithm>
using namespace std;
class Compare
{
public:bool operator()(float a, float b){return a < b;}
};
int main()
{vector<float>num{ 0,1,2,3,6,3,7,11 };sort(num.begin(), num.end(), Compare());for (auto a : num)cout << a << " ";
}

 

 

#include<vector>
#include<iostream>
using namespace std;class DemoClass {
public:double add(double a, double b) { return a + b; };double multiply(double a, double b) { return a * b; };
};int main()
{double (DemoClass:: * ptrMemberFunc)(double,double);ptrMemberFunc = &DemoClass::add;DemoClass obj;double result = (obj.*ptrMemberFunc)(1,2);cout << result << endl;DemoClass* pobj = &obj;ptrMemberFunc = &DemoClass::multiply;result = (pobj->*ptrMemberFunc)(1, 2);cout << result << endl;
}

 同样适用于多态类中的虚函数

 


文章转载自:

http://gF3ME2IL.Lkfhk.cn
http://2y5z7VTE.Lkfhk.cn
http://gsbfxqvM.Lkfhk.cn
http://foJJ40JK.Lkfhk.cn
http://Adufra0M.Lkfhk.cn
http://WQ5jIRpp.Lkfhk.cn
http://ylspMthF.Lkfhk.cn
http://4pGHwWTs.Lkfhk.cn
http://3SWr2Pkm.Lkfhk.cn
http://YjEiLrIc.Lkfhk.cn
http://7XSVlKRo.Lkfhk.cn
http://EVBHwaiL.Lkfhk.cn
http://axNwLp9O.Lkfhk.cn
http://bfDbFSKh.Lkfhk.cn
http://pugy4vJY.Lkfhk.cn
http://EQa2aXhH.Lkfhk.cn
http://J1CjoCPq.Lkfhk.cn
http://PNme8XLR.Lkfhk.cn
http://T7NFySUB.Lkfhk.cn
http://G9zQr93w.Lkfhk.cn
http://uD8ejeJ7.Lkfhk.cn
http://tUHxOnUT.Lkfhk.cn
http://0OBOQKQl.Lkfhk.cn
http://vYfg3GDG.Lkfhk.cn
http://aeYmYvqj.Lkfhk.cn
http://gIShjnGt.Lkfhk.cn
http://2jqCPT1A.Lkfhk.cn
http://2Al7xcPx.Lkfhk.cn
http://ALdqivKM.Lkfhk.cn
http://EAttgi7Z.Lkfhk.cn
http://www.dtcms.com/wzjs/775234.html

相关文章:

  • 网课培训机构排名前十seo网站模板下载
  • 具有价值的做网站wordpress app 服务端
  • 自己做网站需要做服务器wordpress搭建公司网站
  • 成都市网站建设公司东莞网上商城网站建设
  • 游民星空是用什么做的网站wordpress上传图片自动添加属性
  • 北京海岸设计公司网站中文域名有价值吗
  • 沈阳的网站建设wordpress加上vip解析
  • 长沙专门做网站公司学产品设计专业后悔了
  • 网站首页做一点开有动画网站网站制作需要多少钱
  • 网站空间大小怎么看wordpress钩子自定义钩子
  • 网站建设如何加入字体分享惠网站怎么做
  • 用sql2000做网站写字楼装修风格
  • 北京模板网站开发全包在360上做网站怎么样
  • 网站中文域名到期有没有影响想制作自己的网站吗
  • 做网站用asp还是php好wordpress启用特色
  • 网站域名能改吗网站群建设目标
  • 做优化很好的网站百度开发者
  • 网站备案信息的核查方式文创产品设计创意图片
  • 快手刷赞网站推广软件网站推广效果
  • 做图片祝福的网站青岛即墨网站网页设计
  • 网站兼容性问题vps网站压缩
  • 网站建设东北电商法
  • 福州开发网站公司phpcms建设网站
  • 朔州路桥建设有限责任公司网站3d演示中国空间站建造历程
  • 做动画合成的视频网站wordpress导航菜单修改
  • 车辆保险网站仿中国化妆品网站模板
  • 做海报有什么借鉴的网站百度描述 网站
  • 15年做啥网站致富搜索引擎营销方法
  • 网站制作基础教程公司注册地址可以变更吗
  • 网站怎么seo合肥seo按天扣费