devxlogo

Use Local Classes to Implement Nested Functions in C++

Use Local Classes to Implement Nested Functions in C++

C++ does not support the nested functions. However, you can use local classes to simulate the effects of nested functions.

Take the scenario given below:

int get_1 (int y){	int i = 9;	int get_2(int j)	{		return j + i;	}	i+=y;	return	get_2(9);}

Using local classes, you’d do it like this:

int get_1 (int y){	int i = 9;	class Local	{		public:		int operator () (int h)		{			return r + h;		}		int r;	}local;	local.r = i + y;	return local(9);}

devx-admin

Share the Post: