今天看公司的一位大佬写的一个函数库模块--corenowa(这是他自己取的名字),发现里面有很多地方非常巧妙!
比如 :
#ifdef __STDC__
#define STR(x) #x
#define CONC(x,y) x##y
#define CONC3(x,y,z) x##y##z
#else
#define STR(x) "x"
#define CONC(x,y) x/**/y
#define CONC3(x,y,z) x/**/y/**/z
#endif
还发现一个地方,给函数名加上了括号:
typedef struct Signal_interface Signal_interface_t; struct Signal_interface
{
void (*handler) (int32_t signum, signal_cb_func func);
};
原来加上括号是为了防止宏扩展。
来自:http://tieba.baidu.com/f?kz=1010232148
分享到:
相关推荐
该变量名后加上圆括号,就可以执行与其值同名的函数,因此可变函数也称为变量函数。 二、引用函数返回值 引用不仅可以用于普通变量、函数参数,还可以用于函数的返回值,此时只需在函数名前添加&符号。此处需注意,...
Python中定义函数的语法如下: ``` def function_name(parameters): """docstring""" statement(s) ``` 其中,关键字"def"表示定义函数的关键字,后面跟着函数名"function_name",函数名可以自定义,但是需要符合...
函数名的命名规则:和标识符的基本规则是一样的,基本上由小写字母和数字下划线构成 def 是关键字,不能够修改(define的简称) 函数后面一定要加括号(英文状态的)括号里面是否加参数看具体情况 括号后面的...
在函数体结尾的括号后面可以加上注释,注释中应该包括函数名,这样比较方便进行括号配对检查,也可以清晰地看出来函数是否结束。 范例1:函数的声明 void matMyFunction(int n) { …… } /* matMyFunction*/ 1.2...
本文实例讲述了Python中函数的参数定义和可变参数用法。分享给大家供大家参考。具体如下: 刚学用Python的时候,特别是看一些库的源码时,经常会看到func(*args, **...调用的时候,我们需要使用函数名,加上圆括号扩
函数名是由用户定义的标识符,函数名后有一个空括号,其中无参数,但括号不可少。{} 中的内容称为函数体。在函数体中也有类型说明, 这是对函数体内部所用到的变量的类型说明。在很多情况下都不要求无参函数有...
匿名函数指没有指定函数名或指针的函数,自执行匿名函数只是其中一种,下文中称这种函数为:自执行函数 下面是一个最常见的自执行函数: // 传统匿名函数 (function() { alert('hello'); })(); 这段...
Generator函数是ES6提供的一种异步编程解决方案...Generator函数的调用方法与普通函数一样,也是在函数名后面加上一对圆括号。不同的是,调用Generator函数后,该函数并不执行,返回的也不是函数运行结果,而是一个指向
所以不用return,也没有函数名,经常用在需要key参数的函数中,比如sorted。 2 元组(),它是以逗号辨别的,而不是小括号。比如一个元素的元组新手经常写成(12),其实他会被解释成单个元素12.正确的写法应该是(12,),...
在列出表中所有字段名的时候,用到了这样一个SQL函数:object_id 这里我将其作用与用法列出来,好让大家明白: OBJECT_ID: 返回... 如果指定一个临时表名,则必须在临时表名前面加上数据库名,例如: SELECT OBJ
1.对象的创建方法: (1)通过new运算符创建,new后面跟着一个构造函数名 var object = new Object(); 构造函数直接调用时通常没有返回值,它只是初始化由this值传递进来的对象;但是与new一起使用时返回一个对象值...
在C++中,允许有相同的函数名,不过它们的参数类型不能完全相同,这样这些函数就可以相互区别开来。而这在C语言中是不允许的。 1.参数个数不同 #include iostream.h void a(int,int); void a(int); int main...
让⽅法变成私有:在名字前⾯加上双下划线 class Secretive: def __inaccessible(self): print("Bet you can't see me") def accessible(self): print("The secret message is:") self.__inaccessible() s = ...
这是官方文档的说明 ...参数二是定义父级方法名,如果有需要定义该方法的子方法时候同样使用onevent,但参数二的方法名需要与父级相同并已加上括号 如下面的代码中data方法,定义子方法就是data(1), 如果
智能的SQL编辑器:自动弹出提示窗口,列出关键字、函数名、列名、对象名、对象类型、参数、包内的过程和函数,提高SQL编辑效率。例如: (1)输入字串“se”,两秒钟后列出以“se”开头的所有关键字及函数; (2...
add_months(日期值,给定的月数):在制定日期上加上指定的月数,求出之后的日期 next_day(日期值,星期):指定日期后的星期对应的新日期 last_day(日期值):返回指定日期所在月份的最后一天 日期进行加减的一些规律...
要理解这个表达式,请按下列顺序分析它:\d{1,3}匹配1到3位的数字,(\d{1,3}\.){3}匹配三位数字加上一个英文句号(这个整体也就是这个分组)重复3次,最后再加上一个一到三位的数字(\d{1,3})。 IP地址中每个数字都不能...
智能的SQL编辑器:自动弹出提示窗口,列出关键字、关键字组合、函数名、列名、对象 名、对象类型、参数、包内的过程和函数,提高SQL编辑效率。例如: (1)输入字串“sel”,一秒钟后列出以“sel”开头的所有关键字...