
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.youkuaiyun.com/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++的条款


331





