[解析] 本题考查的知识点是;内联函数。C++引入内联(inline)函数的原因是用它来取代C中的预处理宏函数,即带参数的宏。故本题应该选择B。结果一 题目 为了取代C中带参数的宏,在C++中使用( )。 A.重载函数B.内联函数C.递归函数D.友元函数 答案 B[解析] 此题考查的是内联函数。C++语言引入内联函数的原因...
1.内联函数在运行时可调试,而宏定义不可以; 2.编译器会对内联函数的参数类型做安全检查或自动类型转换(同普通函数),而宏定义则不会; 3.内联函数可以访问类的成员变量,宏定义则不能; 4.在类中声明同时定义的成员函数,自动转化为内联函数。 文章(一) 内联函数...
为了优化程序的性能,使用宏函数就是一个非常好的选择,省去了函数调用时的各种开销,又能像函数一样通过使用宏名和参数来简化复杂表达式。内联函数 通过之前的几个例子,我们会发现宏函数最大的问题就是只能“简单粗暴的文本替换”,不能像函数那样可以进行类型检查和真正的“参数传递”。
不少C语言程序员认为,除非宏能够带来不可替代的便捷,否则应该尽量避免使用宏,如果希望提升效率,应该尽量使用更安全的内联函数。 C语言代码示例 关于C语言内联函数和函数式宏定义,其实我之前的文章有过更详细的讨论,读者可参考: 《》 《》 接下来将给出一段C语言代码示例,进一步讨论普通函数、内联函数,以及函数宏...
C++中的const常量可以用来代替宏常数的定义,例如:用const int a = 10来替换# define a 10。那么C++中是否有什么解决方案来替代宏代码片段呢?C++中推荐使用内联函数代替宏代码片段,C++中使用inline关键字声明内联函数。注意:内联函数声明时inline关键字必须和函数定义结合在一起,否则编译器会直接忽略内联请求。
一般在程序运行时不再进行函数调用,代替了C语言中的宏定义。 正确答案:B 解析:内联函数是inline,当程序中出现对该函数的调用时,编译器使用函数体中的代码插入到调用该函数的语句处,同时用实参代替形参。一般在程序运行时不再进行函数调用,代替了C语言中的宏定义。
为了取代c中带参数的宏,在c++中使用( )。 A.重载函数B.内联函数C.递归函数D.友元函数请帮忙给出正确答案和分析,谢谢! 相关知识点: 试题来源: 解析 正确答案:B一般函数进行调用时,要将程序执行权转到被调用函数中,然后再返回到调用它的函数中;而内联函数在调用时,是将调用表达式用内联函数体来替换,即类似...
两者都可以用来减少函数调用的开销。 不当使用都可能导致代码膨胀。 差异性 类型检查:宏没有类型检查,而内联函数有。 语法:宏使用 #define 关键字定义,而内联函数使用 inline 关键字定义。 作用时间:宏在预处理阶段进行文本替换,而内联函数在编译阶段进行类型检查和可能的替换。
有:在类体内定义成员函数:class Fred public: void f(int i, char c) // ... ;尽管这对于写类的人来说很容易,但由于它将类是“什么”(what)和类“如何”(how)工作混在一起.小结总之,在嵌入式C(或C++)编程里面,懂得使用内联函数(inline)与宏定义(#define),并使用好它们,对我们是大有裨益的。(注:...