What is happening in the Curly Braces

As I know, } contains in actual some operation like destroying the stack allocated objects because when some error is happening in the destructor of an object, VS.NET point me to the closing of the Curly Braces and even you can step into it using F11 and see what is happening in the destructors that have been called. However, I have notice that the { is also an operation and if I try to step into it using F11, VS.NET tell me that it need memset.asm file in order to contiune debugin.

What is really happening inside {?

Answers


Curly braces establish scope and lifetime. Objects created within a pair of curly braces are not accessible outside of them. They are not code; but, since the objects will likely be freed when you exit them, the compiler may produce code as a result of the closing curly brace.

Regarding stepping into the opening curly brace, you are actually stepping into the first executable line of code within the curly brace. That line of code would explain why the debugger is trying to step into memset.asm.


Need Your Help

Exercise in Polymorphism, Inheritance, and Array-Sorting in Java

java arrays sorting polymorphism

I'm working on a project for class where I am asked to take a .txt file, aggregate the data into distinct objects, then sort that list based on shared characteristics. My instructions are to make the

Accessing jquery objects in js console

javascript jquery dom console.log

This doesn't work when I run it in my Chrome console: