自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小勇博客

学习,成长中!

  • 博客(674)
  • 资源 (2)
  • 收藏
  • 关注

原创 C++之指针探究(三):指针数组和数组指针

前文:C++之指针探究(二):一级指针和一维数组一. 指针数组或:指针数组的本质是数组,数组中每一个成员是一个指针。定义形式如下:  char∗\ast∗ pArray[10];语法解析:pArray 先与“[ ]”结合,构成一个数组的定义,char∗\ast∗修饰的是数组的内容,即数组的每个元素。例4:运行结果:附例4代码//小问学编程#include <iostream>using namespace std;int main(){ char* pArr

2020-12-26 18:55:14 228

原创 C++笔记之类间传参的方法

定义一个全局函数,该函数接受一个类的对象作为参数,并在函数内部调用另一个类的方法,将参数传递给该方法。定义一个全局变量,在一个类中设置该变量的值,然后在另一个类中访问该变量的值。将其中一个类设计为单例类,提供一个静态方法来获取该类的唯一实例。在另一个类中,通过调用单例类的静态方法来获取实例,并调用实例的方法传递参数。定义一个中介者类,该类知晓两个类的存在,并提供方法来协调它们之间的交互。两个类都持有中介者类的指针或引用,并通过中介者类来传递参数。一个类作为被观察者,另一个类作为观察者。

2024-09-17 00:56:54 249

原创 OpenGL笔记二十一之几何类设计

— 2024-09-16 下午。

2024-09-16 17:18:04 642

原创 C++笔记之子类初始化时父类带参构造函数的处理、父子类中模板参数的传递

在 C++ 中,当子类继承父类时,子类的初始化通常包括调用父类的构造函数。在子类的构造函数初始化列表中,可以指定调用哪个父类的构造函数。这个机制确保父类部分在子类构造之前被正确初始化。在 C++ 中,子类必须调用父类的某个构造函数。如果父类只有带参数的构造函数,子类就必须在初始化列表中显式调用它,否则编译会失败。如果父类有默认构造函数(无参数构造函数),子类可以不显式调用父类的构造函数,编译器会自动调用默认构造函数。

2024-09-15 14:20:14 229

原创 C++笔记之std::map的实用操作

的所有键和值,可以使用一个循环遍历每个键值对。在 C++ 中,你可以使用多种方式初始化。这种方法会清空原有内容,然后插入新元素。中的每个键值对,并检查每个值是否为。,并打印每个键和值。

2024-09-10 23:42:55 283

原创 ROS笔记之在指定目录及其子目录中查找包含特定ROS话题的bag文件,并输出这些文件的路径

【代码】ROS笔记之在指定目录及其子目录中查找包含特定ROS话题的bag文件,并输出这些文件的路径。

2024-09-08 23:48:28 332

原创 OpenGL笔记二十之深度检测概念

— 2024-08-25 晚上。

2024-08-25 22:18:27 491

原创 C++笔记之在基类和派生类之间进行类型转换的所有方法

使用时,注重安全性和类型检查,适用于不确定类型的向下转换。使用时,更关注性能和已知的类型转换,适合明确知道转换是安全的场景。

2024-08-25 02:41:21 134

原创 qt笔记之qml中的TextEdit、TextInput、TextArea、TextField的区别

在Qt C++环境中,这四个组件并没有直接对应的类。在Qt C++中,可以根据需求选择合适的控件来实现相应的功能。每个组件都有其特定的用途,选择时应根据使用场景需求来决定。

2024-08-17 23:28:55 575

原创 qt笔记之纯qml项目详解

在 Qt 中,确实可以创建纯 QML 项目。纯 QML 项目主要用于构建基于 QML 的 UI,而无需 C++ 代码。点击“运行”按钮,Qt Creator 将会启动应用程序,并显示一个窗口,上面写着“Hello, QML!文件是用于 Qt Quick 应用程序的用户界面文件,通常使用 Qt Creator 来编辑和设计。这些文件是为 Qt Widgets 应用程序设计的用户界面文件,使用 XML 格式。如果使用自定义模块,可以在这个文件中指定模块路径。但对于简单项目,这个文件可以是空的。

2024-08-17 22:57:57 1054

原创 OpenGL笔记十八之透视投影矩阵实验-perspective函数

— 2024-08-03 下午。

2024-08-03 18:29:23 511

原创 OpenGL笔记十七之正交投影变换实验-glm::ortho函数

— 2024-07-30 晚上。

2024-07-31 00:07:53 1003

原创 OpenGL笔记十六之视图变换矩阵实验-lookAt函数

—— 2024-07-30 晚上 函数是 OpenGL 数学库 GLM (OpenGL Mathematics) 中用于生成视图矩阵的函数。视图矩阵通常用于将世界坐标系转换为视图坐标系,从而模拟摄像机的视角。 函数定义如下 函数是 OpenGL 数学库 GLM (OpenGL Mathematics) 中用于生成视图矩阵的函数。视图矩阵通常用于将世界坐标系转换为视图坐标系,从而模拟摄像机的视角。 函数定义如下:参数详解eye: 摄像机的位置,即视点 (View Position)。center: 摄

2024-07-31 00:01:12 1150

原创 qt-C++笔记之多线程架构模式:让信号监听处理线程除了while循环方法外一直活着的方法(除了while循环外让线程一直活着的方法)

code review!代码2.Qt C++环境2.1.例一:信号发射者和信号接收者在不同的类中代码2.2.例二:信号发射者和信号接收者在同一个类中代码2.3.例二更改:不使用QTimer::singleShot(1000, this, &MyObject::emitSignal);,直接写一个while循环然后在循环中emit triggerSignal();4.补充笔记4.1.Qt C++环境中moveTothread()函数和thread->start()这两个函数相当于纯C++环

2024-07-29 18:31:53 359

原创 OpenGL笔记十五之GLM叠加实验

— 2024-07-27 晚上。

2024-07-28 00:39:55 472

原创 qt-C++笔记之使用qDebug().noquote()优美地格式化打印json

在Qt中,可以使用和来处理和格式化JSON数据。为了优美地格式化打印JSON数据,可以使用方法,并将其结果传递给进行输出。

2024-07-22 01:08:04 650

原创 Python笔记之正则表达式模块`re`模块中的`re.search`与`re.match`的区别

re.search:在整个字符串中查找模式,只要字符串中包含匹配项即可。re.match:必须在字符串的起始位置匹配模式,如果起始位置不匹配则返回None。

2024-07-21 22:39:51 527

原创 OpenGL笔记十四之GLM数学库的配置与使用

— 2024-07-20 中午。

2024-07-20 13:10:43 614

原创 OpenGL笔记十三之Uniform向量数据传输、使用glUniform3f和glUniform3fv

— 2024-07-15 晚上。

2024-07-15 00:05:49 397 1

原创 OpenGL笔记十二之实现三角形在屏幕横向上往复运动的动画

— 2024-07-14 晚上。

2024-07-15 00:00:43 393

原创 OpenGL笔记十一之Uniform变量及实现一个颜色忽明忽暗的三角形

— 2024-07-14 上午。

2024-07-14 11:42:14 413

原创 Linux笔记之shell终端命令后显示指定行数的grep和head

在Linux中,grep命令和head命令常用于文本处理。grep命令用于搜索文本中的特定模式,而head命令用于显示文件的开头部分。了解如何结合这两个命令(例如使用管道)可以帮助你更高效地处理和查看文本数据。grep -A选项用于在匹配到的行之后显示指定数量的行。例如,将显示匹配到的行及其后面的三行。选项用于显示文件的前n行。例如,将显示file.txt的前五行。

2024-07-14 02:05:00 710

原创 Linux笔记之显示当前路径下文件的数量

在Linux中,ls -l和wc -l是两个常用命令,分别用于列出目录内容的详细信息和计算行数。将这两个命令结合使用,可以快速统计目录中包含的文件和子目录的数量。ls -l命令用于列出目录中的内容,并以长格式显示详细信息,包括文件权限、所有者、文件大小和修改时间等。命令用于计算输入文本中的行数。wc是 “word count” 的缩写,-l选项表示只计行数。wc -l。

2024-07-14 02:03:49 440

原创 Linux笔记之time命令测量命令的执行时间

外部time命令支持自定义输出格式。...time命令是Linux中用于测量命令或脚本执行时间的强大工具。通过了解和使用time命令,可以更好地分析和优化系统性能。

2024-07-14 02:00:06 473

原创 OpenGL笔记之属性变量获取的两种方式:使用layout(location = x) 指定位置和动态获取属性位置

使用指定位置:适合简单场景,位置固定,代码简洁。动态获取属性位置:更灵活,适合动态或复杂场景,避免硬编码位置。

2024-07-13 17:08:50 357

原创 OpenGL笔记五之VBO与VAO

总结自bilibili赵新政老师的教程code review!代码2.VAO代码3.VBO与VAO对比

2024-07-12 21:21:06 190

原创 OpenGL笔记二之glad加载opengl函数以及opengl-API(函数)初体验

总结自bilibili赵新政老师的教程code review!

2024-07-12 21:12:42 316

原创 OpenGL笔记一之基础窗体搭建以及事件响应

总结自bilibili赵新政老师的教程code review!

2024-07-12 21:08:41 363

原创 OpenGL笔记十之Shader类的封装

—— 2024-07-10 晚上总结自bilibili赵新政老师的教程code review!3.main.cpp4.application4.1.CMakeLists.txt4.2.Application.h4.3.Application.cpp5.assets5.1.shaders:vertex.glsl5.2.shaders:fragment.glsl6.glframework6.1.CMakeLists.txt6.2.core.h6.3.shader.h6

2024-07-12 00:59:20 971

原创 OpenGL笔记九之彩色三角形与重心插值算法

—— 2024-07-07 晚上总结自bilibili赵新政老师的教程code review!代码

2024-07-12 00:52:58 496

原创 OpenGL笔记八之EBO和EBO绘制流程

运行关键代码运行关键代码。

2024-07-12 00:48:57 470

原创 Linux笔记之iftop查看特定IP地址吞吐量

iftop是一个实时网络流量监视工具,它显示网络接口上的流量信息,包括发送和接收的数据流量。默认情况下,iftop使用的单位是比特(bits)和字节(bytes),并且通常会根据流量大小自动调整显示单位,使数据更易于阅读。以下是iftopb: 比特(bits)B: 字节(bytes)Kb: 千比特(kilobits, 1 Kb = 1000 bits)KB: 千字节(kilobytes, 1 KB = 1000 bytes)Mb: 兆比特(megabits, 1 Mb = 1000 Kb)MB。

2024-07-09 22:50:53 1118

原创 OpenGL笔记七之顶点数据绘制命令和绘制模式

OpenGL笔记七之顶点数据绘制命令和绘制模式—— 2024-07-07 杭州 下午总结自bilibili赵新政老师的教程文章目录OpenGL笔记七之顶点数据绘制命令和绘制模式1.OpenGL版本号更改和编译更改2.GL_TRIANGLES模式绘制一个三角形、支持NFC坐标随窗口缩放2.1.三个点2.2.四个点从0号点开始数3个点2.3.四个点从1号点开始数3个点2.4.四个点从2号点开始数3个点2.5.六个点从0号点开始数6个点2.6.六个点从0号点开始数5个点3.GL_TRIANGLE_STRIP

2024-07-07 14:17:06 754

原创 Linux笔记之Bash脚本中的EOF

可以用任意标识符代替EOF这是另一个多行字符串示例。可以使用任何标识符作为结束符。ENDheredoc 是 Bash 脚本中非常强大且灵活的工具,适用于需要多行文本或复杂嵌入的场景。通过合理使用 heredoc,可以大大简化脚本编写过程,提高可读性和维护性。

2024-06-26 23:36:08 478

原创 CMake笔记之CMAKE_INSTALL_PREFIX详解以及ROS中可执行文件为什么会在devel_lib中

是一个关键变量,用于指定项目的安装根目录。通过正确设置这个变量,可以灵活地控制项目的安装位置,满足不同的部署需求。无论是全局安装、用户本地安装,还是特定目录安装,都能提供强大的支持。在开发空间: 在构建过程中,Catkin 默认将可执行文件放置在devel目录中,以便可以立即运行和测试这些文件,而无需执行安装步骤。目录结构是 Catkin 默认的可执行文件输出路径。如果需要将可执行文件安装到其他位置,请使用或,并确保在的中正确配置了install命令。

2024-06-24 01:41:40 1219

原创 g++制作C++动态库的简洁例程

使用g++编译main.cpp。在当前目录中搜索库文件(-L.在生成的可执行文件中指定运行时库搜索路径为当前目录(输出文件名为main-o main链接名为的动态库(-lmylib。

2024-06-24 01:30:49 853

原创 C++笔记之通过CMakeLists.txt像使用boost库一样使用qt库中特有的模块来方便开发

【代码】C++笔记之通过CMakeLists.txt像使用boost库一样使用qt库中特有的模块来方便开发。

2024-06-20 23:59:17 199

原创 C++笔记之RegisterCallback和setCallback、以及setCallback(lambda表达式)

用于注册多个回调函数,通常在事件系统或多观察者模式中使用。:用于设置或替换一个回调函数,通常用于单一事件处理场景。

2024-06-19 00:15:55 173

原创 qt笔记之qml和C++的交互系列(二):rootObject

用于获取 QML 加载后的根对象。: 用于动态调用QObject实例的方法。这两者结合使用时,首先通过获取 QML 对象实例,然后使用调用该对象的方法。这样可以在 C++ 代码中灵活地调用 QML 中定义的方法。在 QML 中设置对象的objectName属性。使用findChild方法进行对象查找时,查找的是objectName,而不是id。如果对象不是直接子对象,使用标志进行递归查找。这样做可以确保能够在 C++ 代码中准确查找到所需的 QML 对象。

2024-06-17 00:07:35 1291

原创 qt笔记之main.cpp加载qml文件的3种方法QQuickView 、QQmlApplicationEngine、QQuickWidget

QQuickView适用于需要创建独立窗口来显示 QML 内容的应用。提供简单的接口和较高的性能,适合纯 QML 应用或需要快速原型开发的场景。适用于复杂应用,尤其是需要加载多个 QML 文件和处理复杂 C++ 与 QML 交互的场景。提供更详细的错误处理机制和灵活性,适合中型到大型项目。适用于需要在现有 QWidget 应用中嵌入 QML 内容的场景。支持 QWidget 布局管理器,但在性能上可能稍逊,需要处理 QWidget 和 QML 之间的渲染同步问题。

2024-06-16 19:42:23 1370

《QML和Qt Quick快速入门》源码.zip

《QML和Qt Quick快速入门》源码.zip

2024-07-26

OpenGL从入门到精通课程讲义.pdf

OpenGL从入门到精通课程讲义.pdf

2024-07-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除