条款35 placement new
直接调用构造函数是行不通的,然而可以通过使用placement new来哄骗编译器调用构造函数:
void *operatornew(size_t, void* p) throw()
{ return p;}
placement new是operator new的一个标准的重载版本,也位于全局名字空间中,但和我们通常看到的operator new不同,...
分类:
编程语言 时间:
2014-06-05 09:20:32
阅读次数:
315
在看这个例子之前,可以先看看:详解C和C++中的const和const和static变量的存放位置这样将会对const有非常全面的了解和认识:
下面我们将通过下面的例子看看const的一些非常不易发觉的错误:
#include
using namespace std;
class String
{
public:
friend ostream& operator<<(ostream& os...
分类:
其他好文 时间:
2014-06-05 02:53:26
阅读次数:
273
LinJM 2014_05_23
解决内存泄漏问题
在VS2010的Debug模式下面,点击运行,然后退出,之后会在输出框里面出现内存泄漏信息(如下图所示)。
Analysis:主要是new了之后没有delete相应的变量,所以,很明显就是要在不使用时delete掉这个变量。不过,有个问题,如下图所示:...
分类:
其他好文 时间:
2014-06-04 23:25:00
阅读次数:
322
条款11:在operator = 中处理"自我赋值"...
分类:
其他好文 时间:
2014-06-04 21:01:03
阅读次数:
287
【题目】
Given a sorted linked list, delete all duplicates such that each element appear only once.
For example,
Given 1->1->2, return 1->2.
Given 1->1->2->3->3, return 1->2->3.
【题意】
给定一个已排序的链表,删除其中的重复元素
【思路】
维护两个指针prev和cur, cur指针负责扫描链表,prev指向cur的前一...
分类:
其他好文 时间:
2014-06-03 04:05:39
阅读次数:
231
After modifying system headers, please delete the module cache at '/Users/XXX/Library/Developer/Xcode/DerivedData/XXXX/2ZMDAUJMMHSDC'
解决办法:前往 '/Users/XXX/Library/Developer/Xcode/DerivedData/XXX/2ZM...
分类:
移动开发 时间:
2014-06-03 01:27:06
阅读次数:
284
#include
using namespace std;
//template
class Int
{
friend ostream& operator
public:
Int(int i):m_i(i)
{
}
Int& operator++()
{
++(this->m_i);
r...
分类:
其他好文 时间:
2014-06-01 09:00:22
阅读次数:
209
Splay树的插入操作,只需要处理好插入节点的孩子节点就可以了,最重要的是不要破坏了BST的基本规则。
因为高度并不是Splay树的首要因素,所以插入的时候也是使用splay操作,然后在根节点插入。
参考:http://www.geeksforgeeks.org/splay-tree-set-2-insert-delete/
对比一下使用插入创建的树和手工创建数的区别,先序遍历的结果...
分类:
其他好文 时间:
2014-05-31 21:47:50
阅读次数:
320
【题目】
Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.
For example,
Given 1->2->3->3->4->4->5, return 1->2->5.
Given 1->1->1->2->3, return 2->3.
【题意】
给定一个有序链表,删出其中重复出现的值...
分类:
其他好文 时间:
2014-05-31 21:14:11
阅读次数:
333
windows下常用快捷键:显示桌面: win徽标+D打开资源管理器: win徽标+E打开任务管理器:
Ctrl+Alt+delete任务切换: Alt+Tab多窗口应用程序的窗口切换: Ctrl+Tab/F2关闭应用程序: ...