C++ 11特性 备忘录

来源:互联网 发布:网络机顶盒看电影 编辑:程序博客网 时间:2024/06/05 21:06

因为最近折腾开源项目时,总是遇到一些C++11的新特性,为此,特作此备忘录,供自己查阅!


1.继承控制,使用override和final关键字:override确保在派生类中声明的重载函数与基类的虚函数有相同的签名;final阻止类的进一步派生或虚函数的进一步重载。

        override关键字写在重载函数声明的末尾,明确表明此函数是对基类中一个虚函数的重载,并且会检查重载函数的签名是否和基类虚函数的签名匹配。{个人理解:此关键字虽然解决了虚函数重载中存在签名不匹配的问题,但是由于c++11的向下兼容,关于虚函数重载存在的无意中匹配的问题,仍不能解决;解决这个问题就需要代码编写者,注意派生类中的函数不要与其基类的函数重复(函数名和参数)}

         final关键字写在明确不进行派生的类的前面修饰或明确不重载的虚函数前面修饰,一旦想要继承的类被final修饰,则该行代码将会编译报错,如果虚函数被final修饰,则在重载该虚函数时,同样会编译报错。{个人理解:这个关键字非常棒,只要不需要继承的类和不需要重载的虚函数,通通用final修饰,就不会在后面因为无意中函数声明重复而导致意外重载了}


原创粉丝点击