📅  最后修改于: 2023-12-03 15:14:03.731000             🧑  作者: Mango
本地类是C++11中新增的特性,可以在函数内部定义并使用类。本地类的作用域仅限于定义它的函数,无法被其他函数或全局代码使用。本地类的语法与普通类相同,只是定义在函数内部。
void function()
{
class LocalClass
{
// 类成员
};
// 使用本地类
}
#include <iostream>
void test()
{
// 定义一个本地类
class LocalClass
{
public:
void sayHello()
{
std::cout << "Hello world!" << std::endl;
}
};
// 使用本地类
LocalClass localObj;
localObj.sayHello();
}
int main()
{
test();
return 0;
}
以上代码定义了一个本地类LocalClass,可以在函数test()内部使用。在test()函数中,定义了一个LocalClass类型的变量localObj,并调用了它的成员函数sayHello()。因为本地类的作用域仅限于test()函数,因此无法在main()函数中使用LocalClass类型的变量。
##总结
本地类是C++11中新增的特性,它可以在函数内部定义并使用类,作用域仅限于定义它的函数。在某些场景下,本地类可以方便地封装一些函数所需的数据和操作,提升代码的可读性和可维护性。但是需要注意本地类的限制和使用方法。