一个懒人专用文章归档神器,如果你不能成为压路机的一部分,那么你就只能成为道路的一部分 Bala~bala~

C++中 new 在什么时候用?? 为什么 Class c = new Class报错

C/C++ 懒人 1231℃ 0评论

1>Class c=new Class
new Class 表示在堆栈中创建一个Class类变量,而要访问这个变量,必须通过指针来访问,因此
应该改为:Class *c=new Class;
2>请高手解释下 Class *c = new Class ; Class *c ; Class c ;
第一个是在堆栈中创建Class类型的变量并用指向Class类变量的指针指向它
第二个是创建一个指向Class类型变量的指针
第三个是创建Class类型的变量
3>建议在类、变量、函数名等命名时尽量不要与关键字相似,最好去找一些命名规则来看一下,其实命名是很有讲究的,像你所提问题中的Class最好改为CClass这是因为类的命名规则一般前面都会加一个“C”以表示这是一个类。

=================================================

new返回的是一个指针,所以必须用指针接收
Class *c = new Class ; // 定义一个Class类的指针c,创建一个Class类对象,并赋给这个指针
Class *c ; // 定义一个Class类指针c
Class c ; // 定义一个Class类对象
对象调用属性用.操作符,指针调用属性用->操作符,第三种在实际应用中不常用,因为涉及到多台继承等问题都用指针解决。

=================================================

new主要为指针分配内存,不能乱用,类建立时不需要new的,跟纯粹的面向对象的语言不同。比如:
int * a=new int;
在链表中经常用到new为新建的struct或class非配内存空间,并用指针接收

转载请注明:懒人档案室 » C++中 new 在什么时候用?? 为什么 Class c = new Class报错

喜欢 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址