-
C++ 11是啥 C++ 11标准的由来
所属栏目:[语言] 日期:2023-04-18 热度:3327
C++ 这门编程语言的历史可以追溯至 1979 年,当时的 Bjarne Stroustrup(C++ 之父,后续简称 Stroustrup)还在使用 Simula 语言进行开发工作。Simula 语言被认为是第一个面向对象的编程语言。Stroustrup 也非常赞赏 [详细]
-
计算机文件到底是哪些 通俗易懂
所属栏目:[语言] 日期:2023-04-17 热度:6746
内存中存放的数据在计算机关机后就会消失。要长久保存数据,就要使用硬盘、光盘、U 盘等设备。为了便于数据的管理和检索,引入了“文件”的概念。一篇文章、一段视频、一个可执行程序,都可以被保存为一个[详细]
-
C++ cout.tellp()和cout.seekp()方案详解
所属栏目:[语言] 日期:2023-04-17 热度:7636
通过前面章节的学习我们知道,无论是使用 cout 输出普通数据,用 cout.put() 输出指定字符,还是用 cout.write() 输出指定字符串,数据都会先放到输出流缓冲区,待缓冲区刷新,数据才会输出到指定位置(屏幕或者文件[详细]
-
C++输入流和输出流 超级具体
所属栏目:[语言] 日期:2023-04-17 热度:6705
本教程一开始就提到,C++ 又可以称为“带类的 C”,即可以理解为 C++ 是 C 语言的基础上增加了面向对象(类和对象)。在此基础上,学过 C 语言的读者应该知道,它有一整套完成数据读写(I/O)的解决方案:[详细]
-
C++转换构造函数 将其它类型转换为当前类的类别
所属栏目:[语言] 日期:2023-04-17 热度:3935
在 C/C++ 中,不同的数据类型之间可以相互转换。无需用户指明如何转换的称为自动类型转换(隐式类型转换),需要用户显式地指明如何转换的称为强制类型转换。自动类型转换示例:int a = 6;a = 7.5 + a;编译器对 7.5 [详细]
-
C++类型转换函数 将当前类的类型更换为其它类型
所属栏目:[语言] 日期:2023-04-17 热度:9798
转换构造函数能够将其它类型转换为当前类类型(例如将 double 类型转换为 Complex 类型),但是不能反过来将当前类类型转换为其它类型(例如将 Complex 类型转换为 double 类型)。C++ 提供了类型转换函数(Type con[详细]
-
C++异常类别以及多级catch匹配
所属栏目:[语言] 日期:2023-04-17 热度:2084
先来回顾一下上节讲到的 try-catch 的用法:try{ // 可能抛出异常的语句}catch(exceptionType variable){ // 处理异常的语句}我们还遗留下一个问题,就是 catch 关键字后边的exceptionType variable,这节就来详细[详细]
-
C++异常解决入门 C++ try catch入门
所属栏目:[语言] 日期:2023-04-17 热度:4530
开发程序是一项“烧脑”的工作,程序员不但要经过长期的知识学习和思维训练,还要做到一丝不苟,注意每一个细节和边界。即使这样,也不能防止程序出错。专家指出,长期作息不规律 + 用脑过度的危害很大,可[详细]
-
大话C++模板编程的起因经过
所属栏目:[语言] 日期:2023-04-17 热度:4963
计算机编程语言种类繁多,目前能够查询到的有 600 多种,常用的不超过 20 种,TIOBE 每个月都会发布世界编程语言排行榜,统计前 50 名编程语言的市场份额以及它们的变动趋势。该榜单反映了编程语言的热门程度,程序员[详细]
-
C++重载new和delete运算符细说
所属栏目:[语言] 日期:2023-04-17 热度:3221
内存管理运算符 new、new[]、delete 和 delete[] 也可以进行重载,其重载形式既可以是类的成员函数,也可以是全局函数。一般情况下,内建的内存管理运算符就够用了,只有在需要自己管理内存时才会重载。以成员函数的[详细]
-
C++运算符重载注意事项以及归纳
所属栏目:[语言] 日期:2023-04-17 热度:3894
在 C++ 中进行运算符重载时,有以下问题需要注意:重载后运算符的含义应该符合原有用法习惯。例如重载+运算符,完成的功能就应该类似于做加法,在重载的+运算符中做减法是不合适的。此外,重载应尽量保留运算符原有的[详细]
-
C++运算符重载时要遵守的规则
所属栏目:[语言] 日期:2023-04-15 热度:7718
运算符重载是通过函数重载实现的,概念上大家都很容易理解,这节我们来说一下运算符重载的注意事项。1) 并不是所有的运算符都可以重载。能够重载的运算符包括:+ - * / % ^ & | ~ ! = < > += -= *= /= %= ^= &= |= <[详细]
-
C++运算符重载基础教学
所属栏目:[语言] 日期:2023-04-15 热度:4424
所谓重载,就是赋予新的含义。函数重载(Function Overloading)可以让一个函数名有多种功能,在不同情况下进行不同的操作。运算符重载(Operator Overloading)也是一个道理,同一个运算符可以有不同的功能。实际上[详细]
-
C++ typeid运算符 取得类别信息
所属栏目:[语言] 日期:2023-04-15 热度:8866
typeid 运算符用来获取一个表达式的类型信息。类型信息对于编程语言非常重要,它描述了数据的各种属性:对于基本类型(int、float 等C++内置类型)的数据,类型信息所包含的内容比较简单,主要是指数据的类型。对于类[详细]
-
C++虚函数注意事宜以及构成多态的条件
所属栏目:[语言] 日期:2023-04-15 热度:4126
C++ 虚函数对于多态具有决定性的作用,有虚函数才能构成多态。上节《C++多态和虚函数快速入门教程》我们已经介绍了虚函数的概念,这节我们来重点说一下虚函数的注意事项。1) 只需要在虚函数的声明处加上 virtual 关键[详细]
-
C++多态和虚函数迅速入门教程
所属栏目:[语言] 日期:2023-04-15 热度:5033
在《C++将派生类赋值给基类(向上转型)》一节中讲到,基类的指针也可以指向派生类对象,请看下面的例子:#include <iostream>using namespace std;//基类Peopleclass People{public:People(char *name, int age);vo[详细]
-
C++虚继承和虚基类说明
所属栏目:[语言] 日期:2023-04-15 热度:2949
多继承(Multiple Inheritance)是指从多个直接基类中产生派生类的能力,多继承的派生类继承了所有父类的成员。尽管概念上非常简单,但是多个基类的相互交织可能会带来错综复杂的设计问题,命名冲突就是不可回避的一[详细]
-
C++三种继承方案
所属栏目:[语言] 日期:2023-04-15 热度:5568
C++继承的一般语法为:class 派生类名:[继承方式] 基类名{ 派生类新增加的成员};继承方式限定了基类成员在派生类中的访问权限,包括 public(公有的)、private(私有的)和 protected(受保护的)。此项是可选项[详细]
-
C++继承时的名字遮蔽难题
所属栏目:[语言] 日期:2023-04-15 热度:6598
如果派生类中的成员(包括成员变量和成员函数)和基类中的成员重名,那么就会遮蔽从基类继承过来的成员。所谓遮蔽,就是在派生类中使用该成员(包括在定义派生类时使用,也包括通过派生类对象访问该成员)时,实际上[详细]
-
C++继承和派生简单教程
所属栏目:[语言] 日期:2023-04-15 热度:3863
C++ 中的继承是类与类之间的关系,是一个很简单很直观的概念,与现实世界中的继承类似,例如儿子继承父亲的财产。继承(Inheritance)可以理解为一个类从另一个类获取成员变量和成员函数的过程。例如类 B 继承于类 A[详细]
-
C++引用10分钟入门教案
所属栏目:[语言] 日期:2023-04-15 热度:3534
我们知道,参数的传递本质上是一次赋值的过程,赋值就是对内存进行拷贝。所谓内存拷贝,是指将一块内存上的数据复制到另一块内存上。对于像 char、bool、int、float 等基本类型的数据,它们占用的内存往往只有几个字[详细]
-
C++ class和struct到底有什么差异
所属栏目:[语言] 日期:2023-04-14 热度:983
C++ 中保留了C语言的 struct 关键字,并且加以扩充。在C语言中,struct 只能包含成员变量,不能包含成员函数。而在C++中,struct 类似于 class,既可以包含成员变量,又可以包含成员函数。C++中的 struct 和 class 基[详细]
-
GDB help命令 查看目标命令的关键用法
所属栏目:[语言] 日期:2023-04-14 热度:6918
截止到本节,我们接触了大量的 GDB 命令,甚至很多命令还拥有不同的语法格式和参数。这就产生一个问题,如何才能记住它们呢?实际上,GDB 调试器的开发人员也想到了这个问题。为了降低用户使用 GDB 调试器的学习成本[详细]
-
GDB frame和backtrace命令 查询栈信息
所属栏目:[语言] 日期:2023-04-14 热度:9163
当程序因某种异常停止运行时,我们要做的就是找到程序停止的具体位置,分析导致程序停止的原因。对于 C、C++ 程序而言,异常往往出现在某个函数体内,例如 main() 主函数、调用的系统库函数或者自定义的函数等。要知[详细]
-
GDB禁用和删掉断点
所属栏目:[语言] 日期:2023-04-14 热度:2550
我们知道,GDB 调试器支持 3 种断点,分别为普通断点(用 break 命令创建)、观察断点(用 watch 命令建立)以及捕捉断点(用 catch 命令建立)。并且如果需要的话,我们可以在被调试程序中打多个断点,甚至于 GDB 允[详细]
