偶尔来避难的地方~
我一般编程的时候,喜欢用我自己设计的string类,最近在设计结构体的时候,我想到了一个适合结构体使用的string类的设计方法,不过可能我比较孤陋寡闻,这个方法以前就有人实现过,不过还是记录下来。一般来说,string,至少需要保存一个char*的指针和一个int的长度,复杂点的,可能还需要更多的成员。这样的话,我们需要至少8个字节来保存这个string对象(32bit下)。在部分场合,我们可能会希望把一个指针替换为一个string对象,或者把一个string对象,替换为一个指针,而且我们对结构体的大小很敏感,union也行不通。如果我们放一个string的指针,那么我们就需要new一个string对象出来,然后string内部再去new一个char[]的数组。为此,我想了一个办法来解决这个问题。我在string内部引入一个context的东西,它保存了所有string的成员变量,然后结尾是字符串数组,形似下面这个结构:
Powered by: C++博客 Copyright © 饭中淹