Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: C++
Expertise: Intermediate
Mar 18, 1999

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.
Danny Kalev
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap