for( int i = 0 ; i < 1024 ; i++) { CString t; for( int j= 0 ; j < 1024 ; j++) t += 'X'; str += t; } int n = str.GetLength(); 没问题
CString str;
for( int i = 0 ; i < 1024 ; i++) { CString t;//从效率上来说,这句放在这里不好,这样可能会导致 //构造1024个CString类的对象。不如将其放到循环外面, //在这里用 t.Empty(); for( int j= 0 ; j < 1024 ; j++) t += 'X'; str += t; } int n = str.GetLength();
是 512M 吧? :)struct CStringData { IAtlStringMgr* pStringMgr; // String manager for this CStringData int nDataLength; // Length of currently used data in XCHARs (not including terminating null) int nAllocLength; // Length of allocated data in XCHARs (not including terminating null)
for( int i = 0 ; i < 1024 ; i++)
{
CString t;
for( int j= 0 ; j < 1024 ; j++)
t += 'X';
str += t;
} int n = str.GetLength();
没问题
for( int i = 0 ; i < 1024 ; i++)
{
CString t;//从效率上来说,这句放在这里不好,这样可能会导致
//构造1024个CString类的对象。不如将其放到循环外面,
//在这里用 t.Empty();
for( int j= 0 ; j < 1024 ; j++)
t += 'X';
str += t;
} int n = str.GetLength();
{
IAtlStringMgr* pStringMgr; // String manager for this CStringData
int nDataLength; // Length of currently used data in XCHARs (not including terminating null)
int nAllocLength; // Length of allocated data in XCHARs (not including terminating null)
CString的理论大小为2G
CString不需要连续的内存块
不同机器的虚拟内存配置,也是它的限制之一