Declaring Variables Inside an If-Condition

Declaring Variables Inside an If-Condition

C++ allows you to declare variables just before their use rather than at the top of the enclosing block. Thus, it is legal to declare a variable inside the condition of an if-statement:

 class Base {/*..*/};class Derived: public Base {/*..*/};void func (Base& b){  if ( Derived *pd = dynamic_cast < Derived* > (&b) ) //declaration inside if-condition  {    //dynamic_cast was successful; use pd here    return;  }//pd goes out of scope at this point   //otherwise dynamic_cast failed; variable pd is not in scope}

The advantage of declaring the pointer pd locally is obvious: it is always initialized with an appropriate value, and it isn’t visible to other parts of the program that should not use it.

See also  What Are International Payments, And How Do They Work?

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist