【C++面试】编译内存相关
本task是关于C++ 程序的编译过程、内存以及头文件的一些知识点,重点在内存方面进行展开,包括内存的分区、内存对齐、内存泄漏、内存泄漏的防止方法、现有的检测内存泄漏的工具等等。
由于问题之间的关联性,可能有些问题并非是本章相关的知识点,例如一些问题涉及到了类中的虚函数、创建类的对象的底层原理等等,但为了保持问题上下的连贯性,也放在了这里。
文章目录
- 1. C++ 程序编译过程
- 2. C++ 内存管理
- 3. 栈和堆的区别
- 4. 全局变量、局部变量、静态全局变量、静态局部变量
- 5. 全局变量定义在头文件中有什么问题?
- 6. 对象创建限制在堆或栈
- 7. 内存对齐
- 8. 类的大小
- 9. 内存泄露
- 10. 怎么防止内存泄漏?内存泄漏检测工具的原理?
- 11. 智能指针有哪几种?智能指针的实现原理?
- 12. 一个 unique_ptr 怎么赋值给另一个 unique_ptr 对象?
- 13. 使用智能指针会出现什么问题?怎么解决?
- 14. C++和Python区别
- 15. C++和C的区别
- 16. 继承、封装、多态
- Reference
1. C++ 程序编译过程
编译预处理:处理以 # 开头的指令;
编译、优化:将源码 .cpp 文件翻译成 .s 汇编代码;
汇编:将汇编代码 .s 翻译成机器指令 .o 文件;
链接:因为.cpp
文件中的函数可能会引用了另一个.cpp
文件中定义的符号或者调用某个库文件的函数,即汇编程序生成目标文件(.o
文件)后不会立刻执行,而是通过【链接】将对应目标文件连成整体,生成.exe
可执行文件。
这里说的可执行的程序.exe文件。注意exe是Windows平台的二进制文件,在Linux中并不存在,Linux中并不是以文件后缀来区分文件类型的,所以.o文件也有可能是Linux中的二进制文件。
-
动态链接和静态链接:
- 静态链接:程序运行前,将各个目标模块及其库函数链接成一个完整的可执行程序。
- 动态链接:代码被放到动态链接库或共享对象的某个目标文件中,链接程序只是在最终的可执行程序中记录了共享对象的名字等信息,在程序执行时,动态链接库的全部内容会被映射到运行时对应的虚拟地址空间。
-
静态链接:
- 优点:既然可执行程序具备了程序运行的所有内容,所以优点就是运行时速度快。
- 缺点:如果目标文件进行更新操作(或有些库更新了),就需要重新编译链接生成可执行程序,即更新会有一丢丢困难;而且每个可执行程序都会有目标文件的一个副本,链接时可能同一个库链接了好几次,有点浪费空间。
- 动态链接(程序执行时才载入引用的库):
- 优点:节省内存、更新方便;
- 缺点:每次执行都需要链接,相比静态链接有一定的性能损失。
2. C++ 内存管理
C++ 内存分区:栈、堆、全局/静态存储区、常量存储区、代码区。
//存储在栈
int x=0;
int *p=NULL; //存储在堆区,注意这里的数组名为p,而不是int(关键字int)
int *p=new int[20];//全局区
存储全局变量和静态变量//常量区
string str="hello";//代码区
存储逻辑代码的二进制
- 栈:存放函数的局部变量、函数参数、返回地址等,由编译器自动分配和释放。
- 堆:动态申请的内存空间,就是由
malloc
分配的内存块,由程序员控制它的分配和释放,如果程序执行结束还没有释放,操作系统会自动回收。 - 全局区 / 静态存储区(
.bss
段和.data
段):存放全局变量和静态变量,程序运行结束操作系统自动释放,在 C 语言中,未初始化的放在 .bss 段中,初始化的放在 .data 段中,C++ 中不再区分了。 - 常量存储区(
.data
段):存放的是常量,不允许修改,程序运行结束自动释放。 - 代码区(
.text
段):存放代码,不允许修改,但可以执行。编译后的二进制文件存放在这里。
#include <iostream>
using namespace std;/*
说明:C++ 中不再区分初始化和未初始化的全局变量、静态变量的存储区,如果非要区分下述程序标注在了括号中
*/int g_var = 0; // g_var 在全局区(.data 段)
char *gp_var; // gp_var 在全局区(.bss 段)int main()
{// var 在栈区int var; // p_var 在栈区 char *p_var; // arr 为数组变量,存储在栈区;"abc"为字符串常量,存储在常量区 char arr[] = "abc"; // p_var1 在栈区;"123456"为字符串常量,存储在常量区char *p_var1 = "123456"; // s_var 为静态变量,存在静态存储区(.data 段)static int s_var = 0; // 分配得来的 10 个字节的区域在堆区p_var = (char *)malloc(10); free(p_var);return 0;
}
来看CSAPP中的图(如下),Linux虚拟内存系统地址空间分配,图中缺少了用户空间顶端的 env 区,以及 .text上的 rodata段,但其实 .text和 .rodata都只是 ro(read only,只读) 的,算是归为一类吧。
3. 栈和堆的区别
栈 | 堆 | |
---|---|---|
申请方式 | 系统自动分配 | 程序员主动申请 |
内存中的空间 | 栈在内存中是连续的一块空间(向低地址扩展)最大容量是系统预定好的 | 堆在内存中的空间(向高地址扩展)是不连续的 |
申请效率 | 申请效率高,但程序员无法控制; | 由程序员主动申请,效率低,使用起来方便但是容易产生碎片 |
存放的内容 | 栈中存放的是局部变量,函数的参数 | 堆中存放的内容由程序员控制。 |
4. 全局变量、局部变量、静态全局变量、静态局部变量
C++ 变量根据定义的位置的不同的生命周期,具有不同的作用域,作用域可分为 6 种:全局作用域,局部作用域,语句作用域,类作用域,命名空间作用域和文件作用域。
-
从作用域看:
- 全局变量:具有全局作用域。全局变量只需在一个源文件中定义,就可以作用于所有的源文件。当然,其他不包含全局变量定义的源文件需要用
extern
关键字再次声明这个全局变量。 - 静态全局变量:具有文件作用域。它与全局变量的区别在于如果程序包含多个文件的话,它作用于定义它的文件里,不能作用到其它文件里,即被
static
关键字修饰过的变量具有文件作用域。这样即使两个不同的源文件都定义了相同名字的静态全局变量,它们也是不同的变量。 - 局部变量:具有局部作用域。它是自动对象(
auto
),在程序运行期间不是一直存在,而是只在函数执行期间存在,函数的一次调用执行结束后,变量被撤销,其所占用的内存也被收回。 - 静态局部变量:具有局部作用域。它只被初始化一次,自从第一次被初始化直到程序运行结束都一直存在,它和全局变量的区别在于全局变量对所有的函数都是可见的,而静态局部变量只对定义自己的函数体始终可见。
- 全局变量:具有全局作用域。全局变量只需在一个源文件中定义,就可以作用于所有的源文件。当然,其他不包含全局变量定义的源文件需要用
-
从分配内存空间看:
- 静态存储区:全局变量,静态局部变量,静态全局变量。
- 栈:局部变量。
-
几个说明:
- 静态变量和栈变量(存储在栈中的变量)、堆变量(存储在堆中的变量)的区别:
静态变量会被放在程序的静态数据存储区(.data
段)中(静态变量会自动初始化),这样可以在下一次调用的时候还可以保持原来的赋值。而栈变量或堆变量不能保证在下一次调用的时候依然保持原来的值。 - 静态变量和全局变量的区别:
静态变量用static
告知编译器,自己仅仅在变量的作用范围内可见。
- 静态变量和栈变量(存储在栈中的变量)、堆变量(存储在堆中的变量)的区别:
5. 全局变量定义在头文件中有什么问题?
如果在头文件中定义全局变量,当该头文件被多个文件 include
时,该头文件中的全局变量就会被定义多次,导致重复定义,因此不能再头文件中定义全局变量。
6. 对象创建限制在堆或栈
后期补充。
7. 内存对齐
在64位机器中,double(8B) int(4B) short(2B)char(1B)。
【存储对齐的重要条件】
(1)每个成员按其类型的方式对齐,char的对齐值为1,short为2,int为4(单位均为B字节);
存放起始地址%该成员长度=0。
(2)struct长度必须是成员中最大的对齐值的整数倍(不够就补空字节),以便在处理数组时保证每一项都边界对齐。
【前提】以下栗子均是按字节编址。
【分析】若N为对齐值,则该成员的“存放起始地址%N=0”,而结构体中的成员都是按定义的先后顺序排放的。
【实例1】设B结构体从地址0x0000开始,第一个成员b的对齐值是1(char是1B),所以其存放地址0x0000符合0x0000%1=0;第二个成员a的对齐值是4(int是4B),如果放在0x0002,2不能被4整除(注意不是看2能否被4整除,而是看2H),不行(不能保证边界对齐),
只能存放在0x0004到0x0007这4个连续的字节中,满足0x0004%4=0且紧邻第一个成员;
第三个成员c的对齐值是2,可以存放在0x0008到0x0009这2个字节中,满足0x0008%2=0且紧邻第二个成员。
结构体长度必须是最大对齐值(此处为4)的整数倍,故0x000A到0x000B也为B所占用,共12B。
struct A{int a;char b;short c;
}
struct B{char b;int a;short c;
}
【实例2】设A结构体从地址0x0000开始,第一个成员a的对齐值是4(int是4B),所以其存放在0x0000到0x0003这4个连续字节;第二个成员b的对齐值是1(char是1B),存放在0x0004中,满足0x0004%4=0且紧邻第一个成员;第三个成员c的对齐值是2,可以存放在0x0006到0x0007这2个字节中,满足0x0006%2=0且紧邻第二个成员。
结构体长度必须是最大对齐值(此处为4)的整数倍,故占用0x0000到0x0007,共8B。
【结果】sizeof(A)=8;sizeof(B)=12。
/*
说明:程序是在 64 位编译器下测试的
*/
#include <iostream>using namespace std;struct A
{short var; // 2 字节int var1; // 8 字节 (内存对齐原则:填充 2 个字节) 2 (short) + 2 (填充) + 4 (int)= 8long var2; // 12 字节 8 + 4 (long) = 12char var3; // 16 字节 (内存对齐原则:填充 3 个字节)12 + 1 (char) + 3 (填充) = 16string s; // 48 字节 16 + 32 (string) = 48
};int main()
{short var;int var1;long var2;char var3;string s;A ex1;cout << sizeof(var) << endl; // 2 shortcout << sizeof(var1) << endl; // 4 intcout << sizeof(var2) << endl; // 4 longcout << sizeof(var3) << endl; // 1 charcout << sizeof(s) << endl; // 32 stringcout << sizeof(ex1) << endl; // 48 structreturn 0;
}
8. 类的大小
后期补充。
9. 内存泄露
内存泄漏:由于疏忽或错误导致的程序未能释放已经不再使用的内存。
- 内存泄漏常指 堆内存泄漏,因为堆是动态分配的,由用户来控制,如果使用不当,则会产生内存泄漏。比如使用
malloc
、calloc
、realloc
、new
等分配内存时,使用完后要调用相应的free
或delete
释放内存。 - 3类内存泄漏:
- 堆内存泄漏:new/mallc分配内存,未使用对应的delete/free回收
- 系统资源泄漏, Bitmap, handle,socket等资源未释放
- 没有将基类析构函数定义称为虚函数,(使用基类指针或者引用指向派生类对象时)派生类对象释放时将不能正确释放派生对象部分。
举个简单栗子:指针重新赋值
char * p = (char *)malloc(10);
char * np = (char *)malloc(10);
其中,指针变量 p 和 np 分别被分配了 10 个字节的内存。
如果执行p=np;
后,指针变量 p 被 np 指针重新赋值,其结果是 p 以前所指向的内存位置变成了孤立的内存。它无法释放,因为没有指向该位置的引用,从而导致 10 字节的内存泄漏。
10. 怎么防止内存泄漏?内存泄漏检测工具的原理?
内部封装:将内存的分配和释放封装到类中,在构造的时候申请内存,析构的时候释放内存。
#include <iostream>
#include <cstring>using namespace std;class A
{
private:char *p;unsigned int p_size;public:A(unsigned int n = 1) // 构造函数中分配内存空间{p = new char[n];p_size = n;};~A() // 析构函数中释放内存空间{if (p != NULL){delete[] p; // 删除字符数组p = NULL; // 防止出现野指针}};char *GetPointer(){return p;};
};
void fun()
{A ex(100);char *p = ex.GetPointer();strcpy(p, "Test");cout << p << endl;
}
int main()
{fun();return 0;
}
但这样做并不是最佳的做法,在类的对象复制时,程序会出现同一块内存空间释放两次的情况,如下程序:
void fun1()
{A ex(100);A ex1 = ex; char *p = ex.GetPointer();strcpy(p, "Test");cout << p << endl;
}
对于 fun1
这个函数中定义的两个类的对象而言,在离开该函数的作用域时,会两次调用析构函数来释放空间,但是这两个对象指向的是同一块内存空间,所以导致同一块内存空间被释放两次(在VS中是报错block_type_is_valid
),可以通过增加计数机制来避免这种情况,或者使用智能指针 or 内存泄漏检测工具valgrind:
11. 智能指针有哪几种?智能指针的实现原理?
智能指针的实现原理: 计数原理。
智能指针是为了解决动态内存分配时带来的内存泄漏以及多次释放同一块内存空间而提出的。C++11 中封装在了 <memory>
头文件中。
C++11 中智能指针包括以下三种:
- 共享指针(shared_ptr):资源可以被多个指针共享,使用计数机制表明资源被几个指针共享。通过 use_count() 查看资源的所有者的个数,可以通过 unique_ptr、weak_ptr 来构造,调用 release() 释放资源的所有权,计数减一,当计数减为 0 时,会自动释放内存空间,从而避免了内存泄漏。
- 独占指针(unique_ptr):独享所有权的智能指针,资源只能被一个指针占有,该指针不能拷贝构造和赋值。但可以进行移动构造和移动赋值构造(调用 move() 函数),即一个 unique_ptr 对象赋值给另一个 unique_ptr 对象,可以通过该方法进行赋值。
- 弱指针(weak_ptr):指向 share_ptr 指向的对象,能够解决由shared_ptr带来的循环引用问题。
参考阅读:
1、https://www.cnblogs.com/yuanlibin/p/10002654.html
2、https://www.cnblogs.com/diysoul/p/5930388.html
3、https://www.cnblogs.com/diysoul/p/5930372.html
4、https://www.cnblogs.com/JCpeng/p/15031742.html
5、智能指针的视频
12. 一个 unique_ptr 怎么赋值给另一个 unique_ptr 对象?
借助 std::move()
可以实现将一个 unique_ptr
对象赋值给另一个 unique_ptr
对象,其目的是实现所有权的转移。
// A 作为一个类
std::unique_ptr<A> ptr1(new A());
std::unique_ptr<A> ptr2 = std::move(ptr1);
13. 使用智能指针会出现什么问题?怎么解决?
待补充。
14. C++和Python区别
C++ | Python | |
---|---|---|
语言 | Python 为脚本语言,解释执行,不需要经过编译 | C++ 是一种需要编译后才能运行的语言,在特定的机器上编译后运行 |
运行效率 | C++ 运行效率高,安全稳定。 | Python 代码和 C++ 最终都会变成 CPU 指令来跑,但一般情况下,比如反转和合并两个字符串,Python 最终转换出来的 CPU 指令会比 C++ 多很多。首先,Python 中涉及的内容比 C++ 多,经过了更多层,Python 中甚至连数字都是 object ;其次,Python 是解释执行的,和物理机 CPU 之间多了解释器这层,而 C++ 是编译执行的,直接就是机器码,编译的时候编译器又可以进行一些优化。 |
开发效率 | Python 一两句代码就能实现的功能,C++ 往往需要更多的代码才能实现。 | Python 开发效率高 |
书写格式和语法不同 | Python 的语法格式不同于其 C++ 定义声明才能使用,而且极其灵活,完全面向更上层的开发者。 | 定义声明才能使用 |
15. C++和C的区别
C++ | C | |
---|---|---|
语言特性 | 面向对象,不是完成一个步骤,而是描述某个事务在解决整个问题步骤中的行为。将涉及到的数据和数据的操作封装在类中,通过类可以创建对象,以事件或消息来驱动对象执行处理。 | 面向过程。最重要的特点是函数。 |
应用领域 | C++ 可以用于应用层开发,用户界面开发等与操作系统打交道的领域。 | 主要用于嵌入式领域,驱动开发等与硬件直接打交道的领域 |
操作特性 | 特性繁多,面向对象语言的多继承,对值传递与引用传递的区分以及 const 关键字等。 | — |
C++多了啥 | 类型检查更为严格。增加了面向对象的机制、泛型编程的机制(Template)、异常处理、运算符重载、标准模板库(STL)、命名空间(避免全局命名冲突)。 | — |
16. 继承、封装、多态
特性 | 具体 |
---|---|
封装 | 将具体的实现过程和数据封装成一个函数,只能通过接口进行访问,降低耦合性。 |
继承 | 子类继承父类的特征和行为,子类有父类的非 private 方法或成员变量,子类可以对父类的方法进行重写,增强了类之间的耦合性,但是当父类中的成员变量、成员函数或者类本身被 final 关键字(新引入的关键字)修饰时,修饰的类不能继承,修饰的成员不能重写或修改。 |
多态 | 多态就是不同继承类的对象,对同一消息做出不同的响应,基类的指针指向或绑定到派生类的对象,使得基类指针呈现不同的表现方式。 |
Reference
[1] 现代C++教程 :https://changkun.de/modern-cpp/zh-cn/01-intro/
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- 判断闰年
输入一个年份Year,判断是否为闰年。如果是闰年则输出“yes”;如果不是闰年则输出“no”。 输入格式: 输入一个年份,该年份大于0,小于3000。 输出格式: 显示这个年份是否为闰年。 输入样例: 在这里给出一组输入。例如&#x…...
2024/4/13 19:33:03 - WordPress 子比主题美化模板操作教程(更新中)
织音在此提醒您:zibll.com是Zibll子比主题唯一官网,子比主题受国家版权保护,著作权登记号: 2021SR0401471 使用盗版主题对您的网站及财产安全将会带来无数的未知风险!同时,开发不易,我们一直在努…...
2024/4/28 1:00:17 - 数七必过还有约瑟夫斯模块
数七必过的大致题目意思就是,数到七还有结尾是七的都要喊过,然后输出一共喊了多少个过 代码如下: i1 count0 while i<100: if i % 70 or "7" in str(i): count1 i1 print(f"一共说了{count}次…...
2024/4/27 23:18:33 - xlrdxlwt读写操作
区别: openyxl:可以对xlsx、xlsm文件进行读、写操作,主要对Excel2007年之后的版本(.xlsx)xlrd:可以对xlsx、xls、xlsm文件进行读操作且效率高xlwt:主要对xls文件进行写操作且效率高,但是不能执行xlsx文件 …...
2024/4/19 11:54:04 - 设计计算器
张会计嫌用笔算数麻烦,你能帮他设计一个简单的计算器吗,只需要完成简单的整数加减乘除运算即可。 提示:运算符号用 - * /,当结果中只有整数部分时,只显示整数部分;当结果有小数时小数点后保留1位 输入格式…...
2024/4/19 19:41:05 - 全站最硬核 百万字强肝RocketMq源码 火热更新中~(一百零四)事务消息
RocketMQ事务 分布式事务的两种常见实现方式: 2pc tcc 2pc 两阶段提交 遵循XA协议 、其实可以理解为”预提交“ tcc 三阶段提交 try confirm cancel RocketMQ中采用2pc 两阶段提交 RocketMQ中事务消息流程图 源码: private GetResult getHalfMs…...
2024/4/27 23:46:04 - Samsung-WLAN-AP路由器RCE漏洞复现
简介: 三星-WLAN-AP-WEA453e 路由器存在远程命令执行。 zoomeye搜索: app:"Samsung WLAN AP wea453e router" or title:"Samsung WLAN AP" fofa搜索: title"Samsung WLAN AP" 大多都是国外的,随便…...
2024/4/20 12:01:24 - c++表达式基础
一、基本 1.c中有一元、二元、三元运算符,函数调用也是一种特殊的运算符(对象数量没有限制),运算符有优先级、结合律、以及运算对象的求值顺序 2.c定义了运算符作用于内置类型和复合类型的运算对象时所执行的操作。当运算符作用…...
2024/4/18 5:49:56 - 【CSDN问答】使用体验、产品BUG和改进建议
近段时间,在CSDN问答上回答了一些问题,并得到一些用户的采纳与赞同,下面小编讲一讲关于小编在使用CSDN问答的使用体验和以及改进建议. 1. 使用体验 1.1 回答问题的多行文本框使用markdown语法 在CSDN问答上回答问题的多行文本框采用markdow…...
2024/4/27 22:17:46 - 全站最硬核 百万字强肝RocketMq源码 火热更新中~(一百零三)经典面试题
追问:为什么要主动拉取消息而不使用事件监听方式? 事件驱动方式是建立好长连接,由事件(发送数据)的方式来实时推送。 如果broker主动推送消息的话有可能push速度快,消费速度慢的情况,那么就会…...
2024/4/28 12:18:47 - 1020.潜水员 (二维费用背包,“至少至多恰好”)
题意:要求完成工作需要的气缸重量最低值 原问题:要求考虑k个气缸,完成氧含量至少为n,氮含量至少为m的气缸重量的最低值 子问题:要求考虑前i个气缸,完成氧含量至少为x,氮含量至少为y的气缸重量…...
2024/4/28 3:29:43 - 求月供
周某购房时,从银行贷一笔款d,准备每月还款额为p,月利率为r,计算多少月能还清。 要求:计算得的月份小数点保留一位,对第二位四舍五入。 提示:贷款d,月供p,利率r࿰…...
2024/4/28 2:29:39 - 背包问题中的“至少至多恰好”问题
前言 对于背包问题的至少,至多,恰好问题,他们的状态转移方程其实是不变的,需要考虑的只有初始化的问题和一些特殊点的特判 这里的二维指的是没有状态优化的二维,而不是二维费用\ 求方案数初始化 二维情况 1、体积至…...
2024/4/28 4:19:07 - 全站最硬核 百万字强肝RocketMq源码 火热更新中~(一百零一)经典面试题
源码如下: org.apache.rocketmq.store.DefaultMessageStore.CleanCommitLogService class CleanCommitLogService {private final static int MAX_MANUAL_DELETE_FILE_TIMES 20;private final double diskSpaceWarningLevelRatio Double.parseDouble(System.getP…...
2024/4/7 19:47:44 - 数据结构与算法学习笔记(8) 图
数据结构与算法学习笔记(8) 图 复习 文章目录数据结构与算法学习笔记(8) 图一.图的定义和基本术语二.图的类型定义三.图的存储结构1.邻接矩阵无向图的邻接矩阵有向图的邻接矩阵网(有权图)邻接矩阵的存储表示创建邻接矩阵(以无向网为例)邻接矩阵表示法的优缺点2.邻接表无向图的邻…...
2024/4/18 14:47:12 - Go的struct,类的定义和使用
Go的结构体定义和C 一样意思一样,只是语法不通而已 // 定义结构体 type Student struct {id intname stringage int }Go 类的定义,其实就是通过结构体绑定方法 func (this *Student) GetName() string {return this.name } func (this *Student) SetName(name str…...
2024/4/28 1:28:11 - js监测空对象和空引用
空对象:表示一个对象,不包含任何的属性和方法空引用:指向null 例子:这两种方法都可以创建一个空对象,一个是构造函数法,并一个是对象字面量表示法 let obj new Object()let obj1 {}不可以用null来监测是…...
2024/4/28 2:17:58 - 1069 微博转发抽奖 (20 分)
小明 PAT 考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔 N 个人就发出一个红包。请你编写程序帮助他确定中奖名单。 输入格式: 输入第一行给出三个正整数 M(≤ 1000)、N 和 S,分别是…...
2024/4/27 22:15:16 - 【尚硅谷 Java Web 笔记】组合选择器
组合选择器,可以让多个选择器共用同一个CSS样式代码。 格式: 选择器1,选择器2,……,选择器n{ 属性:值; } <!DOCTYPE html><html lang"en"><head><meta charset"UTF-8"><title>组合选择器</title&…...
2024/4/19 9:18:19 - 解决vue的{__ob__: observer}取值问题
转载原地址:https://blog.csdn.net/zhouzuoluo/article/details/103067637?utm_mediumdistribute.pc_relevant.none-task-blog-baidujs_title-6&spm1001.2101.3001.4242 问题: vue编码中经常出现获取到的数据是:{ob: Observer} 格式…...
2024/4/7 19:47:38
最新文章
- python学习笔记----判断语句(三)
一、布尔类型和比较运算符 1.1 布尔类型的字面量: True 表示真False 表示假 定义变量存储布尔类型数据: 变量名 布尔类型字面量 bool_1 True bool_2 False1.2 比较运算符 二、 if语句的基本格式 if 要判断的条件:条件成立时,要做的事…...
2024/4/28 13:46:15 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - ROS2高效学习第十章 -- ros2 高级组件之大型项目中的 launch 其二
ros2 高级组件之大型项目中的 launch 1 前言和资料2 正文2.1 启动 turtlesim,生成一个 turtle ,设置背景色2.2 使用 event handler 重写上节的样例2.3 turtle_tf_mimic_rviz_launch 样例 3 总结 1 前言和资料 早在ROS2高效学习第四章 – ros2 topic 编程…...
2024/4/28 3:06:27 - 腾讯云轻量服务器流量不够用了会怎么样?
腾讯云轻量应用服务器是限制月流量的,如果当月流量不够用了,流量超额了怎么办?流量超额后,需要另外支付流量费,如果你的腾讯云账号余额,就会自动扣除对应的流量费,如果余额不足,轻量…...
2024/4/23 6:15:09 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/4/26 18:09:39 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/4/28 3:28:32 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/4/26 23:05:52 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/4/27 4:00:35 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/4/27 17:58:04 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/4/27 14:22:49 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/4/28 1:28:33 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/4/27 9:01:45 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/4/27 17:59:30 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/4/25 18:39:16 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/4/28 1:34:08 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/4/26 19:03:37 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/4/28 1:22:35 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/4/25 18:39:14 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/4/26 23:04:58 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/4/27 23:24:42 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/4/28 5:48:52 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/4/26 19:46:12 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/4/27 11:43:08 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/4/27 8:32:30 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57