很多人说CString耗资源,大家看是不是这个原因。我这样理解对吗?
每一次CString赋值就是一个CString字符串的拷贝,这样多处赋值也就是多个拷贝,这样就占用很多内存。而用指针或数组,只是地址赋值,所以并没有拷贝字符串,所以多个指针只指向一个字符串所在内存。
大家说我的理解对吗?谢谢!

解决方案 »

  1.   

    不是的,CString里面也是用的数组,但是它是分配一个很大的数组,
    这样就很耗内存。
      

  2.   

    2000下可以不考虑CString的问题了,操作系统优化了
      

  3.   

    我怎么觉得CString消耗资源不多?
    首先它是写时分配的
    (c2 = c1时根本就是指向同一地址,所以才有了GetBuffer)
    其次它是用AllocBuffer分配一个strlen(string)大的空间,
     然后memcpy过来,没有什么分配很大数组的问题。
    从代码上看不出它耗资源。
    可能它是一个类,类是要耗点资源的。