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

C++的构造函数和析构函数

使用时机

构造函数调用在类对象创建时

析构函数调用在类对象销毁时

声明

构造函数声明必须跟类名一致,析构函数在构造函数前面加~符号

例如

class Person {
public:string name;Person(string n) : name(n) {cout << "Constructor called for " << name << endl;}~Person() {cout << "Destructor called for " << name << endl;}
};

何时创建和销毁

类对象声明前面的{表示该对象开始创建

与之对应的}表示类对象销毁

例如

void example() {Person p("Bob");  // Constructor called here
}  // Destructor called when p goes out of scope

如果函数内部还有{}则对象的生存周期在最近的{}

例如

void example() {Person p("Bob");  // Constructor called here{Person p1("Alice");}Person p2("Jim");  // Constructor called here
}  // Destructor called when p goes out of scope

p1对象的析构函数调用会在p函数之前

http://www.xdnf.cn/news/5700.html

相关文章:

  • 六、快速启动框架:SpringBoot3实战
  • RDB和AOF的区别
  • KUKA机器人中断编程2—中断相关的指令
  • 传导发射中的模拟手
  • P1460 [USACO2.1] 健康的荷斯坦奶牛 Healthy Holsteins
  • 【人工智能-agent】--Dify中MCP工具存数据到MySQL
  • 数据库实验报告 系统E-R图设计 2
  • [Git]ssh下用Tortoisegit每次提交都要输密码
  • el-table滚动条,都悬浮在页面的底层显示
  • 区块链技术构建电子发票平台“税链”
  • 2025年5月9日
  • CSPM-3 与 CSPM-4:项目管理认证的进阶之路
  • 【AutoGen革命】多智能体协作系统的架构设计与工程实践
  • 什么是数据集市(Data Mart)?
  • 链表面试题7之相交链表
  • Git日志信息
  • MyTinySTL
  • 【idea】快捷键ctrl+shift+F(Find in files)不起作用
  • C++.Windows图形
  • 养生:开启健康生活的全新篇章
  • C++类和对象--中阶
  • js 画立方体软件开发日记2
  • QuickList
  • Docker编排工具详解:Docker Compose与Docker Swarm
  • 08.webgl_buffergeometry_attributes_none ,three官方示例+编辑器+AI快速学习
  • 电子工程领域常见的缩略语及其对应的中文和英文释义
  • Python-Flask-Dive
  • 【Java学习笔记】多态参数
  • 深度强化学习有什么学习建议吗?
  • VC++快捷使用安装libcurl