explicit 构造函数

C++的构造函数默认有一个隐式转换,将构造函数对应数据类型的数据转换为该类对象,如下:class String { String ( const char* p ); // 用C风格的字符串p作为初始化值 //… } String s1 = “hello”; //OK 隐式转换,等价于String s1 = String(“hello”); 但是有的时候可能会不需要这种隐式转换,如下:class

- 阅读全文 -

strcpy,memcpy和memset函数

strcpy原型:char *strcpy(char *dest,const char* src) { assert((dest!=NULL)&&(src!=NULL)); char *add=dest;//保存原地址; while((*dest++ = *src++)!='\0'); return add; }memcpy原型:void *memc

- 阅读全文 -

数组a[N]存放了1至N-1个数,其中某个数重复,写一个函数找出被重复的数

原题: 数组a[N],存放了1至N-1个数,其中某个数重复一次。写一个函数,找出被重复的数字.时间复杂度必须为o(N)函数原型:int do_dup(int a[],int N)解决方法: 简化题意得到,a[N]存了N-1个不重复的数,其中有一个数字是重复的,我们设为x。我们只需要建立一个b[N]数组,设里 面的N个数字都不重复,然后用b数组的和减去a数组的和,得到的就是最大的那个数字N减

- 阅读全文 -