rt

解决方案 »

  1.   

    你写个程序不就知道了sizeof()
      

  2.   

    CString str;

    for( int i = 0 ; i < 1024  ; i++)
    {
    CString t;
    for( int j= 0 ; j < 1024  ; j++)
    t += 'X';
    str += t;
    } int n = str.GetLength();
    没问题
      

  3.   

    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();
      

  4.   

    是 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)
      

  5.   

    不是2G吗?我记得Borland 的AnsiString都是2G啊
      

  6.   

    在Win32位的操作系统下
    CString的理论大小为2G
    CString不需要连续的内存块
    不同机器的虚拟内存配置,也是它的限制之一
      

  7.   

    我说得可能与你的CString不完全对应,但很有参考价值!《windows核心编程》第13章 Windows的内存结构 P.299。