结构体问题,当时学的时候没学懂


#include <iostream>
using namespace std;

//C++单向链表模板
class MyListForward
{
private:
    struct ListNode
    {
        int val;
        ListNode *next;
        ListNode(int x):val(x),next(nullptr){}              //这句话是什么意思呢
    };
    ListNode* head;
public:
    MyListForward():head(nullptr){}                      //这句话是什么意思呢

具体是哪里没懂?
给的代码是一个经典的链表节点定义,首先明确链表这个概念,单链表可以理解为每个节点是一个小盒子,然后每个盒子都会有一个单项链条连向后一个盒子,这样所有盒子就凑成了一条单向(只能从头访问到尾)链表
单链表里面每个节点都会保存两个值,一个是该节点本身的数据(可以是任意类型,也可以是一系列的值),另一个就是指向下一个节点的指针(用于遍历该链表)