- 浏览: 546080 次
- 性别:
- 来自: 上海
最新评论
-
chuanwang66:
默默水塘 写道typedef void(*Fun)(void) ...
C++虚函数表(转) -
默默水塘:
typedef void(*Fun)(void);
C++虚函数表(转) -
lishaoqingmn:
写的很好,例子简单明了,将观察者模式都表达了出来。
这里是ja ...
观察者模式——Observer
文章列表
主要参考《提高C++性能的编程技术》第12章 引用计数
设计思路
1. rc.h中:
(1) 提供RCObject,内部封装了refCount及其基本加减操作;
(2) 提供RCPtr,是一个智能指针。普通的智能指针内部封装一个基本类型的指针,但这里的智能指针内部封装的是指向RCObject类型的指针。因此,这个智能指针可以根据RCObject维护的引用计数变量refCount来实现引用计数的优势,如:
“赋值时复用”:在赋值操作时,只用refCount++即可复用已经在堆上创建好的原有实例;
“自动释放”: 在引用计数refCount==0时, ...
参考文档:http://blog.csdn.net/mylxiaoyi/article/details/4258508
一、线程
Linux进程可以协作,可以发送消息,也可以中断另一个进程。他们甚至可以在彼此之间共享内存段,但是在操作系统内部他们却是完全不同的实体。他们并不能共享变量。
在许多Unix系统与Linux系统还有另一类名为线程的进程。线程在某些程序中具有巨大的价值,例如多线程数据库服务器,然而线程很难进行编程。Linux上的线程编程并不如使用多进程那样常见,因为Linux的进程是轻量级的,而且多个协作进程的编程要比线程编程容易得多。我们会在第 ...
转自: http://www.cnblogs.com/visayafan/archive/2011/11/27/2265400.html
Table of Contents
1 模板参数推导在迭代器中的使用
2 模板参数引用与非引用的区别
1 模板参数推导在迭代器中的使用
在算法中运用迭代器时,可能会用到其相 ...
char *strtok(char *str1, char *str2);
strtok()用来将字符串分割成一个个片段。参数s指向欲分割的字符串,参数delim则为分割字符串,当strtok()在参数s的字符串中发现到参数delim的分割字符时则会将该字符改为\0 字符。在第一次调用时,strtok()必需给予参数s字符串(此时返回分割符前面的字符串),往后的调用则将参数s设置成NULL(返回分隔符后的字符串)。每次调用成功则返回被分割出片段的指针,当没有被分割的串时则返回NULL。
注意:会忽略掉连续的分隔符
下面程序输出为:
[abc]
[d]
#inc ...
Abstract
Introduction
size_t type
ptrdiff_t type
Portability of size_t and ptrdiff_t
一、new 和 delete 的过程:
在进行一切讲解之前,首先,要了解两点:
第一, new 和delete都是C++中的关键字
第二, new不能被重载,它的行为总是一致的(delete相同,顺序相反): (1) 先调用operator new分配内存
(2) 在调用构造函数初始化那段内存中的对象
(3) 返回相应指针
二、new , operator new 和 placement new的关系
1. new : 不能被重载,它的行为总是一致的(delete相同,顺序相反): ...
参考文档:
http://docs.python.org/2/library/struct.htmlhttp://blog.163.com/ws__fyy/blog/static/12243381720123181013666/http://blog.163.com/kongdelu2009@yeah/blog/static/1119952072009102562126194/
# -*- coding: utf-8 -*-
import struct
import sys
import os
'''
1. Byte order, Size, Alignment
-- ...
1. 环境准备
(1) vmware workstation上启动两台虚拟机 rhel5.0 server i386, 每台都有网卡,且配置为NAT方式(因为在学校做实验,用学校的DHCP设备分配IP需要学号/密码验证,而我只有一个学号密码,用Bridge方式只能分配一个IP;故只能采用NAT方式,因为这种方式的DHCP服务器上宿主物理机上虚拟出来的)
(2) 设置网卡配置文件以DHCP方式获取到IP地址
cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp
(3) ...
参见《深入Python 3》 Chapter 5. 正则表达式:
http://woodpecker.org.cn/diveintopython3/regular-expressions.html
以下是摘要:
# -*- coding=utf-8 -*-
import re
s1 = '100 BROAD ROAD APT. 3'
s2 = '100 BROAD ROAD'
# 1. python正则时,建议用原始字符串
# 2. re.sub()
# 仅将最后的独立ROAD字符串替换掉
print re.sub(r'\bROAD$', 'RD.', ...
自动下载Dive into Python 3网页及其相关链接
# -*- coding=utf-8 -*-
import os
import urllib
import re
#1. 下载种子;从指定种子网页开始自动下载,递归下载有效链接
source_link = 'http://woodpecker.org.cn/diveintopython/toc/index.html'
f = open(source_link.split("/")[-1], 'w')
print 'save to file : ', os.getcwd()
pag ...
读书笔记:
1.总线分类(根据总线和CPU之间的关系)——
内部总线:直接与CPU连接
外部总线(即系统总线):通过北桥与处理器连接
详见http://baike.baidu.com/view/771591.htm
2.
python面向对象
- 博客分类:
- python
明天从这里继续:
http://woodpecker.org.cn/diveintopython/object_oriented_framework/private_functions.html
分析这段代码
__author__ = "Mark Pilgrim (mark@diveintopython.org)"
__version__ = "$Revision: 1.3 $"
__date__ = "$Date: 2004/05/05 21:57:19 $"
__copyright__ = "C ...
python file
- 博客分类:
- python
打开文件file_handler = open(filename,mode)
open(filename[, mode[, bufsize]])
Open a file, returning an object of the file type described in section File Objects. If the file cannot be opened, IOError is raised. When opening a file, it’s preferable to use open() instead of invoking the file cons ...
C/C++柔性数组 char[0]
- 博客分类:
- C/C++
在标准C和C++中0长数组如charArray[0]是不允许使用的,因为这从语义逻辑上看,是完全没有意义的。但是,GUN中却允许使用,而且,很多时候,应用在了变长结构体中,如:StructPacket{Int state;Int len;Char cData[0]; //这里的0长结构体就为 ...