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)
表示初始化。