![](https://img-blog.csdnimg.cn/43ba260d26e441fb88ceb80c020c3f6c.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C/C++
文章平均质量分 92
C/C++
Lumos`
努力努力再努力
展开
-
Cmake的CMakeLists.txt写法示例
Cmake的CMakeLists.txt写法示例目录示例一:单文件示例二:多个源文件示例三:将hello.c生成一个库来调用示例四:工程分类文件夹编译示例五:Cmake的install使用示例一:单文件文件名字为main.cpp,内容如下:#include <iostream>int main() { printf("Hello World!\n"); return 0;}CMakeLists.txt文件内容如下,其中:a. cmake_m原创 2022-03-14 19:37:54 · 2490 阅读 · 0 评论 -
C/C++学习之路: STL
C/C++学习之路: STL目录STL概述STL三大组件常用容器1. STL概述STL(Standard Template Library,标准模板库),主要出现在 c++中,但是在引入 c++之前该技术已经存在很长时间了。STL 从广义上分为: 容器(container) ,算法(algorithm) 和迭代器(iterator),容器和算法之间通过迭代器进行无缝连接。STL 几乎所有的代码都采用了模板类或者模板函数,这相比传统的由函数和类组成的库来说提供了更好的代码重用机会。原创 2021-12-27 15:08:54 · 172 阅读 · 0 评论 -
C/C++学习之路: 模板和异常
C/C++学习之路: 模板和异常目录模板类型转换异常输入和输出流1. 模板1. 模板概述c++提供了函数模板(function template),函数模板实际上是建立一个通用函数,其函数类型和形参类型不具体制定,用一个虚拟的类型来代表,这个通用函数就成为函数模板。凡是函数体相同的函数都可以用这个模板代替,不必定义多个函数,只需在模板中定义一次即可。在调用函数时系统会根据实参的类型来取代模板中的虚拟类型,从而实现不同函数的功能。c++提供两种模板机制:函数模板和类模板原创 2021-12-23 21:09:25 · 236 阅读 · 0 评论 -
C/C++学习之路: 多态
C/C++学习之路: 多态目录多态基本概念向上类型转换及问题如何实现动态绑定抽象基类和纯虚函数纯虚函数和多继承虚析构函数重写,重载,重定义1. 多态基本概念多态是面向对象程序设计语言中数据抽象和继承之外的第三个基本特征。多态性(polymorphism)提供接口与具体实现之间的另一层隔离。多态性改善了代码的可读性和组织性,同时也使创建的程序具有可扩展性,项目不仅在最初创建时期可以扩展,而且当项目在需要有新的功能时也能扩展。c++支持编译时多态(静态多态)和运行时多态(动态原创 2021-12-21 18:50:49 · 106 阅读 · 0 评论 -
C/C++学习之路: 继承
C/C++学习之路: 继承目录继承概述派生类访问控制继承中的构造和析构继承中同名函数的处理方法非自动继承的函数继承中静态成员特性多继承1. 继承概述1. 继承基本概念c++最重要的特征是代码重用,通过继承机制可以利用已有的数据类型来定义新的数据类型,新的类不仅拥有旧类的成员,还拥有新定义的成员。一个B类继承于A类,或称从类A派生类B。这样的话,类A成为基类(父类), 类B成为派生类(子类)。派生类中的成员,包含两大部分:一类是从基类继承过来的,一类是自己增加的成员。原创 2021-12-21 16:19:16 · 773 阅读 · 0 评论 -
C/C++学习之路: C++对C的扩展
C/C++学习之路: C++对C的扩展目录1 ::作用域运算符通常情况下,如果有两个同名变量,一个是全局变量,另一个是局部变量,那么局部变量在其作用域内具有较高的优先权,它将屏蔽全局变量。int a = 10; //全局变量void test(){ int a = 20; //局部变量 //全局a被隐藏 cout << "a:" << a << endl; //a:20}作用域运算符可以用来解决局部变量与全局变量的重名问题int a =原创 2021-11-15 23:57:50 · 1034 阅读 · 0 评论 -
C/C++学习之路: 智能指针
C/C++学习之路: 智能指针目录前言shared_ptr1. 前言在C++中,动态内存的管理是通过一对运算符完成的:new:在动态内存中为对象分配空间并返回一个指向该对象的指针,可以选择对对象进行初始化delete:接受一个动态对象的指针,销毁该对象,并释放与之关联的内存动态内存使用容易出现问题,因为很难保证在正确的时间释放内存,如果忘记释放内存就会产生内存泄漏,或者在有指针引用内存的情况下释放就会产生引用非法内存的指针。为了更方便也更安全使用动态内存,新的标准库提供了两原创 2021-11-09 10:51:24 · 255 阅读 · 0 评论 -
C/C++学习之路_九:文件操作
C/C++学习之路_九:文件操作目录概述文件的顺序读写文件的随机读写windows和linux文本获取文件状态删除文件、重命名文件文件缓冲区1. 概述1. 磁盘文件和设备文件磁盘文件:指一组相关数据的有序集合,通常存储在外部介质(如磁盘)上,使用时才调入内存。设备文件:在操作系统中把每一个与主机相连的输入、输出设备看作是一个文件,把它们的输入、输出等同于对磁盘文件的读和写。2. 磁盘文件的分类计算机的存储在物理上是二进制的,所以物理上所有的磁盘文件本质上都是一样的:原创 2021-11-03 20:39:26 · 115 阅读 · 0 评论 -
C/C++学习之路_八: 复合类型
C/C++学习之路_九: 复合类型目录结构体共用体(联合体)枚举typedef1. 结构体1. 概述有时我们需要将不同类型的数据组合成一个有机的整体,如:一个学生有学号/姓名/性别/年龄/地址等属性。显然单独定义以上变量比较繁琐,数据不便于管理。C语言中给出了另一种构造数据类型——结构体。2. 结构体变量的定义和初始化定义结构体变量的方式:先声明结构体类型再定义变量名在声明类型的同时定义变量直接定义结构体类型变量(无类型名)结构体类型和结构体变量关系:原创 2021-11-03 20:39:14 · 100 阅读 · 0 评论 -
C/C++学习之路_七: 内存管理
C/C++学习之路_八: 内存管理目录作用域内存布局内存分区代码分析1. 作用域C语言变量的作用域分为:代码块作用域(代码块是{}之间的一段代码)函数作用域文件作用域1. 局部变量局部变量也叫auto自动变量(auto可写可不写),一般情况下代码块{}内部定义的变量都是自动变量,它有如下特点:在一个函数内定义,只在函数范围内有效在复合语句中定义,只在复合语句中有效随着函数调用的结束或复合语句的结束局部变量的声明声明周期也结束如果没有赋初值,内容为随机原创 2021-10-31 16:02:58 · 211 阅读 · 0 评论 -
C/C++学习之路_六: 指针
C学习之路_第七章: 指针目录概述指针基础知识指针和数组多级指针指针和函数指针和字符串指针小结1. 概述1. 内存内存含义:存储器:计算机的组成中,用来存储程序和数据,辅助CPU进行运算处理的重要部分。内存:内部存贮器,暂存程序/数据——掉电丢失。SRAM、DRAM、DDR、DDR2、DDR3。外存:外部存储器,长时间保存程序/数据—掉电不丢。ROM、ERRROM、FLASH(NAND、NOR)、硬盘、光盘。内存是沟通CPU与硬盘的桥梁:暂存放CPU中的原创 2021-10-28 10:08:43 · 110 阅读 · 0 评论