繁体   English   中英

花括号中发生了什么

[英]What is happening in the Curly Braces

据我所知, }实际上包含一些操作,如销毁分配给堆栈的对象,因为对象的析构函数中发生某些错误时,VS.NET会指出我关闭了花括号,甚至您也可以使用F11进入它并查看被调用的析构函数中发生的情况。 但是,我注意到{也是一个操作,如果我尝试使用F11进入它,VS.NET会告诉我它需要memset.asm文件才能继续进行调试。

{内到底发生了什么?

花括号确定范围和寿命。 在一对花括号内创建的对象无法在其外部访问。 它们不是代码。 但是,由于退出时可能会释放对象,因此,由于花括号的闭合,编译器可能会生成代码。

关于进入花括号,您实际上是进入花括号中的第一行可执行代码。 该行代码将解释为什么调试器尝试进入memset.asm。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM