仰视源码,实现strlen
摘要:最近对于C++源码特别感兴趣,读源码,然后根据源码实现一遍,对我帮助蛮大的。下面给出我们天天用的strlen的实现: 普通实现 size_t strlen1(const char* str){ const char* tmp = str; size_t rtn = 0; while(tmp++ !=
阅读全文
C/C++中常用的字符串处理函数和内存字符串函数
摘要:一、 字符处理函数 1. 字符处理函数:<ctype.h> 2. 字符串转换函数:<stdlib.h> 字符转换为数字: 数字转换为字符: 【以上库函数可以用于进制的转换】 类似函数还有: 3. 字符串操作函数:<string.h> 【注意:以上操作都要求目标字符数组有足够的存储空间】 4. 符串比
阅读全文
深入理解extern用法
摘要:一、 extern做变量声明 l 声明extern关键字的全局变量和函数可以使得它们能够跨文件被访问。 我们一般把所有的全局变量和全局函数的实现都放在一个*.cpp文件里面,然后用一个同名的*.h文件包含所有的函数和变量的声明。如: 如果将Demo.cpp写成了Demo.c,编译器会告诉你说无法解析
阅读全文
仰视源码,实现strstr和find
摘要:字符串查找两种情况,查找返回子字符串的指针位置和在字符串中的位置。strstr和find的实现是基于源码来实现的,然而字符串匹配方法依然可以用在字符串查找上,字符串匹配方法很多,但是源码却采用这种最为直观的方式来实现,是它的一个权衡。比起我们的暴力查找,它还是很高效的,所以,学习学习。 1.查找字符
阅读全文
仰视源,实现strcat
摘要:实现库函数strcat 字符串的连接,给出核心代码,至于安全性,就不考虑了。 还有更简单的做法吗?
阅读全文
仰视源码,实现strcmp
摘要:结果:相等返回0,src 大于dest返回1,src小于dest返回-1.。
阅读全文
仰视源码,实现strcpy
摘要:编程实现字符串的拷贝,不能用库函数。 一般的初学者或许能写出来,但是要写的很完美那就需要基本功了。 注意这里使用返回值为char*,是为了能够实现链式表达式。 strcpy拷贝了\0结束符,而strnpcy没有拷贝\0结束符,尤其注意。 比如:
阅读全文
仰视源码,实现memcpy
摘要:C++实现内存的复制 通常我们使用深复制就是通过内存复制实现的,但是对象的复制涉及到基类派生类及其相关类的问题,这里不讨论。 目的为了能够明白内存复制的底层实现。 非常简单,但是还是能学到一些东西的。
阅读全文
高效编程——C++测试代码运行时间方法
摘要:C++测试代码运行时间方法 方法一 最常用的执行时间测试方法,利用clock函数,精确度能达到ms级。 直接看代码吧,这样最直观: #include "stdafx.h" #include <ctime> #include <vector> #include <iostream> using nam
阅读全文
C++类库开发详解
摘要:前言:这是一篇总结性的文章,需要有一点C++和dll基本知识的基础,在网上查阅了很多资料感觉没有一篇详细、具体、全面的dll开发介绍,我这是根据最近项目和网上资料整理出来的,并附带实例的一个总结性的文章(由于篇幅较长故不附带源码解释)。另外,个人愚昧地认为以后C++的开发会更多地面向库的开发,所以学
阅读全文