当前位置: 首页 > wzjs >正文

怎么用nat做网站织梦cms侵权开庭

怎么用nat做网站,织梦cms侵权开庭,网站开发PHP留言本,用dw怎么做网站留言板📘 C 构造函数与析构函数详解笔记 🧠 为什么需要构造函数与析构函数? 在 C 中,对象创建和销毁过程如果仅靠手动赋值和清理非常容易出错。为此,语言提供了构造函数和析构函数: 构造函数:用于在…

📘 C++ 构造函数与析构函数详解笔记

🧠 为什么需要构造函数与析构函数?

在 C++ 中,对象创建和销毁过程如果仅靠手动赋值和清理非常容易出错。为此,语言提供了构造函数和析构函数:

  • 构造函数:用于在对象创建时自动初始化成员变量或执行初始化逻辑(如打开文件、分配内存等)
  • 析构函数:用于在对象生命周期结束时自动释放资源(如释放内存、关闭文件、断开连接等)

📌 构造和析构是实现 RAII(资源获取即初始化)思想的核心机制,使资源安全地绑定在对象生命周期内。


🧩 什么是构造函数?

构造函数(Constructor)是 C++ 中一种特殊的成员函数,它在对象创建时自动调用,用于对对象进行初始化。

✅ 特点:

  • 与类同名
  • 没有返回类型(包括 void
  • 可以重载(多个构造函数)
  • 可以带参数,也可以无参数(默认构造)

🧪 示例:普通构造函数

class MyClass {
public:int a;double b;// 构造函数定义MyClass(int x, double y) {a = x;b = y;}
};int main() {MyClass obj(10, 3.14); // 自动调用构造函数
}

🎯 构造函数初始化列表

构造函数除了可以在函数体中赋值,还可以使用“初始化列表”来初始化成员变量。

✅ 语法:

ClassName(参数) : 成员1(1), 成员2(2) { }

✅ 示例:

class MyClass {
private:int a;double b;public:MyClass(int x, double y) : a(x), b(y) {std::cout << "使用初始化列表初始化" << std::endl;}
};

✅ 使用初始化列表的优势:

  • 更高效(尤其是 const 或引用类型成员)
  • 保证初始化顺序与声明顺序一致
  • 对某些必须在初始化时赋值的成员(如 const)是唯一方式

🧩 什么是析构函数?

析构函数(Destructor)是对象销毁前自动调用的特殊函数,用于释放资源

✅ 特点:

  • 函数名前加 ~
  • 没有参数、不能重载
  • 没有返回值

✅ 示例:

class MyClass {
public:MyClass() {std::cout << "构造函数调用" << std::endl;}~MyClass() {std::cout << "析构函数调用" << std::endl;}
};int main() {MyClass obj; // 自动调用构造函数
} // 程序结束前自动调用析构函数

🛠 构造 & 析构的调用顺序

📚 单个对象:

MyClass obj;
// 调用顺序:构造函数 → (使用) → 析构函数

📚 数组对象:

MyClass arr[3];
// 先调用构造函数 3 次 → 最后调用析构函数 3 次(逆序)

🔒 特殊成员变量:const& 引用

必须使用构造函数初始化列表来初始化:

class Sample {const int ci;int& ref;public:Sample(int x, int& y) : ci(x), ref(y) {}
};

🧠 默认构造函数与全缺省构造函数

✅ 默认构造函数:

class A {
public:A() {} // 无参构造函数
};

✅ 全缺省构造函数:

class A {
public:A(int x = 0, double y = 0.0) {// 参数都有默认值 → 也可视为无参构造使用}
};A a1;          // OK,使用默认参数
A a2(3, 1.5);  // OK,显式调用

📎 拓展:构造函数链表(调用其他构造函数)

从 C++11 起,可以在一个构造函数中调用另一个构造函数,这被称为构造函数委托

class MyClass {int a, b;public:MyClass() : MyClass(0, 0) {} // 委托给有参构造函数MyClass(int x, int y) : a(x), b(y) {std::cout << "a = " << a << ", b = " << b << std::endl;}
};

🧼 小结

概念构造函数析构函数
调用时机创建对象销毁对象
可否重载✅ 是❌ 否
是否带参数✅ 可选❌ 不可
特殊写法初始化列表、委托构造

💡 小技巧:当类中含有指针成员、资源句柄、文件描述符等时,务必在析构函数中释放资源,防止内存泄漏。


📎 拓展阅读

  • 构造函数的隐式调用和拷贝构造函数
  • 析构函数中的虚函数(虚析构)适用于继承
  • RAII(资源获取即初始化)思想

http://www.dtcms.com/wzjs/595983.html

相关文章:

  • 网站备案可以做电影网站吗网页兼容性站点
  • 毕设做网站答辩会要求当场演示吗上海网页制作教程
  • 中国建设银行北海招聘信息网站南昌制作企业网站
  • 做书籍的网站十大建筑设计公司
  • 备案时网站服务内容网络推广的目的有哪些
  • 网站开发服务费会计处理网站规划的主要任务是什么
  • 专业公司网站 南通php企业网站开发价格
  • 网站建设有限公毕设做网站工作量够吗
  • 网站建设公司的市场开拓方案网站开发vs2013
  • 网站做百度竞价的标志青岛推广优化
  • 福田网站建设报价泊头网站建设公司
  • 网站做单链 好不好建设网站都需要哪些内容
  • 想搭网站做软件首先要学设么网页制作与发布的流程
  • 鄂尔多斯做网站的公司如何在微信公众号内部做网站
  • 东莞网站推广渠道有哪些上海php做网站
  • 泉州做网站建设小猪会飞网站建设
  • iapp怎么把网站做软件wordpress菜单不显示
  • 蜀icp备 网站建设中企动力成都20个简单的网页设计作品
  • 设计好看的网站安泽网站建设
  • 湖南省网站设计公司做mod游戏下载网站
  • 百度收录排名好的网站小企业网站维护什么东西
  • 安康鼎盛网站建设做网站需要购买网站空间吗
  • 电子商务网站建站目的wordpress ajax 分页插件
  • wordpress建站网站报错vue开发wordpress
  • 务川县住房和城乡建设局网站网上智慧团建系统
  • 网站建设客户资源建筑建设网站
  • 品牌设计案例网站三亚本地网站建设
  • 上海跨境电商网站开发公司排名简诉网站建设小组的五类成员
  • 国外网站建设品牌小程序服务器多少钱
  • 建站优化是什么做家政公司网站