强化有关C++的函数基础运用方法
知识点1【强化训练字符串类String】
知识点2【继承和派生的概述】(了解)1-2
继承的优点:减少代码的冗余 提高代码的重用性
知识点3【继承的格式】
继承方式分类:
父类个数分类:
注意:
案例1:公有继承 public
总结:
案例2:保护继承protected
总结: protected继承
案例3:私有继承 private
总结:private私有继承
总结:
知识点4【继承的内层结构】(了解)(vs studio)
知识点5【继承中的构造和析构的顺序】
总结:
知识点6【子类中 有父类、对象成员 构造和析构的顺序】
总结:(重要)
知识点7【详解 子类中的构造】
1、子类会默认调用 父类的 无参构造
2、子类 必须显示 使用初始化列表 调用 父类的有参构造
知识点8【父类和子类的同名 成员变量 处理】
1、当 父类和子类 成员变量同名时 在子类就近原则 选择本作用域的子类成员
2、如果在子类中 必须使用父类中的同名成员 必须加上父类的作用域。
3、子类可以借助 父类的公有方法 间接的操作 父类的私有数据(不可见的数据)
知识点9【父类和子类的同名 成员函数 处理】
案例:1子类继承父类所有成员函数 和成员变量
案例2:子类和父类 同名成员函数
知识点1【强化训练字符串类String】
mystring.h
#ifndef
MYSTRING_H #define MYSTRING_H #include using namespace std;
class MyString { friend ostream&
operator<<(ostream &out, MyString &ob); friend istream&
operator>>(istream &in, MyString &ob); private: char *str; int size; public: MyString(); MyString(const char *str); MyString(const MyString &ob); ~MyString(); int Size(void); //重载[] char& operator[](int index); //重载= 参数是对象 MyString&
operator=(const MyString &ob); //重载= 参数是字符串常量
const char * MyString&
operator=(const char *str); //重载+运算符
MyString& operator+(const MyString &ob); MyString& operator+(const char
*str); //重载运算符 bool operator(const
MyString &ob); bool
operator==(const char *str); }; #endif // MYSTRING_H
mystring.cpp
#include
“mystring.h” #include<string.h> #include using
namespace std; MyString::MyString() {
this->str = NULL;
this->size = 0;
cout<<“无参构造”<<endl; } MyString::MyString(const char *str) { cout<<“char *构造函数”<<endl; //申请空间 this->str = new
char[strlen(str)+1]; //拷贝字符串 strcpy(this->str,
str); //更新size this->size = strlen(str); } MyString::MyString(const MyString &ob)
{ cout<<“拷贝构造函数”<<endl; //申请空间 this->str = new
char[strlen(ob.str)+1]; //拷贝字符串 strcpy(this->str,
ob.str); //更新size this->size =
ob.size; } MyString::~MyString() { cout<<“析构函数”<<endl;
if(this->str != NULL)
{ delete []
this->str; this->str =
NULL; } } int MyString::Size() { return this->size; } char& MyString::operator[](int
index)//index表示数组的下标 { //判断下标是否合法 if(index >=0 && index <
this->size) { return this->str[index]; }
else { cout<<“index无效”<<endl; } } MyString &MyString::operator=(const
MyString &ob) { //将ob.str拷贝到 this->str里面 //1、将this->str指向的旧空间 释放掉 if(this->str != NULL) {
delete [] this->str;
this->str = NULL; } //根据ob.str的大小申请空间 this->str = new
char[ob.size+1]; strcpy(this->str,
ob.str); this->size =
ob.size; return *this; } MyString &MyString::operator=(const char
*str) { //1、将this->str指向的旧空间
释放掉 if(this->str
!= NULL) { delete [] this->str; this->str = NULL; }
this->str = new char[strlen(str)+1]; strcpy(this->str, str); this->size = strlen(str); return *this; } MyString& MyString::operator+(const
MyString &ob) { //this 指向的是str5 ob是str6的别名
//计算将来两个字符串拼接后的长度 int newSize = this->size + ob.size
+1; char *tmp_str = new
char[newSize]; //清空tmp_str所指向的空间 memset(tmp_str,0,newSize); //先将this->str拷贝到 tmp_str中 然后将ob.str追加到tmp_str中
strcpy(tmp_str,this->str);
strcat(tmp_str,ob.str);
static MyString newString(tmp_str);
//释放tmp_str指向的临时空间 if(tmp_str != NULL) {
delete [] tmp_str; tmp_str
= NULL; } return newString; } MyString &MyString::operator+(const char
*str) { //计算将来两个字符串拼接后的长度 int newSize =
this->size + strlen(str) +1; char
*tmp_str = new char[newSize]; //清空tmp_str所指向的空间 memset(tmp_str,0,newSize); //先将this->str拷贝到 tmp_str中 然后将str指向的字符串 追加到tmp_str中
strcpy(tmp_str,this->str);
strcat(tmp_str,str); static
MyString newString(tmp_str); //释放tmp_str指向的临时空间 if(tmp_str != NULL) {
delete [] tmp_str; tmp_str
= NULL; } return newString; } bool MyString::operator==(const MyString
&ob) { if( (strcmp(this->str,
ob.str) == 0) && (this->size == ob.size)) {
return true; }
return false; } bool
MyString::operator==(const char *str) {
if( (strcmp(this->str, str) == 0) && (this->size ==
strlen(str))) { return true; }
return false; } ostream& operator<<(ostream &out, MyString
&ob) { out<<ob.str;//访问了ob中的私有数据 必须设置成友元 return out; } istream& operator>>(istream
&in, MyString &ob) { //记得将原有的数据清楚 if(ob.str != NULL) {
delete [] ob.str; ob.str
=NULL; } //获取键盘输入的字符串 char buf[1024]="";//临时buf in >> buf;//先得到键盘输入的数据 然后根据buf的实际大小
开辟空间 ob.str = new
char[strlen(buf)+1]; strcpy(ob.str,
buf); ob.size = strlen(buf); return in; }
main.cpp
#include
#include"mystring.h" using namespace std; int main(int argc, char *argv[]) { MyString str1(“hehe”); //自定义对象 必须重载<<
(普通全局友元函数实现)
cout<<str1<<endl;
cout<<"size = "<<str1.Size()<<endl; //自定义对象 必须重载>>
(普通全局友元函数实现)
cin>>str1;
cout<<str1<<endl;
cout<<"size = “<<str1.Size()<<endl; MyString str2(“hello
class”); //重载[]运算符
cout<<str2[1]<<endl;
//重载[]运算符 返回值必须是左值 才能写操作 //重载[]运算符 的返回值必须是引用 str2[1] =‘E’; cout<<str2<<endl; MyString str3(“hello
str3”); cout<<“str3:”<<str3<<endl; //将对象str2 赋值
给str3 //(默认赋值语句
浅拷贝) //必须重载=运算符(成员函数完成) str3 = str2;
cout<<“str3:”<<str3<<endl; MyString str4(“hello str4”);
cout<<“str4:”<<str4<<”, size =
“<<str4.Size()<<endl;
//必须重载=运算符(成员函数完成) str4=“hello string”;
cout<<“str4:”<<str4<<”, size =
"<<str4.Size()<<endl;
//重载+运算符 MyString str5(“我爱大家”); MyString
str6(“我爱千锋”); cout<<str5+str6<<endl; MyString str7(“大家爱我”); cout<<
str7+“千锋爱我”<<endl; //重载==运算符 MyString
str8(“hehe”); MyString
str9(“haha”); if(str8 == str9) {
cout<<“相等”<<endl; }
else { cout<<“不相等”<<endl; } if(str8 == “hehe”) {
cout<<“相等”<<endl; }
else { cout<<“不相等”<<endl; } return 0; }
运行结果:
知识点2【继承和派生的概述】(了解)1-2
继承的优点:减少代码的冗余 提高代码的重用性
知识点3【继承的格式】
派生类定义格式:
Class 派生类名 : 继承方式 基类名{ //派生类新增的数据成员和成员函数 }; class
子类: 继承方式 父类名{ //子类新增的数据成员和成员函数 };
继承方式分类:
public : 公有继承 (重要)
private : 私有继承
protected : 保护继承
父类个数分类:
单继承:指每个派生类只直接继承了一个基类的特征 (一个父类 派生出 一个子类)
多继承:指多个基类派生出一个派生类的继承关系,多继承的派生类直接继承了不止一个基类的特征(多个父类 派生出 一个子类)
注意:
子类继承父类,子类拥有父类中全部成员变量和成员方法(除了构造和析构之外的成员方法),但是在子类中,继承的成员并不一定能直接访问,不同的继承方式会导致不同的访问权限。
案例1:公有继承 public
//设置一个父类 class Base { public: int
a; private: int b; protected: int
c; }; //设置一个子类
class Son:public Base { public: //父类中的public数据
在子类中 也是public
//父类中的private数据 在子类中 是不可见的 //父类中的protected数据 在子类中 是protected的 //子类的内部 void showSon() {
//b = 200;//不能直接访问 c =300;//在子类 内部是可以访问的 } };
void test01() { //子类的外部 Son ob; ob.a = 100; cout<<"父类中的public数据a =
"<<ob.a<<endl;
//ob.b = 200;//在子类外 访问不了 //ob.c = 200;//在子类外 访问不了 }
总结:
父类中的public数据 在子类中 也是public
父类中的private数据
在子类中 是不可见的
父类中的protected数据 在子类中 是protected的
(public 继承 父类中的私有数据 在子类 不可见 其他保持原样)
案例2:保护继承protected
//保护继承 class Son1:protected Base { private: public:
//父类中的public数据 在子类中 也是protected //父类中的private数据
在子类中 是不可见的 //父类中的protected数据 在子类中 是protected的 //子类的内部 void showbase(){ a = 100;//子类内部可访问 //b = 200;//不能直接访问 c = 300;//子类内部可访问 } }; void test02() { Son1 ob; //ob.a;//子类外不可访问 //ob.b;//子类外不可访问 //ob.c;//子类外不可访问 }
总结: protected继承
父类中的public数据
在子类中 也是protected
父类中的private数据 在子类中 是不可见的
父类中的protected数据
在子类中 是protected的
(保护继承 父类的私有数据 在子类中 不可见 其他数据 都变保护)
案例3:私有继承 private
//保护继承 class Son2:private Base { private:
public: //父类中的public数据
在子类中 也是private //父类中的private数据
在子类中 是不可见的 //父类中的protected数据 在子类中 是private的 //子类的内部 void showbase(){ a = 100;//子类内部可访问 //b = 200;//不能直接访问 c = 300;//子类内部可访问 } }; void test03() { Son2 ob; //ob.a;//子类外不可访问 //ob.b;//子类外不可访问 //ob.c;//子类外不可访问 }
总结:private私有继承
父类中的public数据 在子类中 也是private
父类中的private数据
在子类中 是不可见的
父类中的protected数据
在子类中 是private的
(私有继承 父类中的私有数据在子类中 不可见 其他变成私有)
总结:
不管啥继承方式:父类中的私有数据在 子类中不可见
知识点4【继承的内层结构】(了解)(vs studio)
class Base {
public: int a; protected: int b; private: int c; };
class Son :public Base { public:
int d; int e; }; int main(int
argc, char* argv[]) { cout <<
sizeof(Son) << endl; return 0;
}
步骤:
cl /d1
reportSingleClassLayoutSon test.cpp
Son类的布局:
知识点5【继承中的构造和析构的顺序】
class Base {
public: Base()
{ cout<<“父类的无参构造函数”<<endl; } ~Base()
{ cout<<“父类中的析构函数”<<endl; } };
class Son:public Base { public:
Son() { cout<<“子类的无参构造”<<endl; } ~Son()
{ cout<<“子类中的析构函数”<<endl; } }; void
test01() { Son ob1; }
运行结果:
总结:
构造顺序: 父类(基类)构造 ------> 子类(派生类)构造
析构顺序:子类(派生类)析构------> 父类 (基类) 析构
知识点6【子类中 有父类、对象成员 构造和析构的顺序】
父类的构造和析构 对象成员的构造和析构 子类自身的构造和析构
总结:(重要)
class Other
{ public: Other() {
cout<<“对象成员的构造函数”<<endl; }
~Other() { cout<<“对象成员的析构函数”<<endl; } };
class Base { public: Base() {
cout<<“父类的无参构造函数”<<endl; }
~Base() { cout<<“父类中的析构函数”<<endl; } };
class Son:public Base { public:
Son() { cout<<“子类的无参构造”<<endl; } ~Son()
{ cout<<“子类中的析构函数”<<endl; } Other ob;//对象成员 }; void test01() { Son ob1; }
运行结果:
知识点7【详解 子类中的构造】
1、子类会默认调用 父类的 无参构造
2、子类 必须显示 使用初始化列表 调用 父类的有参构造
调用形式:父类名称。
Son(int
a,int b):Base(a),b(b) { //this->b
= b; }
class Base {
private: int a; public: Base()
{ cout<<“父类的无参构造函数”<<endl; } Base(int a) {
this->a = a;
cout<<“父类的有参构造函数”<<endl; }
~Base() { cout<<“父类中的析构函数”<<endl; } };
class Son:public Base { private: int
b; public: Son() {
cout<<“子类的无参构造”<<endl; }
Son(int b) { this->b = b; cout<<“子类的有参构造函数int”<<endl;
} //子类必须用 初始化列表 显示的调用父类的有参构造 //父类名称(参数)
Son(int a,int b):Base(a)//显示的调用父类的有参构造 {
this->b = b;
cout<<“子类的有参构造函数 int
int”<<endl; } ~Son()
{ cout<<“子类中的析构函数”<<endl; } };
void test01() { //子类 默认 会调用 父类的无参构造 //Son ob1(10); //子类必须用 初始化列表 显示的调用父类的有参构造 //父类名称+() Son ob2(10,20); }
运行结果:
案例提高:
如果父类有参构造:
Base(int a, int data) { this->a = a; this->data = data; cout<<“父类的有参构造函数”<<endl; }
子类想调用 父类有参构造:
//子类必须用
初始化列表 显示的调用父类的有参构造 //父类名称(参数) Son(int a,int b, int c):Base(a,c),b(b)//显示的调用父类的有参构造 { //this->b = b; cout<<“子类的有参构造函数 int int”<<endl; }
知识点8【父类和子类的同名 成员变量 处理】
1、当 父类和子类 成员变量同名时 在子类就近原则 选择本作用域的子类成员
2、如果在子类中 必须使用父类中的同名成员 必须加上父类的作用域。
class Base
{ //父类的私有数据 一旦涉及继承 在子类中不可见 public: int num; public: Base(int num) {
this->num = num;
cout<<“Base有参构造int”<<endl; }
~Base() { cout<<“析构函数”<<endl; }
}; class Son:public Base { private: int num; public: Son(int num1,int num2):Base(num1) {
this->num = num2; cout<<“有参构造int int”<<endl;
} ~Son() {
cout<<“析构函数”<<endl; }
void showNum(void) { //如果在子类中 必须使用父类中的同名成员 必须加上父类的作用域 cout<<"父类中的num = "<<Base::num<<endl; //当 父类和子类 成员变量同名时 在子类就近原则 选择本作用域的子类成员 cout<<"子类中的num = "<<num<<endl; } };
void test01() { Son
ob1(10,20); ob1.showNum(); }
运行结果:
3、子类可以借助 父类的公有方法 间接的操作 父类的私有数据(不可见的数据)
class Base
{ private: int num;//父类的私有数据 一旦涉及继承 在子类中不可见 public: Base(int
num) { this->num = num; cout<<“Base有参构造int”<<endl;
} ~Base() {
cout<<“析构函数”<<endl; }
int getNum(void) { return num; } };
class Son:public Base { private:
int num; public: Son(int num1,int
num2):Base(num1) { this->num = num2; cout<<“有参构造int int”<<endl;
} ~Son() {
cout<<“析构函数”<<endl; }
void showNum(void) { //如果在子类中 必须使用父类中的同名成员 必须加上父类的作用域 cout<<"父类中的num = "<<getNum()<<endl; //当 父类和子类 成员变量同名时 在子类就近原则 选择本作用域的子类成员 cout<<"子类中的num = "<<num<<endl; } };
void test01() { Son
ob1(10,20); ob1.showNum(); }
运行结果:
知识点9【父类和子类的同名 成员函数 处理】
案例:1子类继承父类所有成员函数 和成员变量
class Base {
public: void func(void) {
cout<<“父类中的void
func”<<endl; } void func(int a) {
cout<<"父类中的int func a =
"<<a<<endl; }
}; class Son:public Base { public: };
void test01() { //为啥构造和析构除外?父类的构造和析构 只有父类自己知道该怎么做(构造和析构 系统自动调用) //子类会继承父类所有成员函数(构造和析构函数除外) 和成员变量
Son ob1; ob1.func();//访问的是父类的void func(void)
ob1.func(10);//访问的是父类的func(int a) }
案例2:子类和父类 同名成员函数
class Base {
public: void func(void) {
cout<<“父类中的void
func”<<endl; } void func(int a) {
cout<<"父类中的int func a =
"<<a<<endl; }
}; class Son:public Base { public: //一旦子类 实现了 父类的同名成员函数 将屏蔽所有父类同名成员函数 void func(void) {
cout<<“子类中voidfunc”<<endl; } };
void test01() { //为啥构造和析构除外?父类的构造和析构 只有父类自己知道该怎么做(构造和析构 系统自动调用) //子类会继承父类所有成员函数(构造和析构函数除外) 和成员变量
Son ob1; ob1.func(); //ob1.func(10);//err //一旦子类 实现了 父类的同名成员函数
将屏蔽所有父类同名成员函数 //如果用户
必须要调用父类 的同名成员函数 必须加作用域
ob1.Base::func();//调用父类的void func ob1.Base::func(10);//调用父类的int func } int main(int argc, char *argv[]) { test01(); return 0; }
运行结果:
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- 【计算机组成原理】第四章部分习题(下)
一、前言 接着上次的进行更新,教材是唐朔飞老师的计算机组成原理第二版,这次对第四章最后一部分习题进行记录。 二、题目 1.设主存容量为256K字,Cache容量为2K字,块长为4。 (1)设计Cache地址格式,Cache中可装入多少块数据? (2)在直接映射方式下,设计主存地址格式。 …...
2024/4/23 14:19:15 - ArrayList源码剖析
ArrayList简介ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存。ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用Collections.synchronizedList(List l)函数返回一个线程安全的ArrayList类,…...
2024/4/23 14:19:10 - 弹道实现
转自:https://www.gameres.com/677540.html上篇今天谈谈一个有趣的内容——u3d实现子弹弹道。当然这个完整的说,也非常复杂,还是由浅入深,先说说最核心的原理。一、定义我将子弹分为至少两种:1、实体型。即发射后,生成一个带刚体的gameobject,可以通过u3d的物理引擎实现…...
2024/4/23 14:19:06 - 基于python实现网课一键完成系列一
最近看了公众号的后台数据,发现很多人对刷网络学时的关注度比较高,所以最近利用工作之余的时间,又捣腾了一个网络学习平台,下面就介绍下整个流程,以下内容仅做技术交流。首先,这是一个官方的网络学习平台,在网页的左上角处有一个登录窗口,通过刷新界面抓包可以获取到验…...
2024/4/23 14:19:16 - LeetCode127【BFS】:单词接龙
package leetcode.editor.cn;//给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord 的最短转换序列的长度。转换需遵循如下规则: // // // // 每次转换只能改变一个字母。 // 转换过程中的中间单词必须是字典中的单词。 // // // 说明: // /…...
2024/4/23 14:19:04 - Android——初识OpenGL ES 2.0
概念 OpenGL(Open Graphics Library)是一个跨平台的高性能3D渲染API,OpenGL ES 2.0(Open Graphics Library Embedded System 2.0)是它的嵌入式平台2.0版本。 简单实现 在Activity里面,创建一个GLSurfaceView对象,然后当作Activity的布局,并实现一个Renderer接口,塞给G…...
2024/4/23 14:19:10 - 通过GET/POST方式获取第三方接口的数据
前言遇到一个项目,需要通过API去获取数据,API接口的调用方式支持GET和POST。一开始不懂这个API具体是个啥,是需要我们自己设计还是说用户给定,后续搜索明确是用户自定义提供API接口,开发人员只需要获取到API的url及调用这个API所需要的必要参数,然后分别以GET/POST方式连…...
2024/5/7 13:05:53 - buuoj BJDCTF 2nd one_gadget
程序输出printf函数地址可以利用工具one_gadget计算libc基址from pwn import *#p = process(./one_gadget) p = remote("node3.buuoj.cn",26742)out = p.recv()addr = int(out[out.find(0x)+2:out.find(0x)+14],16)log.success(addr)local_libc = ELF(./libc-2.29.so…...
2024/4/23 14:19:06 - python常见的内置模块
python的常见内置模块 |-- os、os.path |-- sys |-- random |-- math |-- base64 |-- hashlib |-- hmac |-- time |-- datetime …… 1,什么是模块 定义的XXX.py文件 2、模块的分类 通过模块的创建者 |-- 系统内置模块 |-- uuid、os、math、random python官方提供的cpython解释…...
2024/4/23 14:19:01 - 理解Pytorch里面nn.CrossEntropyLoss的含义
理解Pytorch里面nn.CrossEntropyLoss的含义先说nn.CrossEntropyLoss的参数,如果神经网络的输出output是一个(batch_size, num_class, h, w)的tensor(其中,num_class代表分类问题的类别数,h为图像高度,w为图像宽度),则nn.CrossEntropyLoss需要的label形状为(batch_size, h,…...
2024/4/23 14:19:00 - 什么是redis,redis能做什么,redis的应用场景
1、什么是Redis Redis是一款内存高速缓存数据库。Redis全称为:Remote Dictionary Server (远程数据服务),使用C语言编写,Redis是一个key-value存储系统(键值存储系统),支持丰富的数据类型,如:String、list、set、zset、hash。Redis是一种支持key-value等多种数…...
2024/5/7 13:31:57 - 【剑指Offer】面试题05.替换空格
题目输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2] 输出:[2,3,1]限制:0 <= 链表长度 <= 10000思路一:反转数组代码时间复杂度:O(n) 空间复杂度:O(1)class Solution { public:vector<int> reversePrint(…...
2024/4/15 8:36:53 - 004-Python-100-Day
循环结构 1.for-in循环 2.while循环 练习1:输入一个正整数判断是不是素数。 from math import sqrt a = int(input(‘请输入一个正整数:’)) end = int(sqrt(a)) is_prime = True for i in range(2,end+1): if a % i == 0: is_prime = False break if is_prime and a != 1: p…...
2024/4/18 6:54:55 - Leetcode之合并K个排序链表
题目描述 合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 思路首先遍历所有链表,将对应的数值保存到数组中,之后遍历数组创建新的链表即可 分治:每个链表先与下一个链表融合,这样讲链表总数从k将至k/2,重复直至链表总数为1,返回头部指针即可代码 …...
2024/4/17 8:13:28 - 2020-03-25
今天是我在csdn写的第一篇博客。 首先做一下自我介绍。我叫张馥麟,来自辽宁沈阳。现在在陕西科技大学就读数学专业。如今在上大二。爱好广泛。擅长打篮球,跳街舞,跆拳道,打游戏等。 我在大一下学期学习了C语言和C++。但是感觉还有很多不会和疑惑的地方在日后有待提升。我比…...
2024/4/20 6:18:54 - 微信小程序案例源码-cocos creator跨平台开发小游戏案例
本人一直想学习游戏开发,以前做过Android游戏开发,但电脑坏了,所有源码都没有了,后面也就没有开发了,近来下班之余又想开发游戏了。开发游戏之前,需要考虑开发平台及语言,以前基于Android开发,但是只能够运行在Android手机上,开发成本很高。当前各种小游戏平台十分火爆…...
2024/4/23 14:18:57 - 如何连接数mysql据库
仔细看哦 package JDBCTest; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; 上面的那部分是导入的各种类 public class JDbc { String username=“root”; String passwo…...
2024/5/4 11:27:45 - Python多线程threading join和守护线程setDeamon原理详解
同一进程下的多个线程共享内存数据,多个线程之间没有主次关系,相互之间可以操作;cpu执行的都是线程,默认程序会开一个主线程;进程是程序以及和程序相关资源的集合;某些场景下我们可以使用多线程来达到提高程序执行效率的目的,下面就多线程的一些基础知识做简要说明 简单…...
2024/4/23 14:18:57 - 改进Face/Detect
##改进Face/Detect 现在Face/Detect和Face/Verify将支持将用户提交的结果持久化。我们先考虑下Face/Detect现在的变化,原先我们的流程是:从微信客户端获得mediaID,通过这个mediaID从微信服务器下载图片,然后将这个图片提交给牛津,以获得FaceID Created with Raphal 2.2.0开…...
2024/4/23 14:19:02 - LINUX音频驱动架构
https://www.jianshu.com/p/0f5fe8f51b66从CODEC的接口和内部模块分析各种功能从接口上看,有:INL-连接音响设备,输入模拟声音信号MIC-连接麦克风,输入模拟语音信号DMIC-连接数字麦克风,输入数字音频信号I2S/PCM-连接CPU,输入数字音频信号CONTROL INTERFACE-输入控制信号H…...
2024/5/6 18:43:38
最新文章
- 高频次的低价监测如何实现
品牌在做控价的过程中,需要对渠道中的低价数据进行监测,但价格数据变化快,涉及的促销信息也很多,如何将这些变化的数据监测到位,同时对于低价的凭证还要截图留证,以便有效的进行渠道治理,这就需…...
2024/5/7 14:01:25 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/5/7 10:36:02 - 如何构建数据指标体系
构建一套科学、完备且实用的数据分析指标体系是一项系统性的工程,其核心在于将业务理解、目标设定、度量标准选择、数据采集与整理、数据分析、指标体系构建、持续优化与改进等多个环节有机融合,以实现对业务状况的精准刻画、趋势预测及决策支持。以下是…...
2024/5/4 6:23:20 - [Spring Cloud] gateway全局异常捕捉统一返回值
文章目录 处理转发失败的情况全局参数同一返回格式操作消息对象AjaxResult返回值状态描述对象AjaxStatus返回值枚举接口层StatusCode 全局异常处理器自定义通用异常定一个自定义异常覆盖默认的异常处理自定义异常处理工具 在上一篇章时我们有了一个简单的gateway网关 [Spring C…...
2024/5/3 22:05:18 - 【嵌入式开发 Linux 常用命令系列 4.3 -- git add 不 add untracked file】
请阅读【嵌入式开发学习必备专栏 】 文章目录 git add 不add untracked file git add 不add untracked file 如果你想要Git在执行git add .时不添加未跟踪的文件(untracked files),你可以使用以下命令: git add -u这个命令只会加…...
2024/5/5 8:53:25 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/5/7 5:50:09 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/5/7 9:45:25 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/5/4 23:54:56 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/5/6 9:21:00 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/5/4 23:54:56 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/5/4 23:55:05 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/5/4 23:54:56 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/5/7 11:36:39 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/5/4 23:54:56 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/5/6 1:40:42 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/5/4 23:54:56 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/5/4 23:55:17 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/5/7 9:26:26 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/5/4 23:54:56 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/5/4 23:55:06 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/5/5 8:13:33 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/5/4 23:55:16 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/5/4 23:54:58 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/5/6 21:42:42 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/5/4 23:54:56 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下: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