![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
卡卡不知水
这个作者很懒,什么都没留下…
展开
-
Effective C++ 2nd Edition (2)
五. 使用相同形式的new和deletestring *pstr = new string[];delete [] pstr; //删除一个对象数组 ------------------------------------string *pstr = new string;delete pstr; //删除单一对象反正需要匹配的,要不内存管理方面就出错咯六. 记得在destructor中以delete对付pointer members按侯高手说法, 就按顺序干这些事情比较安全:1. constructo原创 2011-01-10 16:38:00 · 260 阅读 · 0 评论 -
Effective C++ 2nd Edition (3)
九. 避免掩盖了new的正规形式内部范围的一个声明,会掩盖外部相同的名称。 operator new这东东那。方法1:写一个class专属的operator new class X{public: void f(); static void* operator new(size_t size,new_handler p); static void* operator new(size_t size) { return ::operator new(size);原创 2011-01-10 17:03:00 · 204 阅读 · 0 评论 -
Effective C++ 2nd Edition (6)
<br />十八. 努力让接口完满( complete )且最小化<br />1. 接口函数愈多,潜在客户愈不容易了解它<br />2. 大型接口容易令人迷失。<br />3. 可维护性差<br />4. 长长的头文件,编译时间长<br /><br />十九. 区分member functions, non-member functions和friend functions 三者<br /><br />member functions和non-member functions之间最大差异,成员函数可以是虚函原创 2011-01-11 21:57:00 · 237 阅读 · 0 评论 -
Effective C++ 2nd Edition (4)
<br />十一. 如果class内动态配置有内存,请为此class声明一个copy constructor和一个assignment运算符<br /><br />简陋的string class<br />class String{public: String(const char *value); ~String(); private: char *data;};String::String(const char *value){ if(value)原创 2011-01-10 21:14:00 · 325 阅读 · 0 评论 -
Effective C++ 2nd Edition (5)
<br />十五. 令operator=回传 *this 的reference <br />String& String::operator=(const String& rhs){ return *this; //传回一个reference,左侧对象}String& String::operator=(const String& rhs){ return rhs; //传回一个reference,右侧对象}<br /><br />感觉才不多,其实里面不一样哦。<b原创 2011-01-10 21:57:00 · 179 阅读 · 0 评论 -
关于char *p和char p[]
见论坛上有人讨论这个问题,感觉也是涉及面比较广,而且很多人犯过这个错误,比如声明char *p = "hello world!";却妄图用p指针改变字符串内容,所以就这个问题,我总结了一下。转载注明作者Logic0以及出处。主要解析的问题:问题1:#include "stdio.h"char *get_string_1(){ char p[] = "hello world!";转载 2011-06-29 21:41:00 · 217 阅读 · 0 评论