- 博客(12)
- 资源 (15)
- 收藏
- 关注
转载 sizeof(结构体)和内存对齐
<br /><br />有的时候,在脑海中停顿了很久的“显而易见”的东西,其实根本上就是错误的。就拿下面的问题来看:<br />struct T<br />{<br />char ch;<br />int i ;<br />};<br />使用sizeof(T),将得到什么样的答案呢?要是以前,想都不用想,在32位机中,int是4个字节,char是1个字节,所以T一共是5个字节。实践出真知,在VC6中测试了下,答案确实8个字节。哎,反正受伤的总是我,我已经有点麻木了,还是老老实实的接受吧!为什么答案和自己想
2010-09-19 20:34:00 941
转载 sizeof用法总结
以下运行环境都是一般的,在32位编译环境中 1,基本数据类型的sizeof coutcoutcoutcoutcoutcoutcout2,指针变量的sizeofchar *pc ="abc"; sizeof( pc );
2010-09-19 20:28:00 1090
原创 标准C++的类型转换
C++通过引进四个新的类型转换操作符克服了C风格类型转换的缺点,这四个操作符是: const_cast( expression ) dynamic_cast( expression ) static_cast( expression ) reinterpret_cast( expression ) 在大多数情况下,对于这些操作符你只需要知道原来你习惯于这样写
2010-09-18 15:28:00 1478
原创 Linux信号机制分析
信号机制是unix采用的一种很古老的进程通信方式(linux搬过来用),用来向一个进程通知另一个进程(也可以是自己)发生了什么事,要怎样处理。1.信号: 信号就是在signal.h中定义的一系列以SIG开头的宏,实质是整数。信号可以通过进程(调用kill,raise
2010-09-17 21:12:00 1719
原创 mapreduce编程(二)- 大象书中求每一年的最高温度
书上的例子是为了取出一年当中气温最高的值,那么将年份和气温做了一个复合的key. 1 通过设置了partitioner来进行分区。因为分区是按照年份来进行,所以同年的数据就可以分区到一个reducer中。2 自定义key比较器,按照年份升序,温度值降序。这样map输出的所
2010-09-17 10:21:00 5610 2
原创 mapreduce编程(一)-二次排序
mr自带的例子中的源码SecondarySort,我重新写了一下,基本没变。这个例子中定义的map和reduce如下,关键是它对输入输出类型的定义:(java泛型编程) public static class Map extends Mapperpublic st
2010-09-17 10:06:00 18951 10
原创 解析Java对象的equals()和hashCode()的使用
<br /> <br /> <br />在Java语言中,equals()和hashCode()两个函数的使用是紧密配合的,你要是自己设计其中一个,就要设计另外一个。在多数情况下,这两个函数是不用考虑的,直接使用它们的默认设计就可以了。但是在一些情况下,这两个函数最好是自己设计,才能确保整个程序的正常运行。最常见的是当一个对象被加入收集对象(collection object)时,这两个函数必须自己设计。更细化的定义是:如果你想将一个对象A放入另一个收集对象B里,或者使用这个对象A为查找一个元对象在收集对象
2010-09-09 21:44:00 1425 1
转载 正确的重载operator+
<br /><br />下面的段落中,我将介绍为用户定义类型选择正确的重载operator+的一般性的策略。<br /> <br /> 第一步:选择成员函数或是非成员函数?<br /> 我们可以象使用类的成员函数一样使用+、-或是==等二进制操作符,例如:<br /> class String<br /> {<br /> public:<br /> bool operator==(const String & s); // compare *this and
2010-09-04 15:59:00 1768
原创 自己实现String类
Implement a string class in C++ with basic functionality like comparison, concatenation, input and output. Please also provide some test c
2010-09-04 15:39:00 2174
原创 大端小端的判断
假设从地址0x4000开始存放:0x12345678,是也个32位四个字节的数据,最高字节是0x12,最低字节是0x78:在Little-endian模式CPU内存中的存放方式为:(高字节在高地址, 低字节在低地址)内存地址
2010-09-03 13:01:00 1575 1
原创 unsigned int隐式转换
#include#include#includeusing namespace std;int main(){ unsigned int a = 6; int b = -20; cout<<a+b<<endl; (a+b > 6) ?
2010-09-02 22:26:00 2915
转载 float在内存中的方式
<br /><br />类型(Type)<br /> <br />存储位数(Bits)<br />总位数(Total)<br />偏移值(Offset)<br />数符(S)<br />阶码(E)<br />尾数(M)<br /> <br /><br /> <br /><br />短实数(float)<br />1<br /> 8<br /> 23<br /> 32<br />127<br />长实数(double)<br />1<br />11<br /> 52<br />
2010-09-02 22:23:00 1056
how to create my appids · XX-net_XX-Net Wiki · GitHub.pdf
2018-03-09
libevent源码深度剖析.pdf
2011-07-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人