这个条款应该和第五个放在一起编译器默认生成1 无参构造函数,2 析构函数3 拷贝构造函数4 赋值预算符当我们不需要,就要显示的告诉大家我们不需要。方法:自己声明这个函数为private,单不要定义它。原因:1 自己声明这个函数,编译器就不会为我们生成这个函数 2 声明成private,就不会被...
分类:
编程语言 时间:
2014-07-07 13:33:21
阅读次数:
232
#说明:博客园对Markdown支持有问题,请看[开源中国](http://my.oschina.net/grnick/blog/280866)。# 学习《Effective C++》 #@date: 2014-06-16 #@author: gerui #@email: forgerui...
分类:
编程语言 时间:
2014-07-01 22:00:57
阅读次数:
227
STL源码剖析---根据最新版本的g++4.9.0(支持C++11)的修订(1)空间配置器 源码剖析采用的G++版本为2.91.57版本,是比较老的版本与最新版本4.9.0有某些方面的差别。现在我针对最新版本做一个分析。我下载了最新的gcc-4.9.0的包作为观察对象: 我们#include 时的头...
分类:
编程语言 时间:
2014-07-01 21:21:18
阅读次数:
582
前面已经学习过auto_ptr,这里补充另外一种智能指针,比auto_ptr要更强力更通用的shared_ptr。 shared_ptr 简介及使用选择 几乎所有的程序都需要某种形式的引用计数智能指针,这种指针让我们不再需要为两个对象或更多对象共享的对象的生命周期而编写复杂的逻辑(写起来有点绕口)....
分类:
其他好文 时间:
2014-07-01 13:25:27
阅读次数:
217
《EffectiveC#》这本书讲了一些关于C#语言的使用技巧和经验. 该系列文章是备忘录和自己的一些见解.程序猿们最喜欢这类问题了,欢迎讨论~菜单Item 1 使用属性取代公共成员变量Item 2 优先考虑readonly而不是constItem 3 使用is/as取代转换操作符来进行对象类型转换...
分类:
其他好文 时间:
2014-06-30 14:57:30
阅读次数:
319
①push_heap算法
下面是push_heap算法的实现细节。该函数接收两个迭代器,用来表现一个heap底部容器(vector)的头尾,并且新元素已经插入到底部的最尾端。
template
inline void push_heap(RandomAccessIterator first,RandomAccessIterator last)
{
//注意,此函数被调用时,新...
分类:
其他好文 时间:
2014-06-30 09:25:57
阅读次数:
239
(一)
class Shape {
public:
virtual void draw() const = 0;
virtual void error(const string& msg);
int objectID() const;
};
class Rectangle : public Shape {...};
class Ellipse : publi...
分类:
编程语言 时间:
2014-06-30 00:55:48
阅读次数:
409
《STL源码剖析》中,指出SGI STL的list底层数据结构式循环双向链表,并且在链表尾端留一个空白节点,让end指向它。由于是双向的,那么list的迭代器必须是Bidirectional Iterator类别的。
下面,分别验证vs2010下和code blocks(gcc)下,list的底层实现是否是循环链表。
#include
#include
using namesp...
分类:
其他好文 时间:
2014-06-30 00:21:54
阅读次数:
202
题目链接:http://poj.org/problem?id=2442
题目大意:给出一个m*n的矩阵,从每一行中取出一个数相加,能得到n^m个不同的结果,要求输出其中前n项。
建立一个以n元数组为底层数组的堆,在这里,利用stl中的make_heap,pop_heap,push_heap等函数解决。
1.将第一组数据输入arr1数组,升序排序。
2.将接下来的数据输入到arr2数组中,并...
分类:
其他好文 时间:
2014-06-29 23:25:31
阅读次数:
259
题目链接:点击打开链接
stl+容斥
#include
#include
#include
#include
#include
#include
using namespace std;
#define N 65540
#define ll __int64
ll n;
ll a[N][4], mul[4]={1,16,256,4096};
ll h[N];
vectorG[N];
...
分类:
其他好文 时间:
2014-06-29 20:46:31
阅读次数:
193