在这种情况下*做了什么?:

时间:2017-01-16 19:11:14

标签: c++

int year;
int month;
int day;

ADate * date = new ADate(year, month, day);

我知道它通常用于指针,但我不知道它在做什么。如果没有它,这条线显然会创建一个新的ADate,传入那些int变量,但我不确定*会改变这个?

2 个答案:

答案 0 :(得分:1)

使用dateADate被声明为指针类型,它存储ADate对象的地址(指向date对象)。否则,ADate将被声明为new对象类型。

运算符*返回指针。因此,如果没有$('.nav').hide(); $('.hamburger').click(function(){ $('.nav').fadeToggle('slow'); $('.hamburger div').toggleClass('turn-white'); }); $('.nav-dropdown-toggle > span > a, .navigation > li > a, .nav-dropdown > li > a').click(function(){ $('.nav').fadeToggle('slow'); $('body').toggleClass('disable-scroll'); });,您的程序将无法成功编译。

http://www.cplusplus.com/reference/new/operator%20new/

答案 1 :(得分:0)

在C ++中使用new关键字创建对象时,必须使用*。尝试删除*,您将收到错误。

ADate * date = new ADate(year, month, day);在这种情况下,*date是指向ADate对象的指针。

如果您不使用new关键字,则可以创建ADate的对象,如ADate date(year,month,day);