`
qimo601
  • 浏览: 3418647 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

c++的类中,声明一个对象好还是用指针申请一块空间好?

    博客分类:
  • Qt
阅读更多

转载:http://zhidao.baidu.com/question/146659560.html 

我觉得这个问题,回答的很好。

 

 在c++的类中,我如果要访问类中的成员变量或函数,有2种方法,第一种就是定义一个一个对象,如:

Class A ...  
A aa;
aa.xxx();

另外一种就是
Class B ...
B *aa = new B();
aa->xxx();
这两种方法在使用上不知有没有什么区别,或是什么情况下用指针对象,什么情况下用普通对象?

问题补充:

用指针对象,用完之后需要释放内存空间
我来帮他解答
 
满意回答
2010-04-22 18:01
你提的问题很好,这个就是c++和java之间的区别,c++函数可以不写在类里面,这样就产生了全局变量定义,
文件#include等,在java中,A a = new A()
c++中等同于 A a;
另外在c++中还有另外一中声明和实例化就是使用指针,如:A* a= new A()
c++中的A a;就已经构造了对象;
而在java中 A a; 就是声明,还没有分配空间,在c++中就非常的灵活,
A a;在栈(stack)上分配空间,A * a= new A;在堆(heap)上分配空间
栈上空间自动回收,堆空间需要程序员手动回收
分享到:
评论
1 楼 aisq2008 2013-01-16  
我想明智的做法应该是new出对象来比较好,特别是当对象要作为类成员的时候,可以不用包含头文件,而使用类向前声明,减少了重新编译

相关推荐

    C++对象和指针的引用

    在实际中,使用对象引用作函数参数要比使用对象指针作函数更普遍,这是因为使用对象引用作函数参数具有用对象指针作函数参数的优点,而用对象引用作函数参数将更简单,更直接。所以,在C++编程中,人们喜欢用对象...

    C++数组与指针对象数组对象指针

    C++数组与指针对象数组对象指针C++数组与指针对象数组对象指针

    使用类的对象还是指针

    使用类的对象还是指针,总结了下,给有疑问的朋友做个参考

    关于C++中栈指针和堆指针的使用说明

    在这个类中有一个成员方法叫getArray(),在该方法中使用以上方式声明一个数组,然后返回数组的指针,然后在另一个成员方法showPointerOfArray(int*)接收传过来的int指针,在这个方法操作数组。 但是在运行时没有出现...

    C++基类指针和派生类指针之间的转换方法讲解

    函数重载只会发生在同作用域中(或同一个类中),函数名称相同,但参数类型或参数个数不同。 函数重载不能通过函数的返回类型来区分,因为在函数返回之前我们并不知道函数的返回类型。 函数隐藏和函数覆盖只会发生在...

    C++中如何定义函数对象?

    C++中如何定义函数对象?尽管函数指针被广泛用于实现函数回调,但C++还提供了一个重要的实现回调函数的方法,那就是函数对象。今天达内C++培训的老师同大家分享C++中如何定义函数对象?

    C++智能指针实现

    智能指针是存储指向动态分配(堆)对象指针的类, 用于生存期控制, 能够确保自动正确的销毁动态分配的对象,防止内存泄露。它的一种通用实现技术是使用引用计数(reference count)。智能指针类将一个计数器与类指向的...

    27.如何使用代码获取状态栏指针?(Visual C++编程 源代码)

    27.如何使用代码获取状态栏指针?(Visual C++编程 源代码)27.如何使用代码获取状态栏指针?(Visual C++编程 源代码)27.如何使用代码获取状态栏指针?(Visual C++编程 源代码)27.如何使用代码获取状态栏指针?...

    C++ 包含类两个类互相调用彼此的类成员变量和方法

    C++,C 包含类两个类互相调用彼此的类成员变量和方法,里面介绍了如何在头文件中创建相互的类对象,简单易懂

    对象数组与对象指针及this指针

    初学C++时对对象数组和对象指针都搞不太明白,后来找着了这篇文章才解开了我的疑虑!看看吧,挺不错的!

    C++为什么要用指针而不直接使用对象?

    我在使用 C++ 进行面向对象开发时,我发现一个很让我非常困惑的问题:C++ 中经常出现使用对象指针,而不是直接使用对象本身的代码,比如下面这个例子: Object *myObject = new Object; 而不是使用: Object my...

    15.如何使用代码获取工具栏的指针?(Visual C++编程 源代码)

    15.如何使用代码获取工具栏的指针?(Visual C++编程 源代码)15.如何使用代码获取工具栏的指针?(Visual C++编程 源代码)15.如何使用代码获取工具栏的指针?(Visual C++编程 源代码)15.如何使用代码获取工具栏...

    C++中类使用全局变量

    在C++中,声明一个类,并且定义一个全局变量,练习全局变量的使用。注意全局变量的使用技巧和方法。

    C++指针 数组 内存释放.docx

    C++指针 数组 内存释放 相关说明

    C++中this指针的用法

    C++中this指针的用法C++中this指针的用法C++中this指针的用法C++中this指针的用法C++中this指针的用法C++中this指针的用法C++中this指针的用法C++中this指针的用法C++中this指针的用法

    C++中指针的使用艺术

    C++中指针的使用艺术 所谓成也指针,败也指针,指针是把双刃剑.

    C++类成员函数指针2

    1.普通函数指针指向普通函数 ...3. 类外部的 类函数指针 指向普通函数 4. 类外部的 类函数指针 指向成员函数 5. 类内部的 函数指针 指向成员函数 (类似于第2条) 6. 类内部的 函数指针 指向普通函数

    json字符串转换c++类对象

    json 字符串转成c++类对象,json 字符串转成c++类对象

    c++课程设计 简单通讯录管理 利用类和指针实现

    前一条记录:将当前记录指针向前移动一个节点,若已为首节点,则不移动; 后一条记录:将当前记录指针向后移动一个节点,若已为尾节点,则不移动; 最后一条记录:将当前记录指针移动至尾节点,若已为尾节点,则不...

Global site tag (gtag.js) - Google Analytics