C++ 11特性 备忘录

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


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

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

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值