随笔分类 -  C++

摘要:一道看似简单的面试题,却容易搞混淆。C/C++水真的很深。题目是让你实现一个Memcpy,我一开始以为是strcpy,后者比较容易实现,memcpy()用来拷贝src所指的内存内容前n个字节到dest所指的内存地址上。与strcpy()不同的是,memcpy()会完整的复制n个字节,不会因为遇到字符串结束'\0'而结束,Memcpy的长度,必须你自己设定,strcpy的长度可以通过strlen()计算出来,所以memcpy需要第三个参数count.memcpy()的实现难点:1.指针类型的变换 2.要防止内存拷贝时的相互覆盖 1 void* memcpy(void* dest, 阅读全文
posted @ 2012-09-08 00:03 桥边红药 阅读(201) 评论(0) 推荐(0)
摘要:#ifndef MyList_H#define MyList_Htemplate<typename Object>class MyList{private: struct Node{ Object data; Node *prev; Node *next; Node(const Object &d = Object(), Node *p = NULL, Node *n = NULL): data(d),prev(p),next(n){} }; int theSize; Node *head; Node *ta... 阅读全文
posted @ 2012-06-23 13:26 桥边红药 阅读(264) 评论(0) 推荐(0)
摘要:#ifndef MyVector_H#define MyVector_Htemplate<typename Object>class MyVector{private: int theSize; int theCapacity; Object *objects;public: typedef Object *iterator; typedef const Object *const_iterator; enum {SPARE_CAPACITY = 16}; explicit MyVector( int init = 0 ): theSize(init),theCapacity(in 阅读全文
posted @ 2012-06-22 23:37 桥边红药 阅读(258) 评论(0) 推荐(0)