摘要:
文章参考: 《C++面向对象程序设计》✍千处细节、万字总结(建议收藏)_白鳯的博客-CSDN博客 相较于C语言的面向过程编程,C++改为面向对象编程,万物皆对象。 1. 构成 类一般由两部分构成: 数据成员 成员函数 访问权限可划分为三种,不同权限对应着不同的访问和继承规则: public prot 阅读全文
摘要:
文章参考: 《C++面向对象程序设计》✍千处细节、万字总结(建议收藏)_白鳯的博客-CSDN博客 1. 一个简单的案例 #include <iostream> //编译预处理命令 using namespace std; //使用命名空间 int add(int a, int b); //函数原型说 阅读全文
摘要:
文章参考:爱编程的大丙 (subingwen.cn) 1. 委托构造函数 目的: 允许同一个类中的一个构造构造函数调用其余构造函数,通过链式构造函数的形式,简化构造操作(类似于套娃)。 EG: #include <iostream> using namespace std; class Base{ 阅读全文
摘要:
文章参考:爱编程的大丙 (subingwen.cn) 1. 概述 Lambda表达式是现代编程语言的一个特点,他有如下优点: 声明式的编程风格:就地匿名定义目标函数或函数对象,不需要额外写一个命名函数或函数对象。 简洁:避免了代码膨胀和功能分散,然开发更加高效。 灵活:在需要的时间和地点实现功能闭包 阅读全文
摘要:
文章参考:爱编程的大丙 (subingwen.cn) C使用NULL表示空,其定义为: #define NULL ((void *)0) 在C++中同样定义了NULL,C和C++虽然都是强类型语言,但是C++对语言的要求更高,不允许(void *)类型进行隐式的类型转化,因此如果沿袭C中NULL的定 阅读全文
摘要:
文章参考:爱编程的大丙 (subingwen.cn) 1. const关键字 const关键字的判断: 限制为常量。只有在声明时使用字面量初始化的才是常量,可以进入符号表。 void func(const int a){ // 只读变量 ... } int x = 0; const int a = 阅读全文
摘要:
文章参考:爱编程的大丙 (subingwen.cn) 1. for循环新语法 在C++98中,对于不同的容器和数组,遍历方式不尽相同,也不够简洁。而在C++11中,基于范围的for循环可以更加方便的遍历容器和数组。 语法: for(declaration: expression){ ... } de 阅读全文
摘要:
文章参考:爱编程的大丙 (subingwen.cn) 1. auto 在C++11之前,auto和static相对应用于表示变量是自动存储的,但是非static局部变量默认都是自动存储的,auto因此显得额外鸡肋。C++11中对auto进行了扩展,使他能够自动推导变量的实际类型。 1.1 推导规则 阅读全文
摘要:
文章参考:爱编程的大丙 (subingwen.cn) 1. 基础概念 在C/C++中,表达式可以分为左值和右值。 左值(lvalue):是locator value的缩写,表示了存储在内存中,有明确存储地址(可寻址)的对象。 左值一般出现在表达式左侧,大部分左值是可以被修改的,但也存在一些不可以被修 阅读全文
摘要:
文章参考:爱编程的大丙 (subingwen.cn) 1. C++98 在C++98中,为程序可能出现的异常提供了一套完整的机制,其基本语法如下: 抛出异常: throw 表达式; try catch代码块: try{ 复合语句 }catch(异常类型){ 复合语句 }catch(异常类型){ 复合 阅读全文