C++ 面试题(一)--C++基础,面向对象,内存管理
目录
1.part1 C++基础
1 C++特点
2 说说C语言和C++的区别
3 说说 C++中 struct 和 class 的区别
4 include头文件的顺序以及双引号""和尖括号<>的区别
5 说说C++结构体和C结构体的区别
6 导入C函数的关键字是什么,C++编译时和C有什么不同?
7 C++从代码到可执行二进制文件的过程
8 说说 static关键字的作用
9 数组和指针的区别
10 说说什么是函数指针,如何定义函数指针,有什么使用场景
11 静态变量什么时候初始化?
12 nullptr调用成员函数可以吗?为什么?
13 说说什么是野指针,怎么产生的,如何避免
14 说说静态局部变量,全局变量,局部变量的特点,以及使用场景
15 说说内联函数和宏函数的区别
17 说说new和malloc的区别,各自底层实现原理。
18 说说const和define的区别。
19 说说C++中函数指针和指针函数的区别。
20 说说const int *a, int const *a, const int a, int *const a, const int *const a分别是什么,有什么特点。
21 说说使用指针需要注意什么?
22 说说内联函数和函数的区别,内联函数的作用。
23 简述C++有几种传值方式,之间的区别是什么?
24 简述const(星号)和(星号)const的区别
2.C++内存
1 简述堆和栈的区别
2 简述C++的内存管理
3. 内存泄露及解决办法:
3 malloc和局部变量分配在堆还是栈?
4 程序有哪些section,分别的作用?程序启动的过程?怎么判断数据分配在栈上还是堆上?
5 初始化为0的全局变量在bss还是data
6 简述C++中内存对齐的使用场景
3 面向对象
1 简述一下什么是面向对象
2 简述一下面向对象的三大特征
3简述一下 C++ 的重载和重写,以及它们的区别
4 说说 C++ 的重载和重写是如何实现的
5 说说构造函数有几种,分别什么作用
6 只定义析构函数,会自动生成哪些构造函数
7 说说一个类,默认会生成哪些函数
8 说说 C++ 类对象的初始化顺序,有多重继承情况下的顺序
9 简述下向上转型和向下转型
10 简述下深拷贝和浅拷贝,如何实现深拷贝
11 简述一下 C++ 中的多态
12 说说为什么要虚析构,为什么不能虚构造
14 说说类继承时,派生类对不同关键字修饰的基类方法的访问权限
15 简述一下移动构造函数,什么库用到了这个函数?
16 构造函数为什么不能被声明为虚函数?
17 简述一下什么是常函数,有什么作用
18 说说什么是虚继承,解决什么问题,如何实现?
19 简述一下虚函数和纯虚函数,以及实现原理
21 说说C++中虚函数与纯虚函数的区别
22 说说 C++ 中什么是菱形继承问题,如何解决?
23 请问构造函数中的能不能调用虚方法
24 请问拷贝构造函数的参数是什么传递方式,为什么
25 如何理解抽象类?
26 什么是多态?除了虚函数,还有什么方式能实现多态?
27 简述一下虚析构函数,什么作用
28 说说什么是虚基类,可否被实例化?
29 简述一下拷贝赋值和移动赋值?
30 仿函数了解吗?有什么作用
31 C++ 中哪些函数不能被声明为虚函数?
32 解释下 C++ 中类模板和模板类的区别
32 虚函数表里存放的内容是什么时候写进去的?
1.part1 C++基础
1 C++特点
2 说说C语言和C++的区别
3 说说 C++中 struct 和 class 的区别
4 include头文件的顺序以及双引号""和尖括号<>的区别
5 说说C++结构体和C结构体的区别
6 导入C函数的关键字是什么,C++编译时和C有什么不同?
7 C++从代码到可执行二进制文件的过程
8 说说 static关键字的作用
9 数组和指针的区别
10 说说什么是函数指针,如何定义函数指针,有什么使用场景
int func(int a);
int (*f)(int a);
f = &func; 11 静态变量什么时候初始化?
12 nullptr调用成员函数可以吗?为什么?
13 说说什么是野指针,怎么产生的,如何避免
14 说说静态局部变量,全局变量,局部变量的特点,以及使用场景
15 说说内联函数和宏函数的区别
17 说说new和malloc的区别,各自底层实现原理。
18 说说const和define的区别。
19 说说C++中函数指针和指针函数的区别。
指针函数:int *fun(int x,int y);
函数指针:int (*fun)(int x,int y); return语句返回指向动态分配的内存或全局/静态变量的指针。这样的函数可以方便地返回复杂的数据结构,如数组、字符串等。例如: int* createArray(int size) {int* arr = (int*)malloc(size * sizeof(int));// 对 arr 进行初始化或其他操作return arr;
} 函数指针可以在程序运行时动态地指向不同的函数。这在使用回调函数(callback)时非常有用,可以根据需要在不同的上下文中调用不同的函数。例如:
nt (*operation)(int, int); // 函数指针的声明
operation = &add; // 将函数指针指向 add 函数
int result = operation(3, 4); // 调用 add 函数进行计算 总之,指针函数和函数指针在定义、写法和用法上存在一些区别。指针函数是一个返回指针的函数,而函数指针是一个指向函数的指针,可以在运行时动态地指向不同的函数。这些概念在C和C++等语言中非常常见,可以提供更大的灵活性和可扩展性。
20 说说const int *a, int const *a, const int a, int *const a, const int *const a分别是什么,有什么特点。
1. const int a; //指的是a是一个常量,不允许修改。
2. const int *a; //a指针所指向的内存里的值不变,即(*a)不变
3. int const *a; //同const int *a;
4. int *const a; //a指针所指向的内存地址不变,即a不变
5. const int *const a; //都不变,即(*a)不变,a也不变 21 说说使用指针需要注意什么?
22 说说内联函数和函数的区别,内联函数的作用。
23 简述C++有几种传值方式,之间的区别是什么?
24 简述const(星号)和(星号)const的区别
//const* 是指针常量, *const 是常量指针int const * a ; //a 指针所指向的内存里的值不变,即( *a )不变,指针可变int * const a ; //a 指针所指向的内存地址不变,即 a 不变,其所指内存值可变
2.C++内存
1 简述堆和栈的区别
2 简述C++的内存管理
3. 内存泄露及解决办法:
3 malloc和局部变量分配在堆还是栈?
4 程序有哪些section,分别的作用?程序启动的过程?怎么判断数据分配在栈上还是堆上?
5 初始化为0的全局变量在bss还是data
6 简述C++中内存对齐的使用场景
3 面向对象
1 简述一下什么是面向对象
2 简述一下面向对象的三大特征
3简述一下 C++ 的重载和重写,以及它们的区别
#include<bits/stdc++.h>
using namespace std;
class A
{
public:
virtual void fun()
{
cout << "A";
}
};
class B :public A
{
public:
virtual void fun()
{
cout << "B";
}
};
int main(void)
{
A* a = new B();
a->fun();//输出B,A类中的fun在B类中重写
} #include<bits/stdc++.h>
using namespace std;
class A
{
void fun() {};
void fun(int i) {};
void fun(int i, int j) {};
void fun1(int i,int j){};
}; 4 说说 C++ 的重载和重写是如何实现的
5 说说构造函数有几种,分别什么作用
class Student
{
public:
//默认构造函数
Student()
{
num=1001;
age=18;
}
//初始化构造函数
Student(int n,int a):num(n),age(a){}
private:
int num;
int age;
};
int main()
{
//用默认构造函数初始化对象S1
Student s1;
//用初始化构造函数初始化对象S2
Student s2(1002,18);
return 0;
} #include "stdafx.h"
#include "iostream.h"
class Test
{
int i;
int *p;
public:
Test(int ai,int value)
{
i = ai;
p = new int(value);
}
~Test()
{
delete p;
}
Test(const Test& t)
{
this->i = t.i;
this->p = new int(*t.p);
}
};
//复制构造函数用于复制本类的对象
int main(int argc, char* argv[])
{
Test t1(1,2);
Test t2(t1);//将对象t1复制给t2。注意复制和赋值的概念不同
return 0;
} Student(int r)
{
int num=1004;
int age= r;
} 6 只定义析构函数,会自动生成哪些构造函数
class Student
{
public:
//默认构造函数
Student()
{
num=1001;
age=18;
}
//初始化构造函数
Student(int n,int a):num(n),age(a){}
private:
int num;
int age;
};
int main()
{
//用默认构造函数初始化对象S1
Student s1;
//用初始化构造函数初始化对象S2
Student s2(1002,18);
return 0;
}
有了有参的构造了,编译器就不提供默认的构造函数。拷贝构造函数
#include "stdafx.h"
#include "iostream.h"
class Test
{
int i;
int *p;
public:
Test(int ai,int value)
{
i = ai;
p = new int(value);
}
~Test()
{
delete p;
}
Test(const Test& t)
{
this->i = t.i;
this->p = new int(*t.p);
}
};
//复制构造函数用于复制本类的对象
int main(int argc, char* argv[])
{
Test t1(1,2);
Test t2(t1);//将对象t1复制给t2。注意复制和赋值的概念不同。
return 0;
}
class HasPtr
{
public:
HasPtr(const string& s = string()) :ps(new string(s)), i(0) {}
~HasPtr() { delete ps; }
private:
string * ps;
int i;
}; HasPtr f(HasPtr hp)
{
HasPtr ret = hp;
///... 其他操作
return ret;
} 7 说说一个类,默认会生成哪些函数
class Empty
{
}; Empty()
{
} Empty(const Empty& copy)
{
} Empty& operator = (const Empty& copy)
{
} ~Empty()
{
} 8 说说 C++ 类对象的初始化顺序,有多重继承情况下的顺序
9 简述下向上转型和向下转型
10 简述下深拷贝和浅拷贝,如何实现深拷贝
11 简述一下 C++ 中的多态
include<iostream>
using namespace std;
int Add(int a,int b)//1
{
return a+b;
}
char Add(char a,char b)//2
{
return a+b;
}
int main()
{
cout<<Add(666,888)<<endl;//1
cout<<Add('1','2');//2
return 0;
} 12 说说为什么要虚析构,为什么不能虚构造
#include <iostream>
using namespace std;
// #1 模板定义
template<class T>
struct TemplateStruct
{
TemplateStruct()
{
cout << sizeof(T) << endl;
}
};
// #2 模板显示实例化
template struct TemplateStruct<int>;
// #3 模板具体化
template<> struct TemplateStruct<double>
{
TemplateStruct() {
cout << "--8--" << endl;
}
};
int main()
{
TemplateStruct<int> intStruct;
TemplateStruct<double> doubleStruct;
// #4 模板隐式实例化
TemplateStruct<char> llStruct;
} 
14 说说类继承时,派生类对不同关键字修饰的基类方法的访问权限
15 简述一下移动构造函数,什么库用到了这个函数?
16 构造函数为什么不能被声明为虚函数?
17 简述一下什么是常函数,有什么作用
#include<iostream>
using namespace std;
class CStu
{
public:
int a;
CStu()
{
a = 12;
}
void Show() const
{
//a = 13; //常函数不能修改数据成员
cout <<a << "I am show()" << endl;
}
};
int main()
{
CStu st;
st.Show();
system("pause");
return 0;
} 18 说说什么是虚继承,解决什么问题,如何实现?
#include<iostream>
using namespace std;
class A{
public:
int _a;
};
class B :virtual public A
{
public:
int _b;
};
class C :virtual public A
{
public:
int _c;
};
class D :public B, public C
{
public:
int _d;
};
//菱形继承和菱形虚继承的对象模型
int main()
{
D d;
d.B::_a = 1;
d.C::_a = 2;
d._b = 3;
d._c = 4;
d._d = 5;
cout << sizeof(D) << endl;
return 0;
} 19 简述一下虚函数和纯虚函数,以及实现原理
class Person{
public:
//虚函数
virtual void GetName(){
cout<<"PersonName:xiaosi"<<endl;
};
};
class Student:public Person{
public:
void GetName(){
cout<<"StudentName:xiaosi"<<endl;
};
};
int main(){
//指针
Person *person = new Student();
//基类调用子类的函数
person->GetName();//StudentName:xiaosi
} //抽象类
class Person{
public:
//纯虚函数
virtual void GetName()=0;
};
class Student:public Person{
public:
Student(){
};
void GetName(){
cout<<"StudentName:xiaosi"<<endl;
};
};
int main(){
Student student;
} class Base
{
public:
virtual void func() = 0;
};
#include<iostream>
using namespace std;
class Base
{
public:
virtual void func() = 0;
};
class Derived :public Base
{
public:
void func() override
{
cout << "哈哈" << endl;
}
};
int main()
{
Base *b = new Derived();
b->func();
return 0;
} 21 说说C++中虚函数与纯虚函数的区别
class A
{
public:
virtual void foo()
{
cout<<"A::foo() is called"<<endl;
}
};
class B:public A
{
public:
void foo()
{
cout<<"B::foo() is called"<<endl;
}
};
int main(void)
{
A *a = new B();
a->foo(); // 在这里,a虽然是指向A的指针,但是被调用的函数(foo)却是B的!
return 0;
} virtual void funtion1()=0
22 说说 C++ 中什么是菱形继承问题,如何解决?
23 请问构造函数中的能不能调用虚方法
24 请问拷贝构造函数的参数是什么传递方式,为什么
25 如何理解抽象类?
26 什么是多态?除了虚函数,还有什么方式能实现多态?
class A
{
public:
void do(int a);
void do(int a, int b);
}; 27 简述一下虚析构函数,什么作用
class TimeKeeper
{
public:
TimeKeeper() {}
virtual ~TimeKeeper() {}
}; class TimeKeeper
{
public:
TimeKeeper() {}
~TimeKeeper() {} //非virtual的
};
//都继承与TimeKeeper
class AtomicClock :public TimeKeeper{};
class WaterClock :public TimeKeeper {};
class WristWatch :public TimeKeeper {}; TimeKeeper* getTimeKeeper()
{
//返回一个指针,指向一个TimeKeeper派生类的动态分配对象
} TimeKeeper* ptk = getTimeKeeper();
delete ptk; class TimeKeeper
{
public:
TimeKeeper() {}
virtual ~TimeKeeper() {}
}; 28 说说什么是虚基类,可否被实例化?
1. 在被继承的类前面加上virtual关键字,这时被继承的类称为虚基类,代码如下:
class A
class B1:public virtual A;
class B2:public virtual A;
class D:public B1,public B2;
2. 虚继承的类可以被实例化,举例如下:
class Animal {/* ... */ };
class Tiger : virtual public Animal { /* ... */ };
class Lion : virtual public Animal { /* ... */ }
int main( )
{
Liger lg ;
/*既然我们已经在Tiger和Lion类的定义中声明了"virtual"关键字,于是下面的代码编译OK */
int weight = lg.getWeight();
}
29 简述一下拷贝赋值和移动赋值?
30 仿函数了解吗?有什么作用
class Func{
public:
void operator() (const string& str) const {
cout<<str<<endl;
}
};
Func myFunc;
myFunc("helloworld!");
>>>helloworld! bool LengthIsLessThanFive(const string& str) {
return str.length()<5;
}
int res=count_if(vec.begin(), vec.end(), LengthIsLessThanFive); bool LenthIsLessThan(const string& str, int len) {
return str.length()<len;
} class ShorterThan {
public:
explicit ShorterThan(int maxLength) : length(maxLength) {}
bool operator() (const string& str) const {
return str.length() < length;
}
private:
const int length;
}; 31 C++ 中哪些函数不能被声明为虚函数?
32 解释下 C++ 中类模板和模板类的区别
32 虚函数表里存放的内容是什么时候写进去的?
相关文章:
C++ 面试题(一)--C++基础,面向对象,内存管理
目录 1.part1 C基础 1 C特点 2 说说C语言和C的区别 3 说说 C中 struct 和 class 的区别 4 include头文件的顺序以及双引号""和尖括号<>的区别 5 说说C结构体和C结构体的区别 6 导入C函数的关键字是什么,C编译时和C有什么不同? 7…...
ARTS打卡第二周之链表环的检测、gdb中disassemble的使用、底层学习建议、学习分享
Algorithm 题目:链表中环的检测 自己的分析见博客《检测链表中是否存在环》 Review disassemble command是我读的一篇英语文章,这篇文章主要是介绍gdb反汇编命令的使用和参数。自己为了能够演示这篇文章里边的内容,特意自己使用汇编语言编…...
皕杰报表(BIOS Report)中设置序号的方法之二
在皕杰报表如何设置序号系列之一里,我们用ds.#0来实现了序号,用ds.#0得到的数据库中选取的记录的序号。有些情况下,记录序号在报表中不是按照顺序显示的,而是在报表中又通过排序或分组后的结果显示的,例如:…...
nacos总结黑马
SpringCloud实用篇02 0.学习目标 1.Nacos配置管理 Nacos除了可以做注册中心,同样可以做配置管理来使用。 1.1.统一配置管理 当微服务部署的实例越来越多,达到数十、数百时,逐个修改微服务配置就会让人抓狂,而且很容易出错。我…...
【简单bat】写一个定时关机的批处理程序
感谢我那可爱的GPT助手对代码的优化工作。 echo off REM Author: liyang TEL 155-4089-9552echo 欢迎使用自动关机计划设置脚本!by LiYang echo.:choose_action set /p "action_choice请选择要执行的操作(输入1设置定时关机任务,输入2删…...
Oracle 19c 启动和关闭实例保存PDB状态
简介: 十年以上 MySQL Oracle DBA从业者,MySQL 5.7 OCP, 微信号: jinjushuke 当前有一个PDB 打开模式为READ WRITE [oracleDGMOGGM19C ~]$ sql sys192.168.3.107:1521/pdb1 as sysdba SQLcl: Release 19.1 Production on Wed Aug 23 10:19:…...
计算机毕设 基于机器学习的餐厅销量预测 -大数据 python
文章目录 0 前言餐厅销量预测模型简介2.ARIMA模型介绍2.1自回归模型AR2.2移动平均模型MA2.3自回归移动平均模型ARMA 三、模型识别四、模型检验4.1半稳性检验(1)用途(1)什么是平稳序列?(2)检验平稳性 ◆白噪声检验(纯随机性检验)(1)用途(1)什么是纯随机序列?(2)检验纯随机性 五…...
layui 多选限制选择3个
可以使用 layui 的表单组件进行多选,然后通过 JavaScript 代码限制用户最多只能选择 3 个选项。具体的实现步骤如下: 在 layui 的表单组件中,使用多选框进行多选。 <div class"layui-form-item"><label class"layu…...
PyQt PySide6 QMessageBox使用教程
PySide6 是一个 Python 绑定到 Qt6 库的库,允许你在 Python 中创建 Qt6 应用程序。QMessageBox 是一个提供模式对话框,用于显示消息、询问问题或获取简单的输入的类。 以下是使用 PySide6 中的 QMessageBox 的基本方式: 导入必要的模块: f…...
Visual Studio软件安装包分享(附安装教程)
目录 一、软件简介 二、软件下载 一、软件简介 Visual Studio是微软公司开发的一款集成开发环境(IDE),广泛应用于Windows平台上的应用程序和Web应用程序的开发。以下是Visual Studio软件的主要特点和功能: 集成开发环境&#x…...
VB电脑销售系统设计与实现
前 言 本文论述了销售管理系统的开发过程,它包括了软件的开发环境,开发工具以及相关技术、系统分析、系统设计、实现等内容。 本系统能为企业繁重的工作带来极大的方便,提高了工作效率及工作准确性,能准确无误地查找货物的综合信息,为企业减少了许多工作细节。 为了使此…...
如何访问MySQL错误日志
通常情况下,MySQL中出现减速、崩溃或其他意外行为的根本原因可以通过分析错误日志来确定。在Ubuntu系统中,MySQL的默认位置是/var/log/mysql/error.log。在许多情况下,使用less程序最容易读取错误日志,这是一个命令行实用程序&…...
redis主从复制详解
目录 前言: 分布式系统 主从模式 主从同步连接过程 replication id作用 offset作用 psync命令(psync replicationId offset) 全量复制 全量复制过程 部分复制 部分复制过程 实时复制 前言: redis为了保证高可用,它支持…...
kubernetes/k8s驱逐机制总结篇
概述 k8s的驱逐机制是指在某些场景下,如node节点notReady、node节点压力较大等,将pod从某个node节点驱逐掉,让pod的上层控制器重新创建出新的pod来重新调度到其他node节点。这里也将kube-scheduler的抢占调度纳入到了驱逐的讨论范围内&#…...
Git gui教程---第七篇 Git gui的使用 返回上一次提交
1. 查看历史,打开gitk程序 2. 选中需要返回的版本,右键,然后点击Rest master branch to here 3.出现弹窗 每个选项我们都试一下,从Hard开始 返回的选项 HardMixedSoft Hard 会丢失所有的修改【此处的…...
Web 开发 Django 管理工具
上次为大家介绍了 Django 的模型,通过模型就可以操作数据库,从而就可以改变页面的展示内容,那问题来了,我们只能通过手动编辑模型文件来配置模型吗?当然不是,Django 为我们提供了强大的工具,可以…...
分类算法的评价指标
分类算法的评价指标 查准率、查全率、准确率、F1分数: 查准率(Precision): 模型预测为正例的样本中实际未正的比例。它关注的点在:预测为正例样本的准确性。 查全率(recall): 模型…...
智能工厂移动式作业轻薄加固三防平板数据采集终端
在这个高度自动化和数字化的环境中,数据采集变得尤为重要。为了满足这个需求,工业三防平板数据采集终端应运而生。工业三防平板数据采集终端采用了轻量级高强度镁合金材质,这使得它在保持轻薄的同时具有更强的坚固性。这种材质还具有耐磨防损…...
Python Flask token身份认证
首先安装依赖: pip install flask-jwt-extended 然后在主应用中(项目入口文件)加入以下代码: from flask import Flask from flask_jwt_extended import JWTManager #引入依赖 app Flask(__name__) app.config[JWT_SECRET_KEY…...
docker安装rabbitMQ
目录 1、拉取镜像 2、构造镜像 3、开启插件 4、开启安全组 5、访问 ui界面访问不到解决步骤 1、拉取镜像 docker pull rabbitmq 这里拉取的是最新镜像,若要指定版本可在后加上版本号即可;比如 docker pull rabbitmq:3.7.14 2、构造镜像 方式一:交…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...
Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
【JavaSE】绘图与事件入门学习笔记
-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角,以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素 …...
用机器学习破解新能源领域的“弃风”难题
音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...
VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...
【笔记】WSL 中 Rust 安装与测试完整记录
#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统:Ubuntu 24.04 LTS (WSL2)架构:x86_64 (GNU/Linux)Rust 版本:rustc 1.87.0 (2025-05-09)Cargo 版本:cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...
AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机
这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机,因为在使用过程中发现 Airsim 对外部监控相机的描述模糊,而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置,最后在源码示例中找到了,所以感…...
从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障
关键领域软件测试的"安全密码":Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力,从金融交易到交通管控,这些关乎国计民生的关键领域…...
