C++
文章平均质量分 74
Darnley
这个作者很懒,什么都没留下…
展开
-
C语言与C++、Java的区别
C语言与C++、Java的区别原创 2022-06-09 19:34:26 · 107 阅读 · 0 评论 -
Java通过JNA(Java Native access)调用C++语言的接口
1. JNA(Java Native access) github的项目地址:https://github.com/java-native-access/jna B站学习地址:Java使用JNA调用C/C++动态链接库dll_哔哩哔哩_bilibili 2. JNA的基础介绍 JAVA语言可以通过JNA机制,去访问C++定义的函数,进而实现了JAVA和C++的交互 JNA机制:也可以称作动态链接库机制 DLL:Dynamic Link Library:动态链接库 JNA是基于J..原创 2022-05-16 17:38:34 · 415 阅读 · 0 评论 -
C++语言基础:STL----unordered_map、unordered_multimap、unordered_set、unordered_multiset
2.9、unordered_map 2.9.1、unordered_map基本概念 1、简介 1. unordered_map是无序 map 容器, C++11标准,底层是哈希表存储结构;解决冲突:链地址法 2. pair中第一个元素为key(键值),起到索引作用,第二个元素为value(实值) 3. 所有元素都根据元素的键值无序排序 2、本质:map与unordered_map的区别 1). map是关联式容器,unordered_map是无序容器 2).原创 2022-05-06 02:10:06 · 569 阅读 · 0 评论 -
C++语言基础:STL函数对象
3、STL函数对象 3.1、函数对象 1、函数对象概念 1. 概念 重载函数调用操作符的类,其对象常称为函数对象 函数对象使用重载的()时,行为类似函数调用,也叫仿函数 2. 本质 函数对象(仿函数)是一个类,不是一个函数 2、函数对象使用 1. 特点 1. 函数对象在使用时,可以像普通函数那样调用,可以有参数,可以有返回值 2. 函数对象超出普通函数的概念,函数对象可以有自己的状态 3. 函数对象可以原创 2022-05-05 18:10:24 · 466 阅读 · 0 评论 -
C++语言基础:STL----stack / queue / list / set / multiset / map / multimap
2、STL常用容器 2.1、string 2.2、vector 2.3、deque 2.4、stack 2.4.1、stack基本概念 1、概念 stack是一种先进后出(First In Last Out, FILO)的数据结构,它只有一个出口 栈中只有顶端的元素才可以被外界使用,因为栈不允许有遍历行为 2.4.2、stack常用接口 1、构造函数 1. stack<T> stk; // stack原创 2022-05-05 17:58:55 · 428 阅读 · 0 评论 -
C++语言基础:STL----vector 、deque
2、STL常用容器 2.1、string 2.2、vector 2.2.1、vector基本概念 1、功能:vector 数据结构和数组非常相似,也称为单端数组 2、vector与普通数组的区别: 不同之处在于数组是静态空间,vector可以扩展 3、动态扩展: 并不是元空间之后续接新空间,而是找更大的内存空间,然后拷贝新空间,释放原空间 提供两种方法: 1. 尾插:push_back() 2. 尾原创 2022-05-05 17:42:37 · 804 阅读 · 0 评论 -
C++语言基础:STL----string
string原创 2022-05-05 17:08:43 · 292 阅读 · 0 评论 -
C++语言基础:模板——函数模板和类模板
1、模板的概念 1.1、模板就是建立通用的工具,大大提高复用性 1.2、C++的另一种编程思想称为泛型编程,主要利用的技术就是模板 C++提供两种模板机制:函数模板和类模板 2、函数模板 2.1 函数模板语法 函数模板作用 建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个虚拟的类型来代表。 语法: 语法定义: 1. template<typename T> 2. 函数声明或定义 语法定义的解释原创 2022-05-05 16:41:37 · 825 阅读 · 0 评论 -
C++语言基础:文件操作
9.5 文件操作 9.5.1 文件操作 1、程序运行时产生的数据都属于临时数据,程序一旦运行结束就会被释放 2、通过文件可以将数据持久化 3、C++中对文件操作需要包含头文件<fstream> 4、文件类型分为两种 1. 文本文件:文件以文本ASCII码形式存储在计算机中 2. 二进制文件:文件以文本的二进制形式存储在计算机中,用户一般不能直接读懂它们 5、操作文件的三大类 1. ofstream:写操作 2. ifstream:读操作原创 2022-05-05 16:20:53 · 247 阅读 · 0 评论 -
C++语言基础:类和对象
9.4 类和对象 C++面向对象的三大特征:封装、继承、多态 C++认为万物皆为对象,对象上有属性和行为 具有相同性质的对象,可以抽象为类 人属于人类,车属于车类 9.4.1 封装 9.4.1.1 封装的意义 (1)封装的意义 1. 将属性和行为作为一个整体,表现生活中的事物 2. 将属性和行为加以权限控制 (2)封装意义一: 在设计类的之后,属性和行为写在一起,表现事物 语法:class 类名 { 访问权限: 属性原创 2022-05-04 08:56:50 · 456 阅读 · 0 评论 -
C++语言基础:内存、引用、重载
9.1 内存分区模型 C++程序执行时,将内存大方向划分为4个区域 1. 代码区 存放函数体的二进制代码,由操作系统进行管理 2. 全局区 存放全局变量和静态变量(static)以及常量 3. 栈区 由编译器自动分切释放,存放局部变量,const修饰的局部常量等 4. 堆区 由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收 内存四区的意义: 不同区域存放的数据,赋予不同的声明周期,给我们更大的灵活编程原创 2022-05-04 00:17:07 · 287 阅读 · 0 评论 -
C++语言基础:结构体
8.1 结构体基本概念 结构是是用户自定义的数据类型,运行用户存储不同的数据类型 8.2 结构体定义和使用 语法:struct 结构体名{ 结构体成员列表 }; 通过结构体创建变量的方式有三种: 1. struct 结构体名 变量名 2. struct 结构体名 变量名 = { 成员1值,成员2值... } 3. 结构体创建的时候顺便创建变量 示例: // 1. 创建结构体Student,自定义数据类型struct Student{ // 成员原创 2022-05-04 00:05:17 · 178 阅读 · 0 评论 -
C++语言基础:函数 和 指针
6.1 概述 作用:经常使用的一段代码封装起来,减少重复代码 6.2 函数的定义 五个步骤 1. 返回值类型 2. 函数名 3. 参数列表 4. 函数体语句 5. return 表达式 语法 返回值类型 函数名(参数列表) { 函数体语句; return 表达式; } 6.3 函数的调用 语法:函数名(参数) 6.4 值传递 函数调用时,实参将数值传入给形参 开辟一块新的内存空间,放入实参;在新内存上操作数据 的时候并不会影响原原创 2022-05-03 23:57:29 · 123 阅读 · 0 评论 -
C++语言基础:运算符 、程序流程结构、数组
3.1 算术运算符 + 正号 - 负号 + - * / % ++ 前置递增、先让变量 +1.然后进行表达式的计算 ++ 后置递增、进行表达式的计算,然后让变量 +1 -- 前置递减、先让变量 -1.然后进行表达式的计算 -- 后置递减、进行表达式的计算,然后让变量 -1 3.2 赋值运算符 = += -= *= /= %= 3.3 比较运算符 == != < > <= >= 3.4 逻辑运算符 ! 非 &&a原创 2022-05-03 23:48:58 · 2150 阅读 · 0 评论 -
C++语言基础:002 数据类型
2.1 整型 数据类型 占用空间 取值范围 short(短整型) 2字节 (-2^15-2^15-1) int(整型) 4字节 ...原创 2022-05-03 23:40:58 · 237 阅读 · 0 评论 -
C++语言基础:001 C++基础语法-变量、常量、标识符
变量变量创建的语法:数据类型 名称 = 变量初始值常量:定义常量的两种方式#define 宏常量: #define 常量名 常量值通常在文件上方定义,表示一个常量const修饰的变量:const 数据类型 常量名=常量值通常在变量定义前加关键字const, 修饰该变量为常量,不可修改标识符/关键字关键字不可以作为变量的名称标识符命名规则1)变量/常量命名规则标识符不可以是关键字由字母数组下划线构成数字不可以作为第一个字符...原创 2022-05-03 23:35:51 · 406 阅读 · 0 评论 -
AudioBuffer
什么是AudioBufferAudioBuffer接口表示存在内存里的一段短小的音频资源。AudioBuffer是怎么构建的AudioBuffer接口表示存在内存里的一段短小的音频资源,利用AudioContext.decodeAudioData()方法从一个音频文件构建,或者利用 AudioContext.createBuffer()从原始数据构建。把音频放入AudioBuffer后,可以...原创 2019-10-30 17:16:08 · 2354 阅读 · 0 评论 -
原子变量和原子操作
1、什么是原子变量和原子操作原子操作是指**不会**被线程调度机制**打断**的操作;原子操作一旦开始,就一直运行到结束,中间**不会切换**到任何别的进程。原子变量是原子操作的基本单位。2、原子变量和原子操作的功能是什么在多进程(线程)访问**共享资源**时,能够确保所有其他的进程(线程)都不在同一时间内访问相同的资源。例如,atomic_bool,atomic_int等等,如果我们...原创 2019-10-30 15:57:04 · 1613 阅读 · 0 评论