【编程语言】C++
文章平均质量分 83
Ijuan_0712
记录学习工作生活,和媳妇儿一起奋斗
展开
-
C++中虚函数工作原理和(虚)继承类的内存占用大小计算
一、虚函数的工作原理 虚函数的实现要求对象携带额外的信息,这些信息用于在运行时确定该对象应该调用哪一个虚函数。典型情况下,这一信息具有一种被称为 vptr(virtual table pointer,虚函数表指针)的指针的形式。vptr 指向一个被称为 vtbl(virtual table,虚函数表)的函数指针数组,每一个包含虚函数的类都关联到 vtbl。当一个对象调用了虚函转载 2016-11-28 16:10:43 · 416 阅读 · 0 评论 -
c++11中的using关键字
一般的using关键子我们都是用来声明当前文件的命名空间,比如标准库的命名空间std-> using namespace std;但在c++11中,它的用处还有几个 1:取代typedef ,2:让父类同名函数在子类中以重载方式使用以下是《深入理解c++11》的对1:的截图以下是自己的实现//--------------------------------------转载 2016-12-20 17:53:50 · 485 阅读 · 0 评论 -
C++11初始化列表与参数列表的作用
最近遇到了一个程序,一开始有些莫名其妙,最后经过思考、猜想、验证的过程,将其总结如下:首先先上代码:函数声明如下:class Controller{ using AnalysisManager = NST::analysis::AnalysisManager; using FiltrationManager = NST::filtration::Filtratio原创 2016-12-20 16:18:18 · 5497 阅读 · 0 评论 -
C语言与C++编译连接的不同点(从程序中看)
一:先上程序a.h#include //extern void DYNAMIC_SETUP(void);void Init(void);a.c#include "a.h"void Init(void){ DYNAMIC_SETUP();}b.h#include #include typedef struct _DYNAMIC *PD原创 2016-11-25 14:45:55 · 1087 阅读 · 0 评论 -
C++11 之 delete 和 default
1 特殊成员函数 设计一个类,没有成员函数 (member function),只有数据成员 (member data)class DataOnly {private: std::string strName; // member data int iData;};C++98 编译器会隐式的产生四个函数:缺省构造函数,析构函数,拷贝构造函转载 2016-12-20 18:50:56 · 547 阅读 · 0 评论 -
引用详解
引用型参数一个函数引用参数实际上就是调用者实参的别名。对该参数的修改将直接影响实参的值。1)通过函数引用型参数可以修改实参的值。2)通过向函数传递引用型参数,避免数据拷贝的开销。如果该函数不需要修改实参的值,那么最好使用常引用形式的形参,以防止在函数对实参进行意外的修改。3.引用型返回值1)不要从函数中返回对局部变量的引用。2)可以返回对全局变量、静态局部变量、实参原创 2017-03-22 09:26:08 · 769 阅读 · 0 评论 -
C++多态总结
一、虚函数与多态1.如果将基类中的一个成员函数声明为虚函数(virtual),那么其子类中与该虚函数具有相同原型(返回类型相同、函数名相同、参数表相同、常属性相同)的成员函数就也成为虚函数, 并且和基类中的版本构成覆盖(override)关系。通过指向子类对象的基类指针,或者引用子类对象的基类引用,调用虚函数,实际被调用的将是子类中的覆盖版本。这种特性被称为多态。2.关于虚函数覆盖原创 2017-05-27 13:59:51 · 853 阅读 · 0 评论