很多人说CString耗资源,大家看是不是这个原因。我这样理解对吗?
每一次CString赋值就是一个CString字符串的拷贝,这样多处赋值也就是多个拷贝,这样就占用很多内存。而用指针或数组,只是地址赋值,所以并没有拷贝字符串,所以多个指针只指向一个字符串所在内存。
大家说我的理解对吗?谢谢!
每一次CString赋值就是一个CString字符串的拷贝,这样多处赋值也就是多个拷贝,这样就占用很多内存。而用指针或数组,只是地址赋值,所以并没有拷贝字符串,所以多个指针只指向一个字符串所在内存。
大家说我的理解对吗?谢谢!
这样就很耗内存。
首先它是写时分配的
(c2 = c1时根本就是指向同一地址,所以才有了GetBuffer)
其次它是用AllocBuffer分配一个strlen(string)大的空间,
然后memcpy过来,没有什么分配很大数组的问题。
从代码上看不出它耗资源。
可能它是一个类,类是要耗点资源的。