代码编织梦想

【c/c++ 10】扫雷小游戏-爱代码爱编程

一、题目 写一个扫雷小游戏,每次输入一个坐标,若该处是地雷,则游戏失败,若该处不是地雷,则显示周围地雷数量,若扫除全部非地雷区域,则扫雷成功。 二、算法 设置两张地图(二维数组)mine和show,一张用于埋雷,一张用于显示当前的排雷情况。 两张地图的大小都比游戏雷场的ROW和COL加了两行两列,方便计算每个点周围的雷数。 mine的数据类型

vscode编译运行多个c++文件-爱代码爱编程

1.摘要 在使用Vscode编译单个文件网上很多教程,但是对多个文件编译会发现经常出问题,通过不断的借阅网友的教程改进终于完成C++运行多个文件教程如下: 2.编译运行过程 2.1 初始配置过程 (1)Vscode以及MinGW配置教程很多自行查阅。 (2)在文件下建立.vscode   (3)  接着在.vscode文件夹并创建3个文件,分别

【c/c++ 16】c++11线程库-爱代码爱编程

目录 一、thread类概述 二、多线程 三、原子性操作库 四、lock_guard 五、unique_guard 一、thread类概述 进程是操作系统进行资源调度的最小单位,线程是CPU进行任务执行的最小单位。 在C++11之前,涉及到多线程问题,都是和平台相关的,比如windows和linux下各有自己的接口,这使得代码的可移

【c/c++ 13】c++11高效特性-爱代码爱编程

目录 一、初始化列表 二、auto 三、decltype 四、可变参数列表 五、lambda表达式 C++11在C++98的基础上增添了许多特性,但是同时也使得C++程序的开发变得复杂繁琐,让众多开发者苦不堪言,于是我们需要从C++11新增舔的特性中选择一些能够提高开发效率的东西进行学习和应用。 一、初始化列表 在C++98中,

[c语言]结构体初识-爱代码爱编程

结构体定义         结构体是一些值的集合,被成为成员变量,结构的每个成员可以是不同类型的变量 声明:         定义了一个结构体比如以张蓝图,不占据内存,当你创建了一个结构体变量时,才占空间. #include<stdio.h> //struct 为结构体关键字, student 自定义结构体名称 struct stu

c/c++的输入输出 | 简单易懂-爱代码爱编程

目录 C输入输出: 头文件(重点): 格式: 输入: 输出:  引用块中的内容(重点)(不全,欢迎补充):   C++输入输出: 头文件(重点): 格式: 输出: 输入: C输入输出: 头文件(重点): #include <stdio.h&

【c/c++ 09】万年历-爱代码爱编程

一、题目 输入一个年份,以日历的格式打印这一年的所有天数,需要正确的表示每一天是周几。 二、算法 以公元1年1月1日作为万年历的起始日期,公元1年1月1日是周一,所以算法的核心就是就算某一天距离起始日期的天数差,然后根据天数差取模就能得到周几。 拿到输入的年份后,循环打印每个月的日历表格,每个月都计算出这个月第一条距离万年历其实日期的天数差,便

c++(20):通过concept及nlohmann将数据转换为字符串-爱代码爱编程

nlohmann可以自动兼容将C++的很多原生类型转换为json,甚至自定义类型也不需要太复杂的操作就可以转换为json,可以利用这一点将数据转换为string: #include <nlohmann/json.hpp> #include <string> #include <vector> #include <

单板计算机(sbc)-爱代码爱编程

要点: 片上系统/单板计算机嵌入式C++及VHDL编程单板计算机(Raspberry Pi)C++实现MQTT监控房间门锁,灯光,并使用RESTful提示状态单板计算机(ESP8266)C++ 无线网络 MQTT土壤湿度监

【c/c++ 01】初级排序算法-爱代码爱编程

排序算法通常是针对数组或链表进行排序,在C语言中,需要手写排序算法完成对数据的排序,排序规则通常为升序或降序(本文默认为升序),在C++中,<algorithm>头文件中已经封装了基于快排算法的 std::sort() 函数,但是快速排序是不稳定的排序算法,于是<algorithm>中还包含了 stable_sort() 函数,即保

【c/c++ 05】快速排序-爱代码爱编程

快速排序是Hoare于1962年提出的一种二叉树结构的交换排序算法,其基本思想是:任取待排序序列中的某元素作为基准值,按照该基准值将待排序集合分割成两个子序列,左子序列中所有元素均小于基准值,右子序列中所有元素均大于基准值,然后左右子序列递归该过程,直到所有元素都排列在相应的位置上为止。 排序对象:数组、链表时间复杂度:空间复杂度:是否稳定:否 //

[c++]使用纯opencv部署yolov8旋转框目标检测-爱代码爱编程

【官方框架地址】 https://github.com/ultralytics/ultralytics 【算法介绍】 YOLOv8是一种先进的对象检测算法,它通过单个神经网络实现了快速的物体检测。其中,旋转框检测是YOLOv8的一项重要特性,它可以有效地检测出不同方向和角度的物体。 旋转框检测的原理是通过预测物体的边界框和旋转角度来实现的。在YOLO

ubuntu 18.04 x86_64 上交叉编译 boost 库(armv7l)-爱代码爱编程

先安装 ARMv7L 交叉编译器环境: 在 Ubuntu 18.04 x86_64 上面安装 Linux-ARMv7 A/L GCC编译器-CSDN博客  1、下载 boost 1.84 的源代码访问要编译的目录,并且解压出来源代码,切入源代码根目录 2、./bootstrap.sh --with-libraries=filesystem,thr

在 ubuntu 18.04 x86_64 上面安装 linux-爱代码爱编程

一键安装  Linux-ARMv7A GCC编译器:(平板、手机一般是) ########################### 输入以下命令: 1、sudo apt update 2、sudo apt install gcc-arm-linux-gnueabi      sudo apt install g++-arm-linux-gnueab

ubuntu20.04 切换 gcc/g++ 版本-爱代码爱编程

ubuntu20.04 切换 gcc/g++ 版本 如果要切换到低版本5.4 通过命令查询本机gcc/g++已安装的版本 ls /usr/bin/gcc* ls /usr/bin/g++* sudo gedit

c++ 4种类型转换-爱代码爱编程

1. 常量转换(const_cast)。=》方便赋值 常量转换用于去掉表达式的const属性,使其变成非常量表达式,方便赋值。常量转换不能改变表达式的类型,只能改变const属性。示例代码: const int a = 10; int b = const_cast<int&>(a); 2. 静态转换(static_cast)

《webkit 技术内幕》学习之八(1):硬件加速机制-爱代码爱编程

《WebKit 技术内幕》之八(1):硬件加速机制 1 硬件加速基础 1.1 概念         这里说的硬件加速技术是指使用GPU的硬件能力来帮助渲染网页,因为GPU的作用主要是用来绘制3D图形并且性能特别好,这是它的专长所在,它同软件渲染有很多不同的地方,既有自己的优点,当然也有些不足之处。         对于GPU绘图而言,通常不像软件渲

《webkit 技术内幕》学习之十(4): 插件与javascript扩展-爱代码爱编程

4 Chromium扩展机制 4.1 原理         Chromium的扩展(Extension)机制 (1) 原先是Chromium推出的一项技术,该机制能够扩展浏览器的能力,例如笔者使用的一个扩展实例名为“switchy proxy”,它可以帮助用户方便的切换Chromium浏览器代理,但是也仅此而已。本质上,它其实就是浏览器能力的简单扩展,

c/c++的指针函数与函数指针-爱代码爱编程

函数 定义: 函数是数学中的一个概念,它是定义在某个数集上的一个特殊的映射关系。函数将输入值(或自变量)映射到输出值(或因变量)。函数的输入和输出可以是任何类型的数据,如数字、字符串、数组等。 函数的组成: 定义域: 函

《webkit 技术内幕》学习之五(3): html解释器和dom 模型-爱代码爱编程

3 DOM的事件机制         基于 WebKit 的浏览器事件处理过程:首先检测事件发生处的元素有无监听者,如果网页的相关节点注册了事件的监听者则浏览器会将事件派发给 WebKit 内核来处理。另外浏览器可能也需要处理这样的事件(浏览器对于有些事件必须响应从而做出默认处理,比如通过鼠标滚轮来翻滚网页,鼠标所在位置的 HTML 元素上注册了滚动事件