关于类 CString用法,1.  CString mmm 是不是声明, mmm是类CString 的对象变量?
2.  用mmm, 是否还要用new 来创建一个实例,才能用?

解决方案 »

  1.   

    Q: CString mmm 是不是声明, mmm是类CString 的对象变量?
    A: 是Q: 用mmm, 是否还要用new 来创建一个实例,才能用?
    A: 否
      

  2.   

    CString str;
    str = "Yes";
    AfxMessageBox(str);
      

  3.   

    CString * pStr = new CString;
    *pStr = "Yes";
    AfxMessageBox(*pStr);
    delete pStr ;
      

  4.   

    ---------------------------
    技术上可行
    符合你的要求吗?
    如果不明白
    请给我发短消息
    请附: 帖子的地址
    或在
    http://www.338888.com/VCShare/Default.asp
    上提问
      

  5.   

    1. 按你意思 只有在使用指针时才用new来创建一个相应的实例?
       我的理解是: 类仅仅是一个模板, 它声明的变量, 应该必须要创建一个实例才能用呀?2. 在VC++中以Afx开头的函数,变量,是不是都是全局的?3. CString * pStr = new CString;
       CString *pStr = new CString;
       CString* pStr = new CString;
       这三种写法是不是都一样?4. 实例 用完是不是一定要删除?
       delete pStr多谢! 
      

  6.   

    2. 在VC++中以Afx开头的函数,变量,是不是都是全局的?
    对但没有规定只是一种规范
    3. CString * pStr = new CString;
       CString *pStr = new CString;
       CString* pStr = new CString;
       这三种写法是不是都一样?
    没有区别,只是十分美观4,
    指针才有new,delete
    new是开辟空间,delete是释放空间
    如:
    int * p ;
    p = new int(3);
    delete p;//如果不delete,会有内存泄露
      

  7.   

    CString * pStr = new CString;
       CString *pStr = new CString;
       CString* pStr = new CString;
    这三种写法是一样的,只是习惯问题的 CString mmm是声明, mmm是类CString 的对象变量
    其实类可以看作特殊的数据类型,别的变量可以定义为这种类的一个变量即对象