第六章:默认实参、内联函数、constexpr函数(三种函数的语言特性)专题

本文深入探讨C++中的函数特性,包括默认实参的使用,如何为make_plural函数设置默认值,内联函数与constexpr函数的差异,以及调试技巧如assert的使用和条件输出。通过实例解析,帮助读者理解这些概念,并提供相关练习以巩固知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、默认实参
(1)下面哪个声明是错误的?为什么?

   (a) int ff (int a, int b=0, int c=0);
   (b)char *init(int ht = 24, int wd, char bckgrnd);
   解析:(b)是错误的;考察知识点为:一旦函数的某个形参被赋予了默认值,他后面所有的参数都必须有默认值。

(2)下面调用哪个是合法的?为什么?哪个调用虽然是合法的但是显然程序员的初衷不符?为什么?

char *init(int ht, int wd, char bckgrnd = ' ');
(a) init();    (b)init(24,10);   (c)init(14,'*');
解析:(a):ht需要提供实参
      (b):合法
      (c):合法,但是wd会被赋予*号
      考察知识点:
     	知识点1:函数反复调用的过程中重复出现的形参,这样的值被称为默认实参。该参数在使用过程中可以被用户指定,也可以使用默认数值
      	知识点2:调用含有默认实参的函数时,可以包含该实参,也可以省略该实参。
		知识点3:一旦某个形参被赋予了默认值,其后所有形参都必须有默认值。
		知识点4:顺序很重要!在设计函数时,将默认值的形参放在后面。
		知识点5:在给定的作用域中,一个形参只能被赋予一次默认实参,且局部变量不能作为默认实参。

(3)给make_plural函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

N1314N

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值