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
Feb 10, 2009

Nested Functions in C++

Although C++ does not allow nested function declaration, you can simulate it using a structure with a static function:

void outer()
{
	static int v1 = 5;
	int v2 = 5;

	struct thru
	{
		static void inner()
		{
			std::cout << v1 << std::endl;
			//std::cout << v2 << std::endl;
		}
	};

	thru::inner();
}
The inner() function will not have access to local variables of outer() (the line that is commented out in the code above will cause an error, for example); however, it will be able to access the local static variable v1 in outer().

Alexander Ocher
 
Comment and Contribute

 

 

 

 

 


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

 

 

Sitemap