Linux 沿用的对齐策略是,2字节数据类型(例如short)的地址是2的倍数,而较大的数据类型(例如intint*floatdouble)的地址必须是4的倍数。

Read More

  • TCP(Transmission Control Protocol):传输控制协议
  • UDP(User Datagram Protocol):用户数据报协议

主要从连接性(Connectivity)、可靠性(Reliability)、有序性(Ordering)、有界性(Boundary)、拥塞控制(Congestion or Flow control)、传输速度(Speed)、量级(Heavy/Light weight)、头部大小(Header size)等8个方面来讲。

Read More

用 Jekyll 写博客有个麻烦的地方,就是你可能需要把博客git pull下来,修改完成commit后,再push上 GitHub;或者使用 GitHub 的在线编辑器编辑,无论哪种都非常麻烦。幸好找到了几个第三方的写博客和图床工具。

Read More

看看以下这段代码:

class Foo { public: int val; Foo *pnext; };

void foo_bar()
{
    Foo bar;
    if (bar.val || bar.pnext )
        // ... do somthing
    // ...
}

上述程序并不会合成出一个 default constructor。什么时候会合成出 default constructor 呢,下面分4种情况。

Read More

C++ 有插入迭代器、流迭代器、反向迭代器、移动迭代器,泛型算法结构有适用的迭代器类别:输入迭代器、输出迭代器、前向迭代器、双向迭代器、随机访问迭代器。

Read More