Visual Studio 2012中stl:string 不支持引用计数了吗
使用Visual Studio 2012开发的程序中使用了 一个json解析工具:代码中存在很多这样的代码
sVal.push_back(c);
wstring strVal = sVal;
TrimString(strVal, 0);
发现字符串很长的时候将 wstring strVal = sVal;去掉改为执行TrimString(sVal, 0); 执行很快,以前看书上说这样写的
sVal 和strVal 共用一个字符串数据数组的。 VS2012的库中不是这样实现的了吗。
安装网上的代码写了个测试
void CMFCApplication16Dlg::OnBnClickedOk()
{
string s="dfddasaaaaaafdsasdgffasfasdfasaaaaaaaaaaaadfgdgdfaaassdfsfsdfs";
string s2=s;
unsigned int a1= (unsigned int)s.c_str() ;
unsigned int a2= (unsigned int)s2.c_str() ;
if(a1==a2)
{
AfxMessageBox(L".......");
}
// TODO: 在此添加控件通知处理程序代码
CDialogEx::OnOK();
}
没有对话框弹出,是需要配置Visual Studio,还是已经不支持共用字符串了,不支持的话只能减少 wstring strVal = sVal类似操作了。