单体,整个运行环境就独有一份,最简单的一种单体就是一个把所有属性和方法都集中在一起的对象,区别于一般的字面量对象,一般字面量对象是对一个物体的描述,集合该物体所具有的一些属性和方法,而单体则包含更多的些逻辑在里面,单体的好处有,划分命名空间,如果用来作为网页包装器,可以使得页面所有变量都封装在一个对...
分类:
编程语言 时间:
2014-06-18 19:33:03
阅读次数:
209
概述(泛型算法)
大多数算法都定义在头文件algorithm中。标准库还在头文件numeric中定义了一组泛型算法。
#include
#include
#include
#include
using namespace std;
int main()
{
vector vec;
for(size_t t=0 ; t != 44 ; ++t)
{
...
分类:
编程语言 时间:
2014-06-16 21:47:20
阅读次数:
300
一、能避免同步吗?
取得锁会因为以下原因导致成本很高:
取得由竞争的锁需要在虚拟机的层面上运行更多的程序代码。
要取得有竞争锁的线程总是必须等到锁被释放后。
1. 寄存器的效应
计算机有一定数量的主寄存器用来存储与程序有关的数据。
从逻辑上的观点来看,每个Thread都有自己的一组寄存器。当操作系统将某个Thread分配给CPU时,它会把该Thread特有的信息...
分类:
编程语言 时间:
2014-06-16 18:58:52
阅读次数:
405
在2013年7月13日前的版本。影响网站:所有dedecms版本漏洞页面plus/download.php漏洞脚本plus/download.php?open=1&arrs1[]=99&arrs1[]=102&arrs1[]=103&arrs1[]=95&arrs1[]=100&arrs1[]=98&arrs1[]=112&arrs1[]=114&arrs1[]=101&arrs..
分类:
其他好文 时间:
2014-06-16 17:50:04
阅读次数:
245
2014.06.15 22:14简介: 堆是一种非常实用的数据结构,其中以二叉堆最为常用。二叉堆可以看作一棵完全二叉树,每个节点的键值都大于(小于)其子节点,但左右孩子之间不需要有序。我们关心的通常只有堆顶的元素,而整个堆则被封装起来,保存在一个数组中。图示: 下图是一个最大堆: 实现: 优...
分类:
编程语言 时间:
2014-06-16 13:16:58
阅读次数:
230
//1.17//遍历数组a,计算其中负数的个数int amount=0;for(int i=0;i<strlen(a);i++) if(a[i]<0) ++amount;//1.19//每隔输10个值for(int val=lower,count=1;val<=upper;++v...
分类:
编程语言 时间:
2014-06-15 10:50:29
阅读次数:
268
第15章 友元、异常和其他
1.友元不仅有友元函数,还能是友元类
还可以将类中的某一个成员函数指定为另一个类的友元
尽管友元被授予从外部访问私有部门的权限,单并不与面向对象编程思想相愽,相反,它们提高了公有接口的灵活性
2.类的成员函数作为其他类的友元,涉及到类的声明顺序。
还有一个函数作为两个类的友元
这方面内容看P607-611
3.嵌套类:在另一个类中声明的类被称为嵌套类
类...
分类:
编程语言 时间:
2014-06-14 17:58:31
阅读次数:
246
1.递增递减运算符
C++语言并不要求递增递减运算符必须是类的成员。但是因为他们改变的正好是所操作对象的状态,所以建议设定为成员函数。
对于递增与递减运算符来说,有前置与后置两个版本,因此,我们应该为类定义两个版本的递增与递减运算符。...
分类:
编程语言 时间:
2014-06-13 22:04:41
阅读次数:
418
vector对象是如何增长的
当需要更多空间的时候,会重新分配比新空间需求更大的内存空间,作为备用
管理容器的成员函数
shrink_to_fit //只适用于vector,string,deque
capacity reserve //只适用于vector,string
c.shrink_to_fit() //请将capacity()减少为与size相同大小
c.c...
分类:
编程语言 时间:
2014-06-13 20:51:16
阅读次数:
279