zl程序教程

C++11

  • c++回调函数详解及实现(lambda)

    c++回调函数详解及实现(lambda)

    回调函数就是一个被作为参数传递的函数。在C语言中,回调函数只能使用函数指针实现,在C++语言中还可以使用仿函数或匿名函数。回调函数的使用可以大大提升编程的效率,这使得它在现代编程中被非常多地使用。 回调的好处用于解耦,可以把调用者与被调用者分开,所以调用者不关心谁是被调用者。它只需知道存在一个具有特定原型和限制条件的被调用函数。简而言之,回调函数就是允许用户把需要调用的函数的指针作为参数传递给

    日期 2023-06-12 10:48:40     
  • VS2022 C++  const char * 类型的实参与LPCWSTR类型的形参不兼容

    VS2022 C++ const char * 类型的实参与LPCWSTR类型的形参不兼容

    问题const char * 类型的实参与LPCWSTR类型的形参不兼容 VS2022 解决办法修改为无设置即可 随后即可正常运行

    日期 2023-06-12 10:48:40     
  • C++多态之析构和纯虚析构分析与示例

    C++多态之析构和纯虚析构分析与示例

    虚析构和纯虚析构多态使用时,如果子类中有属性开辟到堆区,那么父类指针在释放时无法调用到子类的析构代码解决方式:将父类中的析构函数改为虚析构或者纯虚析构虚析构和纯虚析构共性:可以解决父类指针释放子类对象都需要有具体的函数实现虚析构和纯虚析构区别:如果是纯虚析构,该类属于抽象类,无法实例化对象虚析构语法:virtual ~类名(){}纯虚析构语法: virtual ~类名() = 0;类名::~类名(

    日期 2023-06-12 10:48:40     
  • UE5中 uDraper 插件无法编译 C++ 工程的修复

    UE5中 uDraper 插件无法编译 C++ 工程的修复

    UE5中 uDraper 插件无法编译 C++ 工程的修复uDraper是用来做布料模拟的插件。现在出现的问题是安装了 uDraper 之后无法编译 C++ 工程。经典报错就是:Expecting to find a type to be declared in a module rules named 'Vitrum' in UE5Rules, Version=0.0.0.0

    日期 2023-06-12 10:48:40     
  • C++面向对象程序设计_面向对象程序设计的基本机制是

    C++面向对象程序设计_面向对象程序设计的基本机制是

    大家好,又见面了,我是你们的朋友全栈君。文章目录一、面向过程和面向对象的区别。二、面向过程和面向对象的特征。三、面向对象的基本特征:封装性,继承性,多态性(抽象性)。1)抽象2 )封装3)继承4)多态一、面向过程和面向对象的区别。面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。 面向对象是把构成问题事务分解成各个对象,建立对象的目的不是

    日期 2023-06-12 10:48:40     
  • C++学习——类和对象

    C++学习——类和对象

    大家好,又见面了,我是你们的朋友全栈君。一、类和对象基本知识:1、类的访问控制有哪些? 公有成员:以关键字public指明。 私有成员:以关键字private指明。 保护成员:以关键字protected指明。 2、拷贝构造函数的作用是什么? 用一个已经存在的对象初始化本类的新对象。 3、友元函数和友元类的作用是什么? 友元提供了不同类或对象的成员函数之间、类的成员函数与一般函数之间进

    日期 2023-06-12 10:48:40     
  • C++学习之路——函数重载和运算符重载

    C++学习之路——函数重载和运算符重载

    大家好,又见面了,我是你们的朋友全栈君。一、函数重载C++允许在同一作用域中的某个函数和运算符指定多个定义,分 别称为函数重载和运算符重载重载声明是指一个与之前已经在该作用域内声明过的函数或方法 具有相同名称的声明,但是它们的参数列表和实现不相同。当您调用一个重载函数或重载运算符时,编译器通过把您所使用的参数类型与定义中的参数类型进行比较,决定选用最合适的定义。选择最合适的重载函数或重载运算符的过

    日期 2023-06-12 10:48:40     
  • c++视频转字符画_c++字符数组转化为字符串

    c++视频转字符画_c++字符数组转化为字符串

    大家好,又见面了,我是你们的朋友全栈君。文章目录EasyX库效果展示代码直接上代码,放控制台即可运行EasyX库运行此程序需要有graphics图形库,需要的小伙伴可以点击下方连接下载: https://download.csdn.net/download/weixin_45525272/46595007双击exe,安装对应VS版本的库即可效果展示输入图片路径后,回车 运行后当前目录会出现一个t

    日期 2023-06-12 10:48:40     
  • c++ cin输入空格_cin输入string遇到空格

    c++ cin输入空格_cin输入string遇到空格

    大家好,又见面了,我是你们的朋友全栈君。文章目录一、cin>>用法1:输入一个数字或字符用法2:接收一个字符串,遇“空格”、“TAB”、“回车”就结束二、cin.getline()用法:接收一个字符串,可以接收空格并输出延伸:三、getline()用法:接收一个字符串,可以接收空格并输出,需包含“`#include`”四、注意的问题一、cin>>用法1:输入一个数字或字符#

    日期 2023-06-12 10:48:40     
  • 干货 | OpenCV获取不规则区域的最大内切圆(附Python / C++ 源码)

    干货 | OpenCV获取不规则区域的最大内切圆(附Python / C++ 源码)

    导 读本文主要介绍如何使用OpenCV获取不规则区域的最大内切圆。(公众号:OpenCV与AI深度学习) 实现步骤 核心思路是使用距离变换来获取最大内切圆,具体步骤如下: 【1】将目标轮廓/区域提取出来,处理成二值图:目标区域白色(255),背景黑色(0),并将目标区域填充为白色(255)。 测试原图: 二值化 + 轮廓提取 + 填充绘制: 【2】

    日期 2023-06-12 10:48:40     
  • C++泛型编程,模板(一)函数模板

    C++泛型编程,模板(一)函数模板

    模板的概念模板就是建立通用的模具,大大提高复用性例如生活中的模板:一寸照片模板,PPT模板等。模板的特点:模板不可以直接使用,它只是一个框架模板的通用并不是万能的函数模板C++另一种编程思想称为 ==泛型编程== ,主要利用的技术就是模板 C++提供两种模板机制:函数模板和类模板 函数模板语法函数模板作用:建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个虚拟的类型来代表。语法

    日期 2023-06-12 10:48:40     
  • C++项目贪吃蛇游戏笔记-项目代码

    C++项目贪吃蛇游戏笔记-项目代码

    .cppmain.cpp#include "controller.h" int main()//程序入口 { Controller c;//声明一个Controller类 c.Game();//整个游戏循环 return 0; }复制controller.cpp#include <iostream> #include <time.h&

    日期 2023-06-12 10:48:40     
  • cvte2020年c++实习生面试题

    cvte2020年c++实习生面试题

    2020年C++实习生cvte面经2020年面试cvte的面试题,方向C++后端开发。1. 笔试太久远忘了,内容大概是C++智能指针,容器,迭代器相关,主C++11特性,不会很难。2.一面电话面,全程大约40分钟。首先是最经典的自我介绍,然后就面试官直接开问。一面题目:理解多态的概念虚函数表指针重载,编译器是如何做到的等new和malloc的区别new一个数组,然而delete时没有加方括号如何避

    日期 2023-06-12 10:48:40     
  • C++项目职工管理系统笔记-项目代码

    C++项目职工管理系统笔记-项目代码

    main职工管理系统.cpp#include<iostream> using namespace std; #include "workerManager.h" int main() { WorkerManager wm; int choice = 0; while (true) { //展示菜单 wm.Show_Menu(); cout &

    日期 2023-06-12 10:48:40     
  • c++时间戳转换日期格式_java时间戳转换成时间

    c++时间戳转换日期格式_java时间戳转换成时间

    大家好,又见面了,我是你们的朋友全栈君。 因工作需要,经常跟时间戳打交道,但是因为它仅仅是一个数字,我们很难直接看出它有什么意义,或两个时间戳之间究竟差了多长的间隔。于是从MSDN for Visual Studio6上找到了时间戳转换成日期时间的算法。本文除介绍这一算法外,还提供一个示例代码。1、将时间戳转换成一串32比特的二进制数。有些数字转换之后不够32位,则在前面补充0。这可通过windo

    日期 2023-06-12 10:48:40     
  • C++获取当前系统时间_罗兰C系统

    C++获取当前系统时间_罗兰C系统

    大家好,又见面了,我是你们的朋友全栈君。 C库中与系统时间相关的函数定义在<time.h>头文件中, C++定义在<ctime>头文件中。 一、time(time_t*)函数 函数定义如下: time_t time (time_t* timer); 获取系统当前日历时间 UTC 1970-01-01 00:00:00开始的unix时间戳 参数:timer 存取结果的时间指

    日期 2023-06-12 10:48:40     
  • C#面试题及答案_c++面试题库

    C#面试题及答案_c++面试题库

    大家好,又见面了,我是你们的朋友全栈君。 1.值变量 / 引用变量参考链接:https://www.cnblogs.com/bakuhert/articles/5878086.html2. 装箱 / 拆箱 装箱在值类型向引用类型转换时发生,拆箱在引用类型向值类型转换时发生,装箱操作和拆箱操作是要额外耗费cpu和内存资源的,所以在c# 2.0之后引入了泛型来减少装箱操作和拆箱操作消耗。

    日期 2023-06-12 10:48:40     
  • C/C++常用控制台函数

    C/C++常用控制台函数

    C/C++常用控制台函数前言:包含头文件Windows.h#include<Windows.h>复制需要说明的是,这个头文件包含了大多数win api函数的定义,绝不仅仅只包含控制台api查看操作控制台的全部可使用API函数1.修改和获取标题使用函数:SetConsoleTitleA,GetConsoleTitleA原型:BOOL WINAPI SetConsoleTitleA(

    日期 2023-06-12 10:48:40     
  • C++  Socket套接字概述

    C++ Socket套接字概述

    My Table1. socket套接字2. 网络字节顺序与本地字节顺序之间的转换函数3. 查看socket连接的客户端和服务端信息4. socket退出5. 参考 socket套接字就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。要通过互联网进行通信,至少需要一对套接字,其中一个运行于客户端,我们称之

    日期 2023-06-12 10:48:40     
  • Dev-c++中将头文件和头文件函数分离,编译主函数跳出undefined reference to 的问题解决

    Dev-c++中将头文件和头文件函数分离,编译主函数跳出undefined reference to 的问题解决

    更新时间:2022.5.13 8:00 在学习谭浩强c++第三版面向对象编程,第二章习题四中: 需要实现三个文件分离,主函数(.cpp),类的声明(头文件),对成员函数定义文件(.cpp) 单在使用Dev-C++实现中,发现在编译一直出现undefined reference to set_value,也就是提示我们定义的这个函数未定义,但是我们定义了,所以应该是我们没有无法链接到函数实现

    日期 2023-06-12 10:48:40     
  • C++读写txt文件(基本操作1)

    C++读写txt文件(基本操作1)

    大家好,又见面了,我是你们的朋友全栈君。本博客主要写了用C++读写txt本文的基本操作,最简单的写入和读出两个基本操作。本程序的功能是向Test.txt文件文件写入字符串“This is a Test12!”和读取字符串“This is a Test12!”,并且将读取到的字符串存到temp变量(char型变量),且输出到控制台窗口进行显示。注意:1.1当创建ofstream对象后,可以像操作co

    日期 2023-06-12 10:48:40     
  • C++数据结构——队列「建议收藏」

    C++数据结构——队列「建议收藏」

    大家好,又见面了,我是你们的朋友全栈君。 C++数据结构——队列参考博客: 数据结构图文解析之:队列详解与C++模板实现 C++ stl队列Queue用法介绍:删除,插入等操作代码举例1、队列(Queue)与栈一样,是一种线性存储结构,它具有如下特点:(1)队列中的数据元素遵循“先进先出”(First

    日期 2023-06-12 10:48:40     
  • C++ 炼气期之基本结构语法中的底层逻辑

    C++ 炼气期之基本结构语法中的底层逻辑

    1. 前言从语言的分类角度而言,C++是一种非常特殊的存在。属于高级语言范畴,但又具有低级语言的直接访问硬件的能力,这也成就了C++语言的另类性,因保留有其原始特性,其语法并不象其它高级语言一样易理解,但处理能力却比其它语言高很多。从语言的处理能力和速度而言,让人爱;从语法体系角度而言,对于学习者并不友好。但对于专业开发者,建议学好C++语言,C++的底层特性对于理解其它语言的高级封装原理有很大的

    日期 2023-06-12 10:48:40     
  • C++ 炼气期之数据是主角

    C++ 炼气期之数据是主角

    1. 前言数据在程序中的重要性,怎么强调都不为过,程序的本质就是通过提供数据处理逻辑,把数据从一种状态变成另一种状态的过程。处理逻辑一定是有针对性的,针对的是数据本身的特性。只有了解了数据本身的内在逻辑含义以及数据间的逻辑关系,才能提供恰到好处的处理逻辑。如,根据面粉的特性适用于制作面包、面条的处理逻辑,并不适合辣条的制作逻辑。数据是程序的主角,逻辑是程序的剧本。本文将从如下几个方面聊聊C++中的

    日期 2023-06-12 10:48:40     
  • C++ 炼气期之变量的生命周期和作用域

    C++ 炼气期之变量的生命周期和作用域

    1. 前言什么是变量的生命周期?从变量被分配空间到空间被收回的这一个时间段,称为变量的生命周期。什么是变量的作用域?在变量的生命周期内,其存储的数据并不是在任何地方都能使用,变量能使用的范围,称为变量的作用域。广义而言,可以根据变量的声明位置,把变量分为全局(全局作用域)变量和局部(局部作用域)变量:全局变量:在一个较大的范围之内声明的变量。如在源代码文件中声明的变量能在整个文件中使用(文件级别作

    日期 2023-06-12 10:48:40     
  • C++ 炼气期之算术运算符

    C++ 炼气期之算术运算符

    1. 前言编写程序时,数据确定后,就需要为数据提供相应的处理逻辑(方案或算法)。所谓逻辑有 2 种存在形态:抽象形态:存在于意识形态,强调思考过程,与具体的编程语言无关。具体形态:通过代码来实现。需要使用表达式描述完整的计算过程。表达式由 2 个部分组成:数据。也可称为操作数。``运算符`。 运算符是计算机语言提供的能对数据进行基本运算操作的功能体。开发者在实现自己的逻辑运算时,需要组合这些运算符

    日期 2023-06-12 10:48:40     
  • C++ 练气期之细聊字符串

    C++ 练气期之细聊字符串

    1. 概念程序不仅仅用于数字计算,现代企业级项目中更多流转着充满了烟火气的人间话语。这些话语,在计算机语言称为字符串。从字面上理解字符串,类似于用一根竹签串起了很多字符,让人很容易想起冰糖葫芦。字符串的基本组成元素是字符,可以认为字符串就是字符类型的数组。量变总会引起质变,字符串是由字符的量变演化出的新类型, 2 者在数据含义和存储结构都有着本质上区别。1.1 数据含义C++把字符类型当成整型数据

    日期 2023-06-12 10:48:40     
  • C++ 练气期之二维数组与矩阵运算

    C++ 练气期之二维数组与矩阵运算

    1. 前言C++中的一维数组可以存储线性结构的数据,二维数组可以存储平面结构的数据。如班上所有学生的各科目成绩就有二个维度,学生姓名维度和科目成绩维度。这样的表格数据可以使用二维数组进行存储。当需要存储更多维度的数据时,可以使用多维数组。二维数组和矩阵的关系:有些教材上,把二维数组和矩阵当成一回事,其实,两者还是有区别的。矩阵:矩阵(Matrix)是线性数学中的概念,是一个按照长方阵列排列的复数或

    日期 2023-06-12 10:48:40     
  • C++ 特殊矩阵的压缩算法

    C++ 特殊矩阵的压缩算法

    1. 前言什么是特殊矩阵?计算机语言中,一般使用二维数组存储矩阵数据。在实际存储时,会发现矩阵中有许多值相同或许多值为零的数据,且分布有一定的规律,称这类型的矩阵为特殊矩阵。为了节省存储空间,可以设计算法,对这类特殊矩阵进行压缩存储,让多个相同的非零数据只分配一个存储空间;对零数据不分配空间。本文将聊聊如何压缩这类特殊矩阵,以及压缩后如何保证矩阵的常规操作不受影响。2. 压缩对称矩阵什么是对称矩阵

    日期 2023-06-12 10:48:40     
  • C++ 漫谈哈夫曼树

    C++ 漫谈哈夫曼树

    1. 前言什么是哈夫曼树?把权值不同的n个结点构造成一棵二叉树,如果此树满足以下几个条件:此 n 个结点为二叉树的叶结点 。权值较大的结点离根结点较近,权值较小的结点离根结点较远。该树的带权路径长度是所有可能构建的二叉树中最小的。则称符合上述条件的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。构建哈夫曼树的目的是什么?用来解决在通信系统中如何使用最少的二进制位编码字符信息。本文将

    日期 2023-06-12 10:48:40     
  • C++系列笔记(八)

    C++系列笔记(八)

    【导读】《21天学通C++》这本书通过大量精小短悍的程序详细而全面的阐述了C++的基本概念和技术,包括管理输入/输出、循环和数组、面向对象编程、模板、使用标准模板库以及创建C++应用程序等。这些内容被组织成结构合理、联系紧密的章节,每章都可在1小时内阅读完毕,都提供了示例程序清单,并辅以示例输出和代码分析,以阐述该章介绍的主题。本文是系列笔记的第八篇,欢迎各位阅读指正!

    日期 2023-06-12 10:48:40