
C/C++语言
zmxiangde_88
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
assert宏的深入学习
assert宏的原型定义在头文件assert.h中,它的作用是如果宏后面的条件返回假,则终止程序的执行,该宏会调用__assert_fail函数,这个函数内部会先向stderr输出错误信息,然后调用abort函数来终止程序的执行。一,assert宏的定义如下:# define assert(expr)原创 2012-11-23 11:25:55 · 4597 阅读 · 0 评论 -
C++实现的命令行参数管理
在编写可运行程序时,经常需要输入除了可运行文件之外的其它的命令行参数,可以用传统的getopt函数来分析,本文基于面向对象,分析一种管理命令行参数方法 -- 来源于webrtc项目,在阅读过程中,大家分享一下。一,传统命令行分析包含头文件:#include int getopt(int argc,char * const argv[ ],const char * optst原创 2012-11-20 15:34:24 · 5825 阅读 · 0 评论 -
一个C++中智能指针的设计
在C++中,智能指针是存储一些动态分配对象或者资源的类,主要用于控制资源或者动态对象的使用生存期,设计的目的如下:保证能够正确的分配和销毁动态对象或者资源,以防止内存泄露等问题。跟踪对象或者资源的使用情况。智能指针的实现一般都是使用引用计数,将一个计数器与使用的指针相关联起来,此时引用计数器跟踪该所属类有外部多少共享。因此在实现的时候,就有两个根本的部分计数表示。用于实原创 2012-11-27 15:58:04 · 1475 阅读 · 0 评论 -
inet_ntoa在64位机器上出错
inet_ntoa用法如下:char *inet_ntoa(struct in_addr in);就是将struct in_addr结构转换为IP地址的形式,struct in_addr这个结构应该不陌生吧,它的定义如下:struct in_addr{ unsigned long s_addr;}struct sockaddr_in { short in原创 2012-11-07 14:12:48 · 8436 阅读 · 1 评论 -
strcpy实现
char *strcpy(char *to, const char *from){ char *save = to; for (; (*to = *from) != '\0'; ++from, ++to); return(save);}转载 2012-09-20 11:14:32 · 534 阅读 · 0 评论 -
memcpy实现
#include /* * sizeof(word) MUST BE A POWER OF TWO * SO THAT wmask BELOW IS ALL ONES */typedef long word; /* "word" used for optimal copy speed */#define wsize sizeof(word)#define wmask (wsiz转载 2012-09-20 11:23:16 · 767 阅读 · 0 评论 -
memcmp的实现
int memcmp(const void *s1, const void *s2, size_t n){ if (n != 0) { const unsigned char *p1 = s1, *p2 = s2; do { if (*p1++ != *p2++) return (*--p1 - *--p2); } while (--n != 0);原创 2012-09-20 10:59:00 · 1608 阅读 · 0 评论 -
日志模块的C语言实现
一,模块接口模块接口比较简单,因为主要只有写日志的操作。创建日志模块变量log_t log_new(log_type_t type,const char *file, const char *facility);log_type_t用于控制日志的类型,可以标识为系统日志,文件以及标准输出,是一个枚举类型,定义如下:typedef enum { log_STD原创 2012-09-27 19:03:19 · 14193 阅读 · 2 评论 -
C语言的HashTable简单实现
HashTable是在实际应用中很重要的一个结构,下面讨论一个简单的实现,虽然简单,但是该有的部分都还是有的。一,访问接口创建一个hashtable.hashtable hashtable_new(int size) // size表示包含的接点个数。存入key-value至hashtable中。void hashtable_put(hashtable h,const原创 2012-09-27 16:35:42 · 17901 阅读 · 3 评论 -
C++类的函数重载
本文讨论C++中类的函数重载。下面的一个例子#include using namespace std;class Base{public: int display(int n_count){ cout <<"display function defined in the Class Base"<<endl;原创 2012-12-23 12:55:02 · 5504 阅读 · 1 评论