![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
偶的面试题
duanhjlt
这个作者很懒,什么都没留下…
展开
-
编写类String的构造函数、析构函数和赋值函数
已知类String的原型为:class String{public: String(const char *str = NULL);// 普通构造函数 String(const String &other); // 拷贝构造函数 ~ String(void); // 析构函数 String & operate =(const String &oth原创 2009-11-10 08:37:00 · 227 阅读 · 1 评论 -
C++堆、栈、自由存储区、全局/静态存储区和常量存储区
在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。 堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会原创 2009-11-10 08:41:00 · 154 阅读 · 0 评论 -
memcpy实现
难点:1.指针类型的变换 2.要防止内存拷贝时的相互覆盖void* memcpy(void* dest,const void* source,int lengh){ assert((dest!=NULL)&&(source!=NULL)); //断言 if(dest { char* cdest = (char*)dest; c原创 2009-11-10 09:17:00 · 223 阅读 · 0 评论 -
strstr实现
char* strstr ( const char * str1, const char * str2 ){char *cp = (char *) str1;//cast const ->variablechar *s1, *s2; if ( !*str2 )return((char *)str1); while (*cp){s1 = cp;s2 = (char *) str2;wh原创 2009-11-10 08:51:00 · 157 阅读 · 0 评论