C/C++
文章平均质量分 91
旷工锁
这个作者很懒,什么都没留下…
展开
-
c++中特殊的知识点(持续更新)
gccg++.c 可使用的预定义宏是比较少.cpp会加入一些额外的宏原创 2022-07-05 15:06:08 · 455 阅读 · 0 评论 -
c++文件
头文件文件分类1.文本文件以ASCLL码存储在电脑上2.二进制文件以二进制数存储在电脑上打开方式使用时可以配合使用iosin|iosout运行结果右键cpp文件,打开文件夹系统会把文件创建到项目文件夹中打开text文件。...原创 2022-07-14 22:07:34 · 2286 阅读 · 0 评论 -
c++内存分区
内存分区的作用:把不同的数据 存放在不同的区中,使得由不同的生存周期,使编程更加灵活 代码区 全局区 栈区 堆区 在程序编译后:会生成exe可执行文件未执行该程序前:代码区:存放cpu执行的机器指令 代码区是共享的,多次使用的程序,只由一份代码 代码区是只读的,防止修改指令全局区:存放全局变量和静态变量和各种常量(字符串常量,全局常量) 程序结束后,由系统释放#include<iostream>#include<stri..原创 2022-04-15 13:00:53 · 557 阅读 · 0 评论 -
c++ 流类库
I/O流概念: 流是一种抽象,它负责在数据的生产者和数据的消费者之间建立联系,并管理数据的流动程序将流动对象看作是文件对象的化身读操作为:提取 写操作为:插入在I/O流中 已经声名了4个流对象输入:cin 输出:cout cerr clogI/O流类层次图抽象流基类类名 头文件 ios ios 流基类 输入流类:类名 头文件 istream istream 通用输入流 ifstream f.原创 2022-04-14 14:15:04 · 556 阅读 · 0 评论 -
预处理指令和强制转换
预处理器指令:(如 和 )通常用于使源程序在不同的执行环境中易于更改和编译预处理器语句使用的字符集与源文件语句相同,但转义序列不受支持。 预处理器语句中使用的字符集与执行字符集相同。 预处理器还可识别负字符值。常见的预处理关键词:#undef : #error:#if、#elif、#else 和 #endif :defined:预处理运算符 用法:#ifdef 和#ifndef #import :(C++专用)过去一直合并类型库中的原创 2022-06-03 13:51:57 · 401 阅读 · 0 评论 -
c++ 异常处理
异常处理:编写软件时,不仅要保证软件的正确性,同时也要有容错能力。异常处理的实现:1.异常处理的语法:throw表达式当程序发现不能处理的异常时 ,可以使用throw表达式抛掷这个异常,如果有多种要抛掷的异常应该用不同的操作数来区别try块语法:try复合语句catch(异常声明)复合语句catch(异常声明)复合语句...处理过程:注意事项:当抛出的异常与catch匹配时catch子句中声明的异常类型就是抛出异常对象的类型或引..原创 2022-04-14 22:16:52 · 722 阅读 · 0 评论 -
c++模板
通俗的讲,模板的作用:一段代码可以适用多个场景。函数模板两种使用方式:(一般使用还是给出数据类型更为直观) 不可自动类型推导的情况: 1.当函数模板没有参数时: 2.当函数模板参数类型和模板的参数类型不存在对应关系时 3.与函数模板返回值相关的模板参数不能进行自动推导4. 自动推导必须从左到右推导,不能间隔 1.普通函数调用时可以发生自动类型转换(隐式类型转换) 2.函数模板调用时,利用自动类型推导,不会发生隐式类型转换 3.利用显示指定类型的方式,可以发生隐原创 2022-07-05 20:57:46 · 725 阅读 · 0 评论 -
c++多态
在这里我们发现,我声明的时一个子类对象,但有父类指针或引用去接收时,调用的函数却是父类的,为了解决这个问题,c++提供了虚函数的概念。声明为纯虚函数,则该函数可以不用实现 (也可以实现),拥有纯虚函数的类也称为 抽象类什么样的函数不能声明为虚函数?1)普通函数普通函数不属于成员函数,是不能被继承的。普通函数只能被重载,不能被重写,因此声明为虚函数没有意义。因为编译器会在编译时绑定函数。而多态体现在运行时绑定。通常通过基类指针指向子类对象实现多态。2)友元函数友元函数不属于类的成员函数,不能被继承原创 2022-07-05 08:49:03 · 724 阅读 · 0 评论 -
C++继承
继承:是一个类从另一个类获取成员变量和成员函数的过程(子类继承于父类)派生:一个类派生给一个类(父类派生给子类)继承的格式:class 子类名 : 继承方式 父类名{ 内容 };单继承: 继承的方式:继承的方式有三种:public protected private保护继承:私有继承:继承中同名成员的处理:成员变量同名: 举一个混合的例子:原创 2022-07-03 20:42:05 · 1877 阅读 · 2 评论 -
c++类与对象
类和对象是 C++的重要特性:类(class)是一种构造类型,对象(object)类定义出来的变量,类是创建对象的模板,一个类可以创建多个对象,每个对象都是类类型的一个变量;创建对象的过程也叫类的实例化。每个对象都是类的一个具体实例(Instance),拥有类的成员变量和成员函数。对象的创建:类的成员:类中的权限和封装: class默认权限:private(私有权限)封装: 在实战项目中尽可能的使用封装 成员变量一般为私有权限 成员函数原创 2022-06-20 11:35:48 · 1065 阅读 · 0 评论 -
c++基础(命名空间—New)
作用:开发时就是各自使用独立的空间,便于联合开发刚开始每次编写cpp时,都会出现 using namespace std;这句话的意思是把未指名空间的对象,指定到std空间中什么时候调用std 使用命名空间的内容需要指名在那个命名空间使用: ::域解析操作符使用 using 的弊端:当using的空间过多易产生二义性 为避免以上问题 可以对常用的一些 方法变量单独指名出来 还有另一种情况:空间嵌套使用一: 用 ::限定空间使用使用二: using n原创 2022-06-12 23:03:36 · 2106 阅读 · 0 评论 -
c++基础四 (联合体——文件)
注意:联合体公用一个地址,所以数据类型不能带有构造函数的抽象数据定义:联合体的初始化: 联合体的赋值:联合体内存占用:联合体把变量存放到同一段存储单元 联合体可以和结构体相互嵌套: 详细请看:大小端模式_百度百科 (baidu.com) 来个例题:题目来自:unsigned int a= 0x1234; unsign_腾讯笔试题_牛客网 (nowcoder.com)结构体的定义 :结构体初始化:原创 2022-06-11 09:31:25 · 2039 阅读 · 0 评论 -
c++基础三 (数组——指针)
数组的初始化:数组的赋值: 二维数组的初始化:二维数组的赋值:数组的遍历: 正常的循环语句 for(;;) c++11新添加的遍历语句 for( :)格式为:字符串:字符串有两种表达方式:下面链接有详细用法c++ string_旷工锁的博客-CSDN博客 指针是一个变量,其值为另一个变量的地址,通过地址来访问数据地址:都是一个十六进制表示的数空指针:空指针的作用:防止指针指向随机的、不正确的、没有明确限制的地址,防止指针指向了一个原创 2022-06-08 20:33:30 · 8094 阅读 · 0 评论 -
c++基础二(函数)
函数声明:函数声明会告诉编译器函数名称及如何调用函数函数的重载:函数参数: 值传递 修改函数内的形式参数对实际参数没有影响。 引用传递做函数参数:引用做返回值: 不能返回局部变量 返回值可以做左值常量引用:主要用来修饰形参:防止形参修饰实参 指针传递:注意事项:重点:引用和指针的区别c++11开始有匿名函数:Lambda 函数与表达式lamb原创 2022-06-07 20:23:57 · 1116 阅读 · 0 评论 -
C++基础一(概念——循环)
C++ 是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持过程化编程、面向对象编程和泛型编程。c++是一种高级语言c++面向对象开发的特征:封装,抽象,继承,多态c++是C语言的拓展,C语言是面向过程的语言,c++既可以面向对象也可以面向过程程序是指令的集合计算机硬件系统可识别的二进制指令组成机器语言汇编语言:将机器指令映射为可以被人理解的助记符X进制转化为十进制:数字与权相乘然后相加101(2)=1*2^0+0*2^1+1*2^2=5A589(16)=9*16^0+8*16^1+5*原创 2022-06-07 11:55:05 · 1938 阅读 · 0 评论