4个回答
展开全部
声明结构的默认(无参数)构造函数是错误的。总是提供默认构造函数以将结构成员初始化为它们的默认值。在结构中初始化实例字段也是错误的。
如果使用 new 运算符创建结构对象,则会创建该结构对象,并调用适当的构造函数。与类不同,结构的实例化可以不使用 new 运算符。如果不使用 new,则在初始化所有字段之前,字段都保持未赋值状态且对象不可用。
如果使用 new 运算符创建结构对象,则会创建该结构对象,并调用适当的构造函数。与类不同,结构的实例化可以不使用 new 运算符。如果不使用 new,则在初始化所有字段之前,字段都保持未赋值状态且对象不可用。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
struct属于值类型,可以不用new,如果不new,结构体内的值就都是未赋值状态,需要在使用之前赋值,不然编译器会报错。若new了,结构体会调用无参构造函数,会初始化内部的值,比如int就会初始化为0,现在使用编译器就不会报错了。楼上所谓的“不能new”是完全错误的,写两行代码试试不就知道了?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
结构体不是存在堆中的,所以不用new ,也不能new
结构体是值类型的。不是引用类型的。你要new 就报错
结构体是值类型的。不是引用类型的。你要new 就报错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询