随笔分类 - C++Plus Note
书本C++PrimerPlus中的知识点总结
代码中出现的#ifdef xxx 代码块 #endif 是什么意思
摘要:1. 这是条件编译: 2. 只有定义了宏 NULL 的时候,才执行 #ifdef 里面的代码块,如果没有定义 NULL 就不执行;
阅读全文
C++ 动态内存
摘要:1.C++ 程序中的内存分为两个部分: 1.栈:在函数内部声明的所有变量都将占用栈内存。所有变量都存放在栈中; 2.堆:这是程序中未使用的内存,在程序运行时可用于动态分配内存;
阅读全文
C++ 文件的读写操作
摘要:1.简介: 数据类型描述 ofstream 该数据类型表示输出文件流,用于创建文件并向文件写入信息。 ifstream 该数据类型表示输入文件流,用于从文件读取信息。 fstream 该数据类型通常表示文件流,且同时具有 ofstream 和 ifstream 两种功能,这意味着它可以创建文件,向文
阅读全文
C++ 接口、抽象类、数据抽象 三者之间的关系
摘要:1.三者的关联? C++ 接口是使用抽象类来实现的,抽象类与数据抽象互不混淆,数据抽象是一个把实现细节与相关的数据分离开的概念。 2.什么是抽象类,抽象类的作用: 设计抽象类(通常称为 ABC)的目的,是为了给其他类提供一个可以继承的适当的基类。抽象类不能被用于实例化对象,它只能作为接口使用; 因此
阅读全文
什么是虚函数?什么是纯虚函数?
摘要:虚函数 1. 虚函数 是在基类中使用关键字 virtual 声明的函数。在派生类中重新定义基类中定义的虚函数时, 会告诉编译器不要静态链接到该函数。 纯虚函数 2. 您可能想要在基类中定义虚函数,以便在派生类中重新定义该函数更好地适用于对象,但是您在 基类中又不能对虚函数给出有意义的实现,这个时候就
阅读全文
类的静态成员变量、类的静态成员函数
摘要:类的静态成员变量 1. 声明类的成员为静态时,这意味着无论创建多少个类的对象,静态成员都只有一个副本; 2. 静态成员在类的所有对象中是共享的。如果不存在其他的初始化语句,在创建第一个对象时, 所有的静态数据都会被初始化为零。我们不能把静态成员的初始化放置在类的定义中,但是 可以在类的外部通过使用范
阅读全文
JSON以及JSON在QT中的使用
摘要:1.JSON(JavaScrip Object Notation) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的 js 规范) 的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和
阅读全文
为什么c++11的标准中对于class要加入final?
摘要:Effective C++ 中,条款 07 提到:“如果你曾经企图继承一个标准容器或任何其他“带有 non-virtual 析构函数”的 class,拒绝诱惑吧!”。 直接来看代码,再作出解释: struct Base { ~Base() {} }; struct Derived : public
阅读全文
函数最后加const什么意思?
摘要:1.“声明一个成员函数的时候用const关键字是用来说明这个函数是 "只读(read-only)"函数, 也就是说明这个函数不会修改任何数据成员 (object)。
阅读全文
怎么区分 取地址符 和 引用?
摘要:1. 引用在赋值=的左边,而取地址在赋值的右边,比如 int a=3; int &b=a; //引用 int *p=&a; //取地址 2. 和类型在一起的是引用,和变量在一起的是取址。 举例同样如上,还有下例: int function(int &i) { } //引用
阅读全文
成员初始化列表法
摘要:定义一个类,成员初始化列表法,主要是用在构造函数中,在初始化对象的时候,如果不指定某些数据的值, 构造函数默认会使用预定义的数据,例如: class Banana{ private: char color; char size; public: void showcolor(){ std::cout
阅读全文
继承
摘要:默认为private继承; 1.派生类会继承基类的所有方法,但是以下几个情况除外: 不会继承基类的构造函数、析构函数、拷贝构造函数; 不会继承重载运算符; 不会继承友元函数,因为友元函数不属于类; 2. 私有成员:private 只有类和友元函数才可以访问私有成员; 公有成员:public 公有成员
阅读全文