实现string类及右值和左值 发表于 2019-05-06 | 分类于 C++ 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162class string{public: String() ... 阅读全文 »
C++前置与后置 发表于 2019-05-06 | 分类于 C++ 对于迭代器和其他模板对象使用前缀形式 (++i) 的自增, 自减运算符,理由是 前置自增 (++i) 通常要比后置自增 (i++) 效率更高。 ++a表示取a的地址,增加它的内容,然后把值放在寄存器中; a++表示取a的地址,把它的值装入寄存器,然后增加内存中的a的值; 前缀与后缀运算符重载 ... 阅读全文 »
C++内存对齐 发表于 2019-05-04 | 分类于 C++ 内存对齐规律 各成员变量存放的起始地址相对于结构的起始地址的偏移量必须为该变量的类型所占用的字节数的倍数。 各成员变量在存放的时候根据在结构中出现的顺序依次申请空间,同时按照上面的对齐方式调整位置,空缺的字节自动填充。 同时为了确保结构的大小为结构的字节边界数(即该结构中占用最大空间的类型所占用 ... 阅读全文 »