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、构造镜像 方式一:交…...
 
MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
Android Wi-Fi 连接失败日志分析
1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...
 
React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...
 
【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的一体化测试平台,覆盖应用全生命周期测试需求,主要提供五大核心能力: 测试类型检测目标关键指标功能体验基…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
 
相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...
 
论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...
 
使用LangGraph和LangSmith构建多智能体人工智能系统
现在,通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战,比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...
 
深度学习水论文:mamba+图像增强
🧀当前视觉领域对高效长序列建模需求激增,对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模,以及动态计算优势,在图像质量提升和细节恢复方面有难以替代的作用。 🧀因此短时间内,就有不…...
