C++ 结构体的构造函数

详解:
ListNode(int x, ListNode* next) : val(x), next(next) {}ListNode 结构体的构造函数。

  1. ListNode(int x, ListNode* next):这是构造函数的声明部分。指定了构造函数的名称为 ListNode,参数列表包括一个整数 x 和一个指向 ListNode 类型的指针 next

  2. : val(x), next(next) {}:这是构造函数的定义部分,使用了初始化列表。初始化列表是在构造函数体之前使用冒号 : 分隔的部分,用于初始化成员变量。

    • val(x):这个初始化列表项将构造函数的参数 x 的值赋给成员变量 val。这样,在创建 ListNode 对象时,可以通过构造函数传入一个值,并将该值赋给 val

    • next(next):这个初始化列表项将构造函数的参数 next 的值赋给成员变量 next。这样,在创建 ListNode 对象时,可以通过构造函数传入一个指向下一个节点的指针,并将该指针赋给 next

需注意:next 是一个指针类型,它指向下一个 ListNode 对象。通过构造函数,我们可以在创建新节点时,指定它的值和下一个节点的指针。

示例:
使用 ListNode(int x, ListNode* next) 构造函数创建一个链表:

struct ListNode {
   
    int val;
    ListNode* next;

    ListNode(int x, ListNode* next) : val(x), next(next) {
   }
};

int main() {
   
    ListNode* node3 = new ListNode(3, nullptr);  // 创建节点 3,没有下一个节点
    ListNode* node2 = new ListNode(2, node3);  // 创建节点 2,下一个节点是节点 3
    ListNode* node1 = new ListNode(1, node2);  // 创建节点 1,下一个节点是节点 2

    // 输出链表的值
    ListNode* current = node1;
    while (current != nullptr) {
   
        std::cout << current->val << " ";
        current = current->next;
    }
    std::cout << std::endl;

    return 0;
}

通过 ListNode(int x, ListNode* next) 构造函数创建了一个简单的链表,其中节点的值分别为 1、2、3。每个节点都指向下一个节点。

相关推荐

  1. C++ 结构构造函数

    2024-02-01 08:12:02       33 阅读
  2. 结构构造函数

    2024-02-01 08:12:02       14 阅读
  3. C语言自学笔记19----结构函数

    2024-02-01 08:12:02       20 阅读
  4. Linux 内核构建块:深入探索 C 结构应用

    2024-02-01 08:12:02       17 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-01 08:12:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-01 08:12:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-01 08:12:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-01 08:12:02       20 阅读

热门阅读

  1. 面阵相机拍摄运动的物体怎样保证图像清晰

    2024-02-01 08:12:02       40 阅读
  2. TensorFlow2实战-系列教程14:Resnet实战2

    2024-02-01 08:12:02       43 阅读
  3. 3D Gaussian Splatting-实时辐射场渲染技术

    2024-02-01 08:12:02       33 阅读
  4. TensorFlow2实战-系列教程15:Resnet实战3

    2024-02-01 08:12:02       39 阅读
  5. CSS 中的 :is(), :where(), 和 :has() 选择器简介

    2024-02-01 08:12:02       33 阅读
  6. 使用certbot申请https通配符证书【阿里云篇】

    2024-02-01 08:12:02       38 阅读
  7. K8S网络

    K8S网络

    2024-02-01 08:12:02      33 阅读
  8. k8s学习-数据管理

    2024-02-01 08:12:02       29 阅读
  9. brpc之单例

    2024-02-01 08:12:02       33 阅读
  10. Qt之connect函数使用

    2024-02-01 08:12:02       30 阅读
  11. 原型和继承

    2024-02-01 08:12:02       33 阅读
  12. electron从入门到打包exe

    2024-02-01 08:12:02       44 阅读
  13. 本地部署whisper模型(语音转文字)

    2024-02-01 08:12:02       36 阅读