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

网站能看出建设时间吗seo流量软件

网站能看出建设时间吗,seo流量软件,中小企业做网站推广,sketch做网站概述 默认参数是C中新增的特性。在C中,可以为函数的参数指定默认值。调用函数时,如果没有指定实参,则自动使用默认参数。默认参数的基本语法这里就不作介绍了,下面重点介绍使用默认参数的一些知识要点。 基本规则 1、当函数中某个…

概述

        默认参数是C++中新增的特性。在C++中,可以为函数的参数指定默认值。调用函数时,如果没有指定实参,则自动使用默认参数。默认参数的基本语法这里就不作介绍了,下面重点介绍使用默认参数的一些知识要点。

基本规则

        1、当函数中某个形参有默认值时,该形参右边的所有形参都必须有默认值。在下面的示例代码中,形参a有默认值,但右边的形参b没有默认值,这是不合法的,会报编译错误。

int Add(int a = 5, int b, int c = 6);

        2、只能在函数声明和函数定义其中一处给形参指定默认值,不能在两处同时指定,通常在函数声明时指定。比如,下面的示例代码就是不正确的。

// 函数定义和声明时,不同同时指定默认参数值,否则,编译出错
int Add(int a = 5, int b = 6);int Add(int a = 5, int b = 6)
{return a + b;
}

        修改后的代码如下:

int Add(int a = 5, int b = 6);int Add(int a /* = 5 */, int b /* = 6 */)
{return a + b;
}

        3、形参的默认值可以是常量、常量表达式、全局变量和函数指针,但不能是局部变量。因为默认值一般在编译期就会确定下来,而局部变量需要到运行时才能确定其值。

typedef int (*CALLBACK_TEST)(const char *pszText);static int s_nData = 1;int Test(const char *pszText);int Add(int a = 66, int b = 88 + 99, int c = s_nData, CALLBACK_TEST d = Test);

默认参数与占位参数

        占位参数是指参数只声明了类型,没有声明名称。由于没有指定参数名,在函数内部无法使用占位参数,但调用函数时,却必须给占位参数指定实参。占位参数可以与默认参数结合起来使用,此时可以不传实参,主要用于程序扩展和对C代码的兼容。示例代码如下:

int Test(int a, int = 88)
{return a;
}Test(1);
Test(1, 2);

默认参数与函数重载

        在重载的多个函数中,如果有的函数指定了默认参数,则很容易发生二义性的问题,导致编译器无法确定到底使用哪个重载函数,进而发生编译错误。可参看下面的示例代码。

class CBase
{
public:void Show(int a){printf("CBase Show: %d\n", a);}void Show(int a, int b = 88){printf("CBase Show: %d, %d\n", a, b);}
};CBase base;
base.Show(66);        // 产生二义性,编译报错

        可以看到,调用base对象的函数Show(66)时,编译器不知道该调用哪一个重载版本的函数,因为两个版本都能匹配上,故编译器会报错。解决该问题的最佳方案为:尽量不要在函数重载时指定默认参数。

默认参数与虚函数

        在有派生关系的类中,如果基类和派生类的虚函数中都指定了默认参数,且默认参数的值不一致,则会出现一些不符合用户预期的结果。具体可参看下面的示例代码。

class CBase
{
public:virtual void Show(int a = 66){printf("CBase Show: %d\n", a);}
};class CDerived : public CBase
{
public:virtual void Show(int a = 88){printf("CDerived Show: %d\n", a);}
};CDerived *pDerived = new CDerived();
pDerived->Show();            // 输出为CDerived Show: 88
CBase *pBase = pDerived;
pBase->Show();               // 输出为CDerived Show: 66

        可以看到,调用函数时发生了多态行为,均调用了派生类的Show函数,但输出值不一样,为什么会这样呢?我们知道,虚函数具有多态行为,是动态绑定的,但函数的默认参数却是在编译时就静态绑定的。使用派生类的指针调用函数时,绑定的是派生类中声明的函数的默认参数。使用基类的指针调用函数时,绑定的是基类中声明的函数的默认参数。

http://www.hkea.cn/news/437198/

相关文章:

  • 淘宝上成都网站建设如何制作视频网站
  • 最吃香的男生十大手艺5g网络优化
  • 河源哪里做网站网络项目怎么推广
  • 网站闭关保护怎么做广州百度seo 网站推广
  • 可以在线做动图的网站近期重大新闻事件
  • 伊犁州建设局网站怎么做微信小程序
  • 做网站需要买主机那新媒体营销方式有几种
  • 网络推广seo公司seo排名的方法
  • 南山做网站多少钱百度资讯
  • 西安哪里有做网站的小学生收集的新闻10条
  • 做游戏网站有几个要素seo网站关键词优化报价
  • 蓬业东莞网站建设技术支持东莞做网站公司首选
  • 网站版式设计获客渠道有哪些
  • 今日军事新闻简短扬州seo优化
  • 国外好看的教育类网站模板下载东莞做网站最好的是哪家
  • 微擎与wordpress快速优化seo软件推广方法
  • 英文网站设计哪家好免费网站搭建
  • 网站建设公司 销量深圳谷歌seo公司
  • 新蔡哪有做网站建设的全球疫情今天最新消息
  • 怎么做平台网站百度seo报价方法
  • 帮人做网站 怎么收费怎么用网络推广
  • 网站排名优化建设百度广告投放技巧
  • 文件服务器网站搭建教程好的竞价托管公司
  • 黑龙江省城乡和住房建设厅网站首页百度链接地址
  • 网站模板修改工具专业seo关键词优化
  • 口碑好的句容网站建设yahoo搜索
  • 深圳网站建设外贸公司价格网络营销的背景和意义
  • 长春网站建设硕成传媒seo快速排名优化公司
  • web网站开发能使用c 吗免费建立个人网站申请
  • 织梦网站修改教程视频网站优化培训学校