C++11初始化列表与参数列表的作用

本文探讨了C++11的初始化列表特性,它用于避免类型转换并有效初始化结构体和容器。初始化列表在构造函数中先于其他指令执行,对于引用、const常量和无无参构造函数的类成员变量是必需的。同时,成员变量的初始化顺序由声明顺序决定。此外,还介绍了C++11中delete关键字的用途,用于禁用特定函数,如拷贝构造函数和拷贝赋值操作符。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近遇到了一个程序,一开始有些莫名其妙,最后经过思考、猜想、验证的过程,将其总结如下:

首先先上代码:

函数声明如下:

class Controller
{
    using AnalysisManager   = NST::analysis::AnalysisManager;
    using FiltrationManager = NST::filtration::FiltrationManager;

    class Running
    {
    public:
        inline Running(Controller&);
        Running()               = delete;
        Running(const Running&) = delete;
        Running& operator=(const Running&) = delete;
        inline ~Running();

    private:
        Controller& controller;
    };

public:
    Controller(const Parameters&);
    Controller(const Controller&) = delete;
    Controller& operator=(const Controller&) = delete;
    ~Controller();

    int run();

private:
    // initializer for global outptut
    utils::Out::Global gout;
    // initializer for global logger
    utils::Log::Global glog;

    // storage for exceptions
    RunningStatus status;

    // signal handler
    Signa
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值