avatar
Articles
140
Tags
0
Categories
18
首页
归档
标签
分类
友链
李瑞琦的博客
首页
归档
标签
分类
友链

李瑞琦的博客

10 智能指针
Created2025-06-04|03-C++
...
00 C++
Created2025-06-04|03-C++
C/C++八股1.关键字staticconst#defineuniontypedefvolatile 面试问题1.static关键字是什么意思 2.static变量的作用域 2.内存管理类的内存对齐如何计算C++的类或者结构体的所占的内存大小到底是多少? 除了要考虑成员变量、虚函数指针以外,还要考虑内存对齐:为了保证成员变量对齐、提高访问速度,C++在为类分配内存时,编译器可能会在成员之间插入填充字节 12345class MyClass {public: int age; // 4 bool number; //...
03 命名空间
Created2025-06-04|03-C++
命名空间1.C++的作用域C++中有四种作用域,在不同的作用域中可以定义名字相同的变量,互不干扰。 命名空间作用域:就是程序员利用名字空间定义在C++程序中划分出来的一块比较大的程序区段。在该程序区段内部,可以定义变量、函数、类、typedef、#define 等,最后由{...
01 常用关键字
Created2025-06-04|03-C++
02 函数式编程
Created2025-06-04|03-C++
函数式编程 函数式编程的主要思想其实就是“回调函数”,即把一个函数A当成参数传给另一个函数B,这样B的就可以根据传入形参的不同,而能够做更多的事情 实现回调函数主要可以通过以下几种方式传入可调对象作为形参: 函数指针 lambda表达式 std::function 函数对象(重载了()运算符的类) 函数指针1.定义:函数指针是指向一个函数入口地址的指针。C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。有了指向函数的指针变量后,可用该指针变量调用函数 2.语法: <返回值类型> (*<函数指针名>)(<形参列表>) ,如果形参列表为void,则说明没有参数。 (*<函数指针名>)是一个整体,括号不能省 1234//如:int (*fun)(int,int);int (*p)(); //函数指针的另一种定义方式,不过不建议使用int (*p)(int a, int b); ...
04 构造函数
Created2025-06-04|03-C++
构造函数分类 C++中有一下几类构造函数 以一下这个类为例: 1234class Person{ int age; std::string name;}; 1.默认构造函数没有参数,用于创建一个具有默认值的Person对象。 1Person()=default; 2.参数化构造函数1Person(int a, std::string n) : age(a), name(n) {} 3.拷贝构造函数使用另一个对象来初始化当前对象。 1Person(const Person& other) : age(other.age), name(other.name)...
05 继承及多态
Created2025-06-04|03-C++
02 QMake的基本用法
Created2025-06-04|02-开发工具CMake
QMake的基本用法QMake是和CMake类似的项目组织工具,不过比CMAKE简单不少 官方文档:https://doc.qt.io/qt-5/qmake-manual.html 本地的Qt安装目录也有,和官方文档一致 1.QMake添加源/头/UI等文件12345678910111213SOURCES += \ $$files(UserAPP/Src/*.cpp) \ $$files(UserAPP/Src/*.c) \# main.cpp \# mainwindow.cppHEADERS += \ $$files(UserAPP/Inc/*.h)# mainwindow.hINCLUDEPATH += UserAPP/Inc/FORMS += \# ...
03 find_package用法
Created2025-06-04|02-开发工具CMake
find_package()的用法作用主要就是通过库对应的.cmake文件(由库的维护者提供,一般用不着自己写),获得第三方库的头文件以及动/静态库文件的路径,方便我们直接添加到我们自己的工程里面 <PackageName>_FOUND :找到了就是True,没找到就是未设定 <PackageName>_INCLUDE_DIR :头文件目录 <PackageName>_LIBRARY...
05 CMake工程层次
Created2025-06-04|02-开发工具CMake
CMake工程结构如果项目比较简单,比如只有一个CMakeLists.txt或者projet,那么就不用特别关心这个。但是如果一个大工程,有多个可执行文件,或者又有可执行文件,又有静态/动态库,则需要写多个CMakeLists.txt 多个CMakeLists如何写一般最外层的CMakeLists写: 1.设置编译后输出的位置 2.设置整个工程的C++版本 3.add_subdirectory() 什么时候写projet()一般只有最外层的CMakeLists写一下projet()。每写一个projet(),就会生成一个.sln文件。单独打开就如右图所示。左图是最外层的.sln文件 如果用VS的话,每个project就可以单独编译,但如果用的是VSCode的话,即使不写project每个subdirectory也可以单独编译,所以就没必要写了
1…11121314
avatar
Li Ruiqi
总有低谷
Articles
140
Tags
0
Categories
18
Follow Me
Categories
  • 01-计算机基础八股12
  • 02-开发工具11
    • CMake7
  • 03-C++15
  • 04-Linux39
    • 01-Linux基本操作6
    • 02-系统移植7
    • 03-内核开发19
    • 04-应用开发7
  • 05-MCU28
    • 01-FreeRTOS6
    • 02-STM329
    • 03-MSP4304
    • 04-LVGL4
  • 06-嵌入式硬件5
  • 07-RISC-V3
  • 08-Qt20
  • 09-ROS7
Website Info
Article Count :
140
Unique Visitors :
Page Views :
Last Update :
©2019 - 2025 By Li Ruiqi
Framework Hexo|Theme Butterfly
人因梦想而伟大