2,3,4,5,6,7,8,9,10,11,12,13,14
当前位置: 首页  - 作者"沐尘"  - 列表 - 第6页
Effective Modern C++13 |优先选用const_iterator,而非iterator

13 |优先选用const_iterator,而非iterator

在C++98中 const_iterator得到的支持不够全面,使用起来相当费力,C++11对其做了一个很大的优化,但是仍然有死角,但是C++14将这些死角清除干净了,所以现在我们可以很好的使用它。首先我们要记住的是在C++11中无法将iterator强制转换为const_iterator,即使是static_cast或者reinterp

Effective Modern C++12| 为意在改写的函数后添加override声明

12| 为意在改写的函数后添加override声明

override声明的作用很简单,就是当你为子类改写从父类那里继承下来的成员函数时,如果因为各种原因,导致改写失败(失败原因有很多,例如形参类型错误、函数修饰词遗漏等等),将在编译时给你明确提示。除了这个知识点,这里另外再介绍一个知识点,就是引用修饰词:

Effective Modern C++11 |优先选用delete删除函数,而非private未定义函数

11 |优先选用delete删除函数,而非private未定义函数

如果你实现了某个类给其他程序猿使用,但是不想让他使用某个特定函数,那我们可以直接不声明该函数即可。但是如果这个函数是编译器自动生成的,例如默认赋值函数,那我们又应该怎么做呢?C++98中的做法是将该函数声明为private权限,这样就阻止了外部直接调用它,然后我们也不去定义它,这样当该类的成员函数误调用该函数时,会提示链接错误。例如:cl

Effective Modern C++08 |优先选用nullptr,而非0或NULL

08 |优先选用nullptr,而非0或NULL

我们需要清楚的知道一件事情,就是0和NULL都不是指针类型,使用它们可以匹配不到指针类型的重载函数。但是nullptr就不一样了,虽然它的本质是std::nullptr_t,但是因为其可以隐式转换到所有类型的裸指针型别。所以在函数重载时,nullptr可以完美匹配指针型别的重载函数:void f(int);void f(bool);voi

C++入门到精通10 |C++多态的实现及原理

10 |C++多态的实现及原理

一、多态的概念 多态就是多种形态,C++的多态分为静态多态与动态多态:静态多态就是重载,因为在编译期决议确定,所以称为静态多态。在编译时就可以确定函数地址。动态多态就是通过继承,然后重写基类的虚函数,来实现的多态,因为实在运行时才决议确定被调用函数,所以称为动态多态。运行时在虚函数表中寻找调用函数的地址。在基类的函数前加上virtual

C++入门到精通09 |C++关键字大总结

09 |C++关键字大总结

1、extern关键字extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。记住它是一个声明不是定义C++中const修饰的全局常量据有跟static相同的特性,即它们只能作用于本编译模块中,但是const可以与extern连用来声明该常量可以作用于其他编译模块中,

C++入门到精通08 |虚继承

08 |虚继承

一、多继承C++语言支持多继承,一个子类可以有多个父类,子类继承所有父类的public及protect成员变量及成员函数,任何可以使用父类的地方都可以使用子类替换。class Derived : public BaseA,public BaseB,public BaseC {};当两个父类存在相同名称的成员函数,在子类中,可以通过【类

点击下拉
用户登录