
C/C++语言
文章平均质量分 80
着重介绍C/C++常用用法
喝醉的鱼
这个作者很懒,什么都没留下…
展开
-
C++中的lambda函数(匿名函数)[](){}
介绍C++中的lambda函数(匿名函数)[](){}原创 2023-12-12 00:42:01 · 1131 阅读 · 0 评论 -
C语言之可变参数列表
C语言中函数是支持可变参数的,当然也存在着一些限制,可变参数是利用宏来实现,在头文件stdarg.h里面定义。头文件声明了一个类型va_list和三个宏———va_start,va_arg和va_end。比较常用的是用来构造专门输出函数,这里用一个综合的例子来介绍:#include <stdio.h>#include <stdarg.h>/** *** Sel...原创 2018-08-09 09:43:49 · 266 阅读 · 0 评论 -
C语言之结构体实现共有、私有的思考(参考strongswan代码)
最近在看strongswan源代码,看到strongswan的代码框架很有意思,用C语言实现类的思想。当我们编写完一个模块,我们需要提供的是H的文件给其他模块使用,我们希望H文件中就只能包含一些公有函数,和一些类型的申明,不希望其他模块篡改我们C文件私有的变量,访问我们的私有方法,strongswan的代码实现这种类思想,举个简单的例子,如图:比如左侧C文件是一个主程序,可以调用模块1和模...原创 2018-08-10 00:09:58 · 4666 阅读 · 4 评论 -
C语言的小括号和花括号结合使用&&复合语句
先上代码,对于基于f-statck协议栈改进项目时候,看到一段代码,内核里面的很多宏也经常使用这种复合型语句,看了相关的资料和博客,写下来自己的理解:static int (*real_clock_gettime) (clockid_t , struct timespec *);#define SYSCALL(func) ...原创 2018-08-02 21:59:32 · 7832 阅读 · 0 评论 -
C语言经典抽象数据类型----队列(动态数组队列和链式队列)
堆栈、队列、树应该是三种经典抽象数据类型,下面介绍一下队列,队列是一种先进先出的结构,就像食堂排队一样,最先排的人最先打到饭,新入队的人排在队伍的最后,画了一个简单的图,如果用数组来模拟堆栈和队列,堆栈和队列的插入/删除跟图中一样可以看出,如果用堆栈用数组来表示,那么堆栈只需要维护一个栈顶的元素的下标值(即数组尾部值的下标值)就行,数据想要插入数组,只要数组还有空余,就在数组尾部添加值,并...原创 2018-08-21 22:22:46 · 1974 阅读 · 2 评论