如何将指定内存当作一个STL的string对象来访问(来者有分) 我不想做内存的大搬家,所以不希望用string strXXX = (const char*)pStringBuf;这种形式来初始化。我希望将pStringBuf那个地方直接看作一个string对象来用,不知道有无函数支持这样的指定。谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你想做什么?为什么要实现类似“string strXXX = (const char*)pStringBuf;”的转换?直接用pStringBuf->Function(..)不就可以吗 要先将那块内存变成stirng对象才行,也就是构建一个新的对象,用内存地址和大小做参数 to fallhunter(不乖):是啊,请你告诉我哪个构造函数是可以用内存地址和大小做参数的?thx 若一开始那块内存用p = new string得到的,那就不用转换,直接p->FucName(..)就可以。如果其他的方式,就得转换了 强制类型转换不适合内存表示不同的场合,所以只有你确定指定地址的内存布局和string相同的时候才可以访问。类的内存表示包含虚函数表和成员列表两部分。通常,只有派生类和基类的类型不同而和基类的内存表示相同,所以派生类指针可以安全地转化为基类指针。一些不安全的类型转换也可能是可行的,只要访问的部分成员内存布局一致并且独立于其它成员就可以了。一些字符串操作封装类内部维护一个引用计数来避免内存的频繁复制。如果对标准字符串的内存复制成为了程序的瓶颈,那么可以使用这样的类来提高性能。 基类,子类等对象指针用dynamic_cast等来进行类型转换 qq设置对话框里左侧那一列用的是什么控件?(急!急!急) 工具栏按钮的文字,怎样用程序动态改变? 请问如何让图片自动适应控件大小的变化? picture控件再次显示的问题 请教:客户区和非客户区有什么区别? 求救:如何将文本文件输入CHtmlView并且为文本中的邮件地址自动添加链接? 兄弟们,我下载的电影,是*.rmvb格式,有什么播放呀,我怎么打不开呀 请问如何在程序中操纵“记事本”中的打印按钮??? ####怎么让程序播放音频文件!!! winsock到底有几个版本? 200征求一道计算机网络方面的毕业设计题目 请教一个设计方案的问题?来者有分相送,(100分)
要先将那块内存变成stirng对象才行,
也就是构建一个新的对象,用内存地址和大小做参数
通常,只有派生类和基类的类型不同而和基类的内存表示相同,所以派生类指针可以安全地转化为基类指针。一些不安全的类型转换也可能是可行的,只要访问的部分成员内存布局一致并且独立于其它成员就可以了。
一些字符串操作封装类内部维护一个引用计数来避免内存的频繁复制。如果对标准字符串的内存复制成为了程序的瓶颈,那么可以使用这样的类来提高性能。