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

黄冈市建设银行网站免费信息推广平台

黄冈市建设银行网站,免费信息推广平台,商城网站建设多少钱,国外手机网站模板函数的默认实参 函数默认参数:函数的形参可以有默认值,如果我们自己传入参数,就用自己的数据,如果没有,那么用默认值 特别注意*: 如果某个位置有了默认参数,那么从这个位置往后,必…

函数的默认实参

函数默认参数:函数的形参可以有默认值,如果我们自己传入参数,就用自己的数据,如果没有,那么用默认值

特别注意*: 如果某个位置有了默认参数,那么从这个位置往后,必须要有默认值,即默认参数要放在最后

知识扩展*:当我们调用有默认参数的函数时,可以不写实参

func(int a,int b=100);
不能写成
func(int a,int b=200,int c)
func(int a,int& b=100)

这里b的引用不能赋值为199,因为引用本质上就是简化版的指针

不定量参数

1.将cmd发送快捷方式到桌面

2.修改文件起始位置为工程目录

 这样我们就能直接在这个控制台运行我们写好的程序、

知识扩展*:修改生成文件名 afei

右键工程->属性->常规->目标文件名

main函数的另一面

int main(int argcount,char*  c_arg[])

argcount表示参数个数,c_arg[]表示储存的参数

c_arg[0]储存的一定是文件名

c_arg[]最后储存的一定是空指针,为什么是空指针呢?因为它储存的参数本质上就是储存的字符串格式,只是以空格分开

接受不定量参数的函数

int func(int count ,...)    参数后面跟的是省略号

使用这函数要加头文件<cstdarg>

如何获取参数

va_list arg   定义一个指针。也可以写成char* arg,va_list就是一个char*

va_start(arg,count)   得到参数的地址

va_arg(arg,int)   读取参数,返回参数的值,每调用一次,就会返回一个参数,然后跳到下一个参数,这里的int是指参数的类型,当然参数可以传递一个float进去,只要va_arg能够读取就行。

va_end(arg) 释放arg的内存

int func(int count,...)
{int sum {};char* arg {};va_start (arg,count);for(int i=0;i<count;i++){sum+=va_arg(arg,int);}va_end(arg)
}
int main()
{int x=func(5,1,2,3,4,5);std::cout<<x;
}

这里输出了15

arg底层实现

既然用到了指针,肯定利用到了偏移读取每个元素,我们打印出va_start里的指针值,再打印出每一次va_arg的指针值,发现是第一次的值和va_start的值是一样的,而之后的每次值都相差4,说明这个函数把参数放到了一起,然后通过(int)4个自己的偏移量来读取每个值

自己实现不定量参数

struct Sarg
{int count;char* ptr;
};
int add(Sarg& a)
{int sum = 0;int* fp = (int*)a.ptr;for(int i=0;i<a.count;i++){sum += fp[i]; }return sum;
};
int main()
{Sarg a;a.count = 5;a.ptr = (char*)new int[5]{ 1,2,3,4,5 };std::cout << add(a);system("pause");
}

第20行必须要转成char*才能赋值,所以第九行又要把它赚回来,add参数为引用是为了节省内存

http://www.hengruixuexiao.com/news/19595.html

相关文章:

  • 医院做网站运维班级优化大师的优点
  • 网站开发课表查询浙江网站seo
  • 做现金贷的网站有哪些单页网站制作教程
  • 企业所得税计算公式怎么算牛排seo系统
  • 有那个网站可以做任务赚钱吗营销软件培训
  • 广州骏域网站建设专家 V深圳推广
  • 怎么做装球的网站百度做网站推广的费用
  • 东营网站建设哪家好培训课程网站
  • 学校网站建设软件推荐域名注册购买
  • 单位门户网站建设的请示360推广登录入口
  • 衡水做外贸网站建设南宁网站优化公司电话
  • 嘉兴 做企业网站今天新闻头条
  • 电子商务网站建设前期有必要买优化大师会员吗
  • 政府网站开发合同范本seo站群优化技术
  • 中国网络安全厂商排名seo公司广州
  • 如何在阿里巴巴上做网站如何优化关键词
  • 深圳网站建设迅美互联网营销师考试题库
  • 网站建设空间是否续费常见的营销方式有哪些
  • 网站建设市场推广招聘seo优化排名营销
  • 目前网站开发语言郑州新闻发布
  • 个人网站可以做商城吗提交网址给百度
  • wordpress mp4 插件下载seo的主要内容
  • 网站建设需要找工信部吗seo查询源码
  • 米业做网站的好处seo在线培训机构排名
  • WordPress怎么设置2个菜单外贸谷歌seo
  • 网站的域名做邮箱游戏推广平台
  • 天津河东做网站哪家好海外网络专线
  • 网络宣传网站建设定制网络营销策略包括
  • 设计网站公司为什么都在上海seo下载站
  • 西宁网站建设官网百度人工客服电话是多少