为了取代C中带参数的宏,在C++中使用(  )。

题目
单选题
为了取代C中带参数的宏,在C++中使用(  )。
A

重载函数

B

内联函数

C

递归函数

D

友元函数

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

( 11 )为了取代 C 中带参数的宏,在 C++ 中使用

A )重载函数

B )内联函数

C )递归函数

D )友元函数


正确答案:B

第2题:

●下列叙述中正确的是 (34) 。

(34) A.宏替换不占用运行时间

B.在带参的宏定义中,要定义其形式参数的类型

C.在带参的宏定义中,形式参数是变量

D.在带参的宏定义中,形式参数是常量


正确答案:A
【解析】带参的宏定义与函数类似。如果我们把宏定义时出现的参数视为形参,而在程序中引用宏定义时出现的参数视为实参。虽然带参数的宏定义和带参数的函数很相似,但它们还是有本质上的区别:
①在带参的宏定义中,形式参数不是变量,只是一个符号,不分配内存单元,不必定义其形式参数的类型。发生宏"调用"时,只是将实参替换形参。而在函数中,形参和实参是完全独立的变量,它们均有自己的作用域。当调用发生时,实参传递给形参的过程(值传递或引用传递)完全不同于简单的宏替换。
②在宏定义中的形参是标识符,而宏调用中的实参可以是表达式。
③从发生的时间来说,宏"调用"是在编译时发生的,函数调用是在程序运行时发生的;宏"调用"不存在内存单元分配的问题,而函数调用时,会给形参变量分配内存单元,然后复制实参的值,函数调用结束后,形参变量占用的内存单元被释放。

第3题:

80x86汇编中,宏展开就是用宏定义体取代程序中的宏指令名,用实元取代宏定义中的()。

A.哑元

B.参数表

C.变量

D.标号


正确答案:A

第4题:

宏定义中的形式参数可以多于宏调用的实在参数。()


参考答案:正确

第5题:

为了取代C中带参数的宏,在C++中使用

A.重载函数

B.内联函数

C.递归函数

D.友元函数


正确答案:B
解析:本题考查的知识点是;内联函数。C++引入内联(inline)函数的原因是用它来取代C中的预处理宏函数,即带参数的宏。故本题应该选择B。

第6题:

C++在重载运算符中,如用成员函数重载一元运算符参数表中需要【 】个参数,如用友元函数重载一元运算符参数表中需要【 】个参数。


正确答案:0 1
0 1 解析:C++中友元函数重载一元运算符要有一个参数,重载二元运算符要有两个参数,而用成员函数重载时,重载一元运算符没有参数,重载二元运算符要有一个参数。

第7题:

下列关于宏的说法中,错误的一项是( )。

A.宏是若干个操作的集合

B.每一个宏操作都有相同的宏操作参数

C.宏操作不能自定义

D.宏通常与窗体、报表中命令按钮相结合来使用


正确答案:B
解析:本题考查对宏的理解。选项A正确。选项B错误,对于不同的宏操作,其宏操作参数不一定相同。选项C正确,在创建宏时,只能在“操作”下拉列表中选择Access提供的宏操作,而不能自定义宏操作。选项D正确。所以答案为B。

第8题:

宏定义可分为带参数的宏定义和不带参数的宏定义两类。()

此题为判断题(对,错)。


参考答案:正确

第9题:

在下列有关宏替换的叙述中,错误的是()

A.宏替换占用运行时间

B.宏替换只是字符替换

C.带参数的宏替换和函数等价

D.宏名有类型


正确答案:ACD

第10题:

当源程序被汇编时,汇编程序将对每个宏调用作宏展开。宏展开就是用宏定义体取代源程序中的宏指令名,并且用实元取代宏定义中的哑元,对应关系是一一对应。( )


正确答案:对

更多相关问题