C ++调整std :: string最大为16字节大小

时间:2014-07-19 15:44:44

标签: c++ stdstring

我正在将MSVC6应用程序移植到MSVC9,因为std::string的旧大小是16个字节(这个是来自1998软件包)而新的是32个字节,这完全使我的应用程序无法工作,因为它是使用4字节对齐选项构建的,并使用一些与旧尺寸兼容的尺寸检查/比较。

我需要重新实现这个MSVC6 std::string ...或者只是使用一些较小的字符串实现。

是否可以使当前大小std::string更小,例如通过使用一些不同的分配器或什么?我需要让它发挥作用。

//MSVC6 Works
//MSVC9 Not...
class myappstring : std::string
{

};

1 个答案:

答案 0 :(得分:2)

默认分配器不存储在std::string个实例中,因此它不应对std::string的大小产生任何影响。您只需切换到另一个字符串实现,也许您已经编写了一个字符串实现来满足您的要求。