摘要:
1. 异常处理 注意:以下内容在C++11中进行了优化,不再适用。 在C++98中,为程序可能出现的异常提供了一套完整的机制,其基本语法如下: 抛出异常: throw 表达式; try catch代码块: try{ 复合语句 }catch(异常类型){ 复合语句 }catch(异常类型){ 复合语句 阅读全文
posted @ 2023-12-04 17:20
BinaryPrinter
阅读(66)
评论(0)
推荐(0)
摘要:
文章参考: 《C++面向对象程序设计》✍千处细节、万字总结(建议收藏)_白鳯的博客-CSDN博客 C++支持C的输入、输出结构,同时也建立了一套面向对象的输入、输出结构,且更加安全。其输入/输出通过字节流的形式实现。 1. 输入/输出头文件 iostream:包含了对输入/输出流进行操作所需的基本信 阅读全文
posted @ 2023-12-04 17:19
BinaryPrinter
阅读(70)
评论(0)
推荐(0)
摘要:
文章参考: C++ 运算符重载_c++ 重载=-CSDN博客 1. 概述 如果不进行特殊处理,C++默认的运算符只能对基本的常量或变量进行运算,不能用于对象之间的运算。但有时我们希望对这些运算符功能进行拓展,让他们能够支持更多的运算。运算符重载应运而生。它能够赋予已有的运算符多重含义,使得同一运算符 阅读全文
posted @ 2023-12-04 17:18
BinaryPrinter
阅读(87)
评论(0)
推荐(0)
摘要:
文章参考: 《C++面向对象程序设计》✍千处细节、万字总结(建议收藏)_白鳯的博客-CSDN博客 1. 引入 在编写函数和类时,有时会出现这样的情况,具体实现方式完全一致,但因此参数类型、返回值类型、数据类型等因素的不同,导致不得不写多个函数或者类(因为C++是强类型语言,无法隐式转换,且有些类型本 阅读全文
posted @ 2023-12-04 17:17
BinaryPrinter
阅读(46)
评论(0)
推荐(0)
摘要:
文章参考: 《C++面向对象程序设计》✍千处细节、万字总结(建议收藏)_白鳯的博客-CSDN博客 1. 多态性概述 所谓多态性,就是不同对象接收不同消息时,产生不同的动作。这样就可以用相同的接口访问不同的函数,从而实现一个接口,多种方法。 从实现方式上看,多态性分为两种: 编译时多态: 在C++中, 阅读全文
posted @ 2023-12-04 17:16
BinaryPrinter
阅读(74)
评论(0)
推荐(0)
摘要:
文章参考: 《C++面向对象程序设计》✍千处细节、万字总结(建议收藏)_白鳯的博客-CSDN博客 1. 继承案例 #include <iostream> #include <string> using namespace std; class Person{ private: string name 阅读全文
posted @ 2023-12-04 17:15
BinaryPrinter
阅读(54)
评论(0)
推荐(0)
摘要:
文章参考: 《C++面向对象程序设计》✍千处细节、万字总结(建议收藏)_白鳯的博客-CSDN博客 相较于C语言的面向过程编程,C++改为面向对象编程,万物皆对象。 1. 构成 类一般由两部分构成: 数据成员 成员函数 访问权限可划分为三种,不同权限对应着不同的访问和继承规则: public prot 阅读全文
posted @ 2023-12-04 17:13
BinaryPrinter
阅读(66)
评论(0)
推荐(0)
摘要:
文章参考: 《C++面向对象程序设计》✍千处细节、万字总结(建议收藏)_白鳯的博客-CSDN博客 1. 一个简单的案例 #include <iostream> //编译预处理命令 using namespace std; //使用命名空间 int add(int a, int b); //函数原型说 阅读全文
posted @ 2023-12-04 17:12
BinaryPrinter
阅读(35)
评论(0)
推荐(0)
摘要:
文章参考:爱编程的大丙 (subingwen.cn) 1. 委托构造函数 目的: 允许同一个类中的一个构造构造函数调用其余构造函数,通过链式构造函数的形式,简化构造操作(类似于套娃)。 EG: #include <iostream> using namespace std; class Base{ 阅读全文
posted @ 2023-12-04 17:05
BinaryPrinter
阅读(82)
评论(0)
推荐(0)
摘要:
文章参考:爱编程的大丙 (subingwen.cn) 1. 概述 Lambda表达式是现代编程语言的一个特点,他有如下优点: 声明式的编程风格:就地匿名定义目标函数或函数对象,不需要额外写一个命名函数或函数对象。 简洁:避免了代码膨胀和功能分散,然开发更加高效。 灵活:在需要的时间和地点实现功能闭包 阅读全文
posted @ 2023-12-04 17:05
BinaryPrinter
阅读(61)
评论(0)
推荐(0)
摘要:
文章参考:爱编程的大丙 (subingwen.cn) C使用NULL表示空,其定义为: #define NULL ((void *)0) 在C++中同样定义了NULL,C和C++虽然都是强类型语言,但是C++对语言的要求更高,不允许(void *)类型进行隐式的类型转化,因此如果沿袭C中NULL的定 阅读全文
posted @ 2023-12-04 17:03
BinaryPrinter
阅读(39)
评论(0)
推荐(0)
摘要:
文章参考:爱编程的大丙 (subingwen.cn) 1. const关键字 const关键字的判断: 限制为常量。只有在声明时使用字面量初始化的才是常量,可以进入符号表。 void func(const int a){ // 只读变量 ... } int x = 0; const int a = 阅读全文
posted @ 2023-12-04 17:02
BinaryPrinter
阅读(151)
评论(0)
推荐(0)
摘要:
文章参考:爱编程的大丙 (subingwen.cn) 1. for循环新语法 在C++98中,对于不同的容器和数组,遍历方式不尽相同,也不够简洁。而在C++11中,基于范围的for循环可以更加方便的遍历容器和数组。 语法: for(declaration: expression){ ... } de 阅读全文
posted @ 2023-12-04 17:02
BinaryPrinter
阅读(136)
评论(0)
推荐(0)
摘要:
文章参考:爱编程的大丙 (subingwen.cn) 1. auto 在C++11之前,auto和static相对应用于表示变量是自动存储的,但是非static局部变量默认都是自动存储的,auto因此显得额外鸡肋。C++11中对auto进行了扩展,使他能够自动推导变量的实际类型。 1.1 推导规则 阅读全文
posted @ 2023-12-04 17:01
BinaryPrinter
阅读(150)
评论(0)
推荐(0)
摘要:
文章参考:爱编程的大丙 (subingwen.cn) 1. 基础概念 在C/C++中,表达式可以分为左值和右值。 左值(lvalue):是locator value的缩写,表示了存储在内存中,有明确存储地址(可寻址)的对象。 左值一般出现在表达式左侧,大部分左值是可以被修改的,但也存在一些不可以被修 阅读全文
posted @ 2023-12-04 17:00
BinaryPrinter
阅读(75)
评论(0)
推荐(0)
摘要:
文章参考:爱编程的大丙 (subingwen.cn) 1. C++98 在C++98中,为程序可能出现的异常提供了一套完整的机制,其基本语法如下: 抛出异常: throw 表达式; try catch代码块: try{ 复合语句 }catch(异常类型){ 复合语句 }catch(异常类型){ 复合 阅读全文
posted @ 2023-12-04 16:59
BinaryPrinter
阅读(112)
评论(0)
推荐(0)
摘要:
文章参考:爱编程的大丙 (subingwen.cn) 1. 断言 定义:断言是程序测试的一种常用手段,通过将一个返回值总是为真的判断表达式放在语句中,用于排除一些逻辑上的错误。 语法: assert(表达式):如果表达式为真,程序正常运行。如果为假,程序将会终止运行。 头文件:<cassert>/< 阅读全文
posted @ 2023-12-04 16:59
BinaryPrinter
阅读(74)
评论(0)
推荐(0)
摘要:
文章参考:爱编程的大丙 (subingwen.cn) C++11中提供了专门的转换函数,用于对数值类型和字符串之间进行转换。 1. 数值转字符串 使用to_string()函数,这是一个重载函数,函数声明位于<string>头文件中,函数原型如下: // 头文件 <string> string to 阅读全文
posted @ 2023-12-04 16:58
BinaryPrinter
阅读(86)
评论(0)
推荐(0)
摘要:
文章参考:爱编程的大丙 (subingwen.cn) 1. 连续右尖号 在C++11之前,如果模板实例化时出现了两个右尖号>>,它会被编译成右移操作符,而不是模板参数表的结束。显然,这回导致模板实例化失败,程序无法通过编译。 C++11中改进了编译器的解析规则,即:尽可能地将多个连续的右尖号(>)解 阅读全文
posted @ 2023-12-04 16:57
BinaryPrinter
阅读(60)
评论(0)
推荐(0)
摘要:
文章参考:爱编程的大丙 (subingwen.cn) 1. final C++11中提供了final关键字。 作用: 写在类名后面,限制类不能被继承。 写在函数后面,限制函数被重写。 1.1 限制函数 被final限制的函数无法被重写。 #include <iostream> #include <c 阅读全文
posted @ 2023-12-04 16:57
BinaryPrinter
阅读(30)
评论(0)
推荐(0)
摘要:
文章参考:爱编程的大丙 (subingwen.cn) 1. C++98类成员初始化 C++98中的初始化策略: 非静态数据成员,必须在构造函数中初始化。 静态数据成员,有两种情况: 在类外进行初始化。 如果是静态常量,而且是整形/枚举类型,可以在类中声明时直接加上=初始值来初始化。 EG: 代码: 阅读全文
posted @ 2023-12-04 16:56
BinaryPrinter
阅读(30)
评论(0)
推荐(0)
摘要:
文章参考:爱编程的大丙 (subingwen.cn) 1. 定义 C++11标准要求long long类型在不同平台有不同的长度,但至少有64位,它分为两种: long long 类型:后面需要加上LL或ll的后缀。 long long num1 = 123456789LL; long long n 阅读全文
posted @ 2023-12-04 16:55
BinaryPrinter
阅读(185)
评论(0)
推荐(0)
摘要:
文章参考:爱编程的大丙 (subingwen.cn) 概述: 在C和C++中,如果想在字符串中表示一些特殊字符,往往都是通过特殊字符进行转义。例如输入路径时,想要输入\,就要使用\\,对其进行转义,因为\是特殊字符。而在C++11中,提供了原始字面量这一操作,在原始字面量中省略了转义的操作,可以直接 阅读全文
posted @ 2023-12-04 16:54
BinaryPrinter
阅读(45)
评论(0)
推荐(0)

浙公网安备 33010602011771号