84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
请问一下,下面代码第五行的语法是什么意思呢?
struct ListNode { public: int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {} };
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
这是 C++,不是 C。
C++的结构体和C的结构体略有不同:C++结构体对C结构体做了扩充,可以有成员函数。因此,C++结构体更像是类,只是其所有成员默认都是public,这点与类正好相反。代码中第5行是构造函数,“:”后面是构造函数的参数列表,用于对成员变量初始化。
这不是LeetCode上给的链表节点吗?第五行就是构造函数啊。
把struct理解成class,这就很明显了
第五行是C++中的构造函数
这是C++,第五行是类的构造函数,使用初始化列表进行初始化。c++中struct和class差不多(具体区别自行查找),而c语言中的struct里是不能定义函数的。
这是C++,C++中类定义可以用struct或者class,区别是struct成员默认为public,class默认为private。
struct
class
public
private
ListNode(int x) : val(x), next(NULL) {}
是C++的构造函数,val(x), next(NULL)表示初始化。
val(x), next(NULL)
这是 C++,不是 C。
C++的结构体和C的结构体略有不同:C++结构体对C结构体做了扩充,可以有成员函数。因此,C++结构体更像是类,只是其所有成员默认都是public,这点与类正好相反。
代码中第5行是构造函数,“:”后面是构造函数的参数列表,用于对成员变量初始化。
这不是LeetCode上给的链表节点吗?第五行就是构造函数啊。
把struct理解成class,这就很明显了
第五行是C++中的构造函数
这是C++,第五行是类的构造函数,使用初始化列表进行初始化。c++中struct和class差不多(具体区别自行查找),而c语言中的struct里是不能定义函数的。
这是C++,C++中类定义可以用
struct
或者class
,区别是struct
成员默认为public
,class默认为private
。是C++的构造函数,
val(x), next(NULL)
表示初始化。