1 零值比较
**
2 sizeof
3 循环语句效率
4 为什么需要常量
5 const与#define
6 函数参数
7 Getchar()
8 函数返回值
9 断言assert
10 引用与指针
11 引用的作用
12 内存分配方式
13 指针与数组
14 野指针
15 new与malloc
16 同名
17 赋值与拷贝
18 虚函数生命历程
19 初始化列表
20 基类指针指向子类对象
21 const与static
22 extern c
23 Ifndef/define/endif
24 声明
25 explicit
26 strcpy源码
from:
https://blog.csdn.net/cazicaquw/article/details/7044602
微软实现
C:\Program Files\Microsoft Visual Studio 10.0\VC\crt\src\strcat.c
char * strcpy(char * dst, const char * src)
{
char * cp = dst;
while( *cp++ = *src++ )
; /* Copy src over dst */
return( dst );
}
林锐《高质量C++/C编程指南》
#include <assert.h>
char *strcpy(char *strDest, const char *strSrc)
{
assert((strDest!=NULL) && (strSrc !=NULL)); // 2分
char *address = strDest; // 2分
while( (*strDest++ = * strSrc++) != ‘/0’ ) // 2分
;
return address ; // 2分
}
最后附上effective c++的条款