2012年3月15日

C++ 细节(一)---------->关于自定义Functor以及重载operator=

摘要: 先上代码://printer.hpp#ifndefPRINTER_HPP_#definePRINTER_HPP_typedefvoid(*pfunc)(int);classprinter{public:printer();printer(pfuncfunc);virtual~printer(void);printer&operator=(pfuncfunc);booloperator()(intelem);private:pfuncm_func;};#endif//printer.cpp#include"printer.hpp"printer::printer(): 阅读全文

posted @ 2012-03-15 17:08 Phoe Wang 阅读(209) 评论(0) 推荐(0)

2011年11月2日

C标准库函数实现之字符串比较函数

摘要: 今天看C标准库,有个比较相关的系列函数,看到了两个不认识的函数,strcoll和strxfrm。 首先来看strcoll函数,原型为:int strcoll(const char *s1, const char *s2); 按照说明,这个函数是用来比较串的,那作用应该和strcmp差不多,但是它的作用不止于此,“若LC_COLLATE为"POSIX"或"C",则strcoll()与strcm... 阅读全文

posted @ 2011-11-02 09:56 Phoe Wang 阅读(1224) 评论(0) 推荐(0)

2011年11月1日

C标准库函数实现之strncpy,strncat

摘要: 这两个函数,都是比较简单的,但是这两个函数也有需要注意的地方,就是效率问题。 以下是实现代码: char *strncpy(char *dest, const char *src, size_t count){ char *tmp = dest; while (count) { if ((*tmp = *src) != 0) src++; tmp++; count--; } retu... 阅读全文

posted @ 2011-11-01 15:48 Phoe Wang 阅读(1567) 评论(0) 推荐(0)

C标准库函数实现之strstr

摘要: 昨天去参加一个面试,发现自己的代码水平还是不够,连基本的标准库实现,都没法做好,遂决定对标准库中的部分函数的实现研习一番。 面试的是 char* strstr( char* s1 , char* s2 )函数,自己写的就不说了,写得很烂,不过看了minix代码,里面的实现思路和我一样,Linux的代码中,对这个函数有用汇编来进行实现的,暴汗…… 看下Linux下的实现: char *strstr... 阅读全文

posted @ 2011-11-01 14:25 Phoe Wang 阅读(5483) 评论(1) 推荐(1)

导航