ChinaUnix.net
相关文章推荐:

C 面试题什么是内联函数

  比如: void fun(int a, int b) 这个参数怎么传进去的? 传进去的参数的参数放在哪里?  从这个函数的在内存中的 代码段,数据段方面解释。

by maxunix - C/C++ - 2009-08-20 21:07:57 阅读(4488) 回复(29)

相关讨论

(1)什么内联函数
内联函数指那些定义在类体内的成员函数,即该函数函数体放在类体内。

(2)为什么要引入内联函数
当然,引入内联函数的主要目的:解决程序中函数调用的效率问题。另外,前面我们讲到了宏,里面有这么一个例子:
#define ABS(x) ((x)>0? (x):-(x))
当++i出现时,宏就会歪曲我们的意思,换句话说就:宏的定义...

by liliu4239 - 移动操作系统 - 2011-12-21 08:41:35 阅读(472) 回复(0)

随机函数面试题 来自 http://blog.csdn.net/wuxianglong/article/details/6804216的一道题。 题目: 给定一个函数rand5(),该函数可以随机生成1-5的整数,且生成概率一样。现要求使用该函数构造函数rand7(),使函数rand7()可以随机等概率的生成1-7的整数。 思路: 很多人的第一反应利用rand5() + rand()%3来实现rand7()函数,这个方法确实可以产生1-7之间的随机数,但仔细想想可以发现数字生成的概率不相等的。r...

java

by so_brave - Java - 2011-09-27 23:04:52 阅读(1802) 回复(1)

平时很少关注这些,今天被面试官问住了

by IOOOOOOOOOO - AIX - 2012-09-07 21:55:48 阅读(1447) 回复(4)

如题,在看代码时发现有的头文件里喜欢有一些内联函数,这样做效率高吗? 这样理解否正确,频繁执行的短小的函数,用内联

by zhendehaoren - C/C++ - 2014-06-13 08:06:54 阅读(2349) 回复(9)

总所周知,inline函数编译之后,代码被直接放进调用函数中。问题:如果一个inline函数调用了其他的函数,那么这个函数的代码会像inline函数一样被复制到调用函数中么?我觉得不会,该怎么验证?[code]void func_02() { puts("This is func_02!"); return; } inline void func_01() { puts("This is func_01!"); func_02(); return 0; } int main() { func_01(); puts("This is main function!"); return 0; } [/cod...

inline

by dodiddone - C/C++ - 2011-08-23 09:48:59 阅读(2422) 回复(5)

下面的代码有什么问题? class A { public: A() { p=this; } ~A() { if(p!=NULL) { delete p; p=NULL; } } A* p; }; 引起无限递归? 还引起错误,无法p赋值? 很不理解.谢谢

by nohypo - C/C++ - 2008-06-11 11:36:49 阅读(1578) 回复(5)

好多公司的笔试题都有它,我吃了两次亏,长了一智 文章(一) 内联函数与宏定义   在C中,常用预处理语句#define来代替一个函数定义。例如:     #define MAX(a,b) ((a)>(b)?(a):(b))   该语句使得程序中每个出现MAX(a,b)函数调用的地方都被宏定义中后面的表达式((a)>(b)?(a):(b))所替换。   宏定义语句的书写格式有过分的讲究, MAX与括号之间不能有空格,所有的参数都要   放在括号里。尽管如此,它还有麻烦:  ...

by thestones - Linux文档专区 - 2005-11-17 15:49:25 阅读(889) 回复(0)

main() { char *p1=“name”; char *p2; p2=(char*)malloc(20); memset (p2, 0, 20); while(*p2++ = *p1++); printf(“%s\n”,p2); }

by scudong - C/C++ - 2009-09-11 11:10:43 阅读(5515) 回复(22)

本帖最后由 mathieu 于 2013-09-05 18:32 编辑 面试题,实现一个变量除以15,不使用/除法运算符和库函数 在网上搜到下面的思路: 我们不妨将A转化一下,加上一定的数字a,使得 (A + a) / 15 = A / 16 ,(A >>4) 求得 a = A >> 16 + 1 最后实现代码:quotient=(i + (i >> 4) + 1 ) >> 4; 我觉得自己实在过于愚钝,琢磨了半天也没看懂这个思路什么意思,以及为什么能得出后面的实现代码。有人能帮忙解释下吗? 最后真心问...

by mathieu - C/C++ - 2013-09-11 15:59:42 阅读(3420) 回复(9)