00 写在前面

仿函数(functors)和适配器(adapter)就到了整个STL的最后部分。虽然这两部分内容不是很多,可以放在一起说。

但作为STL六大部件中的两大部件,这两者还是有很多设计的精华在里面,值得我们学习。

这也是【STL源码剖析】总结笔记的最后一篇。

01 仿函数(Functors)


仿函数的由来

仿函数,顾名思义,就是类似函数的一种东西。在讨论仿函数之前,我们来看看它是如何产生的。

在前面我们见识了很多算法,算法大都提供一个默认版本,但如果用户想根据不同的应用场景对算法进行变换,也是可以的。比如sort排序算法默认是升序的,我们还可以根据操作的不同变为降序等等。

而这里的”操作“就是改变算法的关键。

首先第一种方法是把这个操作写成一个函数,然后在算法的参数中传入函数指针。这样是完全可以实现对算法的改变的,但是会有一个问题,就是不够灵活,不能随意改变。

举个例子,求数组中大于10的数的个数。

int RecallFunc(int *start, int *end, bool (*pf)(int)) { int count=0; for(int *i=start;i!=end+1;i++) { count = pf(*i) ? count+1 : count; } return count; 
} bool IsGreaterThanTen(int num) { return num>10 ? true : false; 
} int main() { int a[5] = {10,100,11,5,19}; int result = RecallFunc(a,a+4,IsGreaterThanTen);return 0;
}

我们可以把大于10写为一个函数,再传入原本的算法中。

但如果我们想实现大于任何数,让IsGreaterThanTen(int num)变为IsGreaterThan(int num1,int num2)传入两个参数,那就不可以实现了。(当然定义为全局变量也可以实现)

这时候仿函数就派上用场了。

再举个例子,比如常见的比较大小用的less

template <class T>
struct less:public binary_function<T,T,bool>{bool operator()(const T&x,const T&y)const{turn x<y};
};

这样定义之后就可以产生一个仿函数对象了。

可以产生仿函数实体,然后调用实体:

less<int> less_obj;
less_obj(3,5);

或者使用临时对象**(常用)**

less<int>()(3,5);

当然,配合算法才是仿函数的目的,只为算法服务。

sort(vi.begin(),vi.end(),less<int>());

### 仿函数与算法

大家可能也注意到了,仿函数需要重载小括号。

而这样的重载可以使其很好地融合于算法之中。

比如算法accumulate,在第二个版本中注意第三个参数

template <class InputIterator,class T,class BinaryOperation>
T accumulate(InputIterator first,InputIterator last,T init,BinaryOperation binary_op){for(;first!=last;++first)init=binary_op(init,*first);return init;
}

第三个参数是binary_op,当这里传入仿函数时,这个重载小括号的操作就可以直接对binary_op()里的参数进行操作了。如果传入的仿函数是plus,那么这里也可以翻译为plus()(init,*first)

仿函数的继承

那我们是不是也可以设计仿函数呢?当然是可以的。

比如

struct myclass{bool operator()(int i,int j){return i<j;}
}myobj;

这样看上去没有什么问题,调用的时候也可以正常调用。

但仔细和上面的less作比较,就可以发现区别在哪里。

less继承了一个public binary_function<T,T,bool>

这个继承是让仿函数融入STL体系的关键。

仿函数的可配接性

继承关系下,有两个结构体,分别是unary_function和binary_function。

定义也很简单,主要用于表现函数的参数类型和返回值类型。

unary_function对应一元操作,比如取反之类的。

template <class Arg,class Result>
struct unary_function{typedef Arg argument_type;typedef Result sult_type;
};

binary_function对应二元操作,比如加和,相乘之类的。

template <class Arg1,class Arg2,class Result>
struct binary_function{typedef Arg1 first_argument_type;typedef Arg2 second_argument_type;typedef Result result_type;
};

如果仿函数继承了unary_function或binary_function,那么后续的适配器(adapter)就可以获取到仿函数的各种类型。

这样也使得在STL中的仿函数有了像积木一样的拼接能力。

02 适配器(Adapter)


适配器是什么

适配器(Adapter),也叫配接器,其实就是对现有的class进行接口的改变。应用在容器上就叫容器适配器(container adapter),用在仿函数上就叫函数适配器(function adapter),用在迭代器上就叫迭代器适配器(iterator adapter)

如果A想要实现B内含的功能,那么会有两种途径:A继承B或者A内包含B。

对于适配器来说是第二种实现方法。

容器适配器

容器适配器我们在deque部分就已经见过了,就是queue和stack的实现。

它们底层都是依靠deque实现的,所以也被称为容器适配器。

link

template <class T,class Sequence = deque<T>>
class stack{protected:Sequence c;public:bool empty() const{return c.empty()};...
}

函数适配器

函数适配器是适配器中的重头戏。我们前面说仿函数的继承也是为了和适配器更好地配合。

用第一篇出现的例子来说明函数适配器

cout<<count_if(vi.begin(),vi.end(),bind2nd(less<int>(),40));

这里的bind2nd就是一个典型的函数适配器。

先看代码

template <class Operation>
class binder2nd:public unary_function<typename Operation::first_agument_type,typename Operation::result_type>{protected:Operation op;typename Operation::second_argument_type value;
public:binder2nd(const Operation&x,const typename Operation::second_argument_type&y):op(x),value(y){}typename Operation::result_typeoperator(const typename Operation::first_agument_type &x )const{return op(x,value);}
};

这段代码的信息量很大,我们一点一点说。

  1. 首先明白typename的用法,typename可以直接告诉编译器后面的是类型而不是变量,防止编译失败。
  2. bind2nd的作用就是给仿函数的第二个参数绑定一个值。
  3. 注意这里写的是binder2nd,是bind2nd的内层函数。
  4. binder2nd一开始并没有调用less(),而是用op把它记录了下来。
  5. Operation::second_argument_type是适配器对仿函数提问的环节,然后仿函数告诉适配器第二参数的类型(对于less()来说就是int)
  6. 最后对小括号进行重载,才真正调用了less()
  7. 适配器是用来修饰仿函数的,如果仿函数重载了小括号,那么适配器在修饰完后也需要是同样的效果,所以也需要重载小括号。

对于binder2nd来说,用户需要知道Operation是什么类型才可以使用。上例中Operation其实就是less,但这样使用起来很麻烦,所以STL提供了外层接口的包装。

template <class Operation,class T>
inline binder2nd<Operation>bind2nd(const Operation&op,const T&x){typedef typename Operation::second_argument_type arg2_type;return binder2nd<Operation>(op,arg2_type(x));
}

首先询问第二参数的类型,然后自动推导出op的类型。

函数适配器和仿函数一样,如果有被继续修改的可能,就会继承unary_function或binary_function。

迭代器适配器

reverse iterator

迭代器适配器中最为有趣的是逆向迭代器,也就是reverse iterator,以从尾到头的形式来处理元素。

我们常用的迭代器是这样:

sort(vi.begin(),vi.end());

逆向迭代器写为

sort(vi.rbegin(),vi.rend());

我们来看rbegin()和rend()的定义

rbegin(){return reverse_iterator(end());
}rend(){return reverse_iterator(begin());
}

可以看出在实现上也是逆向的,头取尾,尾取头。但在实际重载实现的过程中还是有一点区别的。

先来看一张图:

image-20211126164108818

因为前闭后开的原因,我们常见的begin()是起始位置,对应第一个元素,而end()是最后一个元素的下一个位置。

所以在逆向后,rbegin()指的是end()的前一个元素,rend()指的是begin()的前一个元素。

所以重载时要知道前一个元素是什么(但是指针的位置不变

reference operator*()const{Iterator tmp=current;return *--tmp;
}

#### inserter

inserter也是一个迭代器适配器,会把iterator的赋值操作变为安插操作。

inserter的实现主要依靠重载的巧妙。

假设有两个list

image-20211126173736337

如果执行:

list <int>::iterator it=foo.begin();
copy(bar.begin(),bar.end(),inserter(foo,it));

则会从覆盖变为插入

image-20211126173945013

对于copy来说,实现如下:

template <class ImputIterator,class OutputIterator>
OutputIterator copy(InputIterator first,InputIterator last,OutputIterator result){while(first!=last){*result=*first;++result;++first;}return result;
}

过程就是通过first的移动来拷贝原值得到result。

那这里使用inserter是如何实现其他操作的呢?

其实inserter的实现重载了“=”

template <class Container>
class insert_iterator{...
insert<Container>&operator=(const typename Container::value_type& value){iter=container->insert(iter,value);++iter;return *this;}
}

是不是非常巧妙,在copy中,当*result=*first时,这个=会调用insert将值插入,再移动指针保持跟随。

这样也就实现了inserter的功能。

X适配器

所谓X适配器,是指除了经典的几大类适配器外,也会被用到的有一些特殊的适配器。比如ostream_iterator和istream_iterator

ostream_iterator

首先来看ostream,常用的是cout

结构上由out_stream和分隔符组成。

class ostream_iterator:public iterator<output_iterator_tag,void,void,void,void>{basic_ostream<charT,traits>*out_stream;const chatT*delim;...
}

来看一个例子体会它的实现:

std::vector<int>myvector;
for(int i=1;i<10;i++)myvector.push_back(i*10);std::ostream_iterator<int>out_it(std::cout,",");
std:copy(myvector.begin(),myvector.end(),out_it);

这里在创建ostream时传入了cout和分隔符“,”,相当于先输出一个数再输出一个逗号。

重点在于copy中第三个参数的调用。

copy的实现我们在前面inserter里也见过

template <class ImputIterator,class OutputIterator>
OutputIterator copy(InputIterator first,InputIterator last,OutputIterator result){while(first!=last){*result=*first;++result;++first;}return result;
}

而对于ostream来说,如何让自己融入到类似copy这样的算法中才是关键。

ostream_iterator非常巧妙地重载了“=”,让一切变得合理。

ostream_iterator<T,charT,traits>&operator=(const T& value){*out_stream<<value;if(delim!=0)out_stream<<delim;return *this;
}

遇到=,首先输出value,如果分隔符存在,那么再输出一个分隔符。

istream_iterator

与ostream相对的就是istream,也就是cin之类的操作。

结构上由instream和value组成。

class istream_iterator:public iterator<input_iterator_tag,T,Distance,const T*,const T&>{basic_istream<charT,traits>*in_stream;T value;...
}

举个例子

double value1,value2;
std::istream_iterator<double>eos;
std::istream_iterator<double>iit(std::cin);
if(iit!=eos)value1=*iit;
++iit;
if(iit!=eos)value2=*iit;

可以看到在创建了iit之后,就可以得到value的值了。移动iit后可以得到下一个value。

而这里的实现是istream_iterator的精华。

其实istream_iterator在创建的时候就已经把值存入value了。

istream_iterator(istream_type& s):in_stream(&s){++*this;
}...
istream_iterator<T,charT,traits,Distance>& operator++(){if(in_stream&&!(in_stream>>value)) in_stream=0;return *this;
}const T& operator*() const {return value;
}

在创建时调用了++,而在后面重载了++操作,使value得到输入值。最后*解引用取得value值。

在创建时立刻读取值的操作是istream_iterator中值得注意的点。

03 总结

以上就是【STL源码剖析】总结笔记的全部内容。

涉及了STL的各个方面,不是很细致但也有一定的参考性,需要为工作准备的小伙伴可以当作复习材料从头过一遍,加深记忆。

感谢阅读。

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 数据库三范式的一些定义及理解

    数据库范式的一些定义及理解认识范式第一范式&#xff08;1NF&#xff09;第二范式&#xff08;2NF&#xff09;第三范式&#xff08;3NF&#xff09;认识范式 范式是数据库的理论基础&#xff0c;也是设计数据库结构过程中要遵循的规则和指导方法&#xff0c;基本范式有&…...

    2024/4/13 4:22:00
  2. C++基础知识 - 对象的使用

    对象的使用 什么是对象&#xff1f; 对象&#xff0c;是一个特定“类”的具体实例。 对象和普通变量有什么区别&#xff1f; 一般地&#xff0c;一个对象&#xff0c;就是一个特殊的变量&#xff0c;但是有跟丰富的功能和用法。 什么时候使用对象&#xff1f; 对象的具体使用…...

    2024/4/18 13:58:08
  3. RabbitMQ的创建及使用

    RabbitMQ 是由 erlang 开发的 AMQP 的开源实现 核心概念 Message&#xff1a;消息 Publisher&#xff1a;消息生产者 Exchange&#xff1a;交换器 &#xff08;Exchange 有 4 种类型&#xff1a;direct&#xff08;默认&#xff09;、fanout、topic 和 headers&#xff09;…...

    2024/4/17 11:47:32
  4. jvm的client与server工作模式

    【README】 JVM Server模式与client模式启动&#xff0c;最主要的差别在于&#xff1a; -Server模式启动时&#xff0c;速度较慢&#xff0c;但是一旦运行起来后&#xff0c;性能将会有很大的提升. 原因是:当虚拟机运行在-client模式的时候,使用的是一个代号为C1的轻量级编译…...

    2024/4/13 4:22:35
  5. sqlite命令行使用方法

    最近为了省钱&#xff0c;就打算使用开源免费的sqlite来做数据库。并且由于个人习惯&#xff0c;所以偏爱命令行。这里就来记录一下如何使用命令行来使用sqlite。 安装的话&#xff0c;macOS自带sqlite3&#xff0c;Linux可以使用软件包&#xff08;apt-get或者yum下载&#x…...

    2024/4/16 21:26:45
  6. 二十年后的家乡(小学习作)

    嘿&#xff0c;这是我们五年级的一个习作。我放出来灌水&#xff0c;不过分吧&#xff1f;&#xff08;写得极其通俗&#xff0c;当个笑话看就好&#xff09; 内容如下&#xff1a; 二十年后的家乡 现在的时间是:2021年11月21日星期日。那二十年后的今天会是怎么样呢&#xf…...

    2024/4/20 3:57:47
  7. 蓝桥杯——基础练习——数组移动

    问题描述 初始数组A[N]中为1,2,..,N&#xff0c;N个数字&#xff0c;现要进行M次操作&#xff0c;每次操作给定一个数字i&#xff0c;记其在数组中的位置为Bi&#xff0c;将A[1]..A[Bi]移到数组末尾。 输入格式 输入的第一行包含两个整数N,M。接下来M行&#xff0c;每行一个正整…...

    2024/4/5 1:57:36
  8. 缓冲流转换流序列换流

    目录前言缓冲流转换流序列化流序列化&#xff1a;反序列化序列化的注意事项反序列化的注意事项打印流commons-io工具包前言 Java——IO流基础 缓冲流 字节缓冲流&#xff1a;BufferedInputStream&#xff0c;BufferedOutputStream字符缓冲流&#xff1a;BufferedReader&…...

    2024/4/15 5:39:14
  9. C#-继承-隐藏方法

    我们不能删除父类中的任何成员&#xff0c;但是可以用与父类成员名称相同的成员来屏蔽父类成员 语法细节&#xff1a; 屏蔽数据成员-在子类中声明名称和类型相同的成员屏蔽函数成员&#xff1a;在子类中声明新的带有相同函数签名的成员让编译器知道&#xff1a;加new关键字&a…...

    2024/4/5 1:57:34
  10. 解析二维码如何批量解析二维码内容

    1.如下图文件夹中含有部分二维码图片&#xff0c;现在我们想要批量解析这些二维码内容。 2.首先我们打开Excel ​ 3.点击【图片工具】&#xff08;Excel工具箱&#xff0c;百度即可了解详细下载安装信息&#xff0c;本文这里就不做详细解说。&#xff09; 4.选择【批量解码】 ​…...

    2024/4/5 1:57:34
  11. linux I2C驱动(Linux驱动开发篇)

    1.linux IIC驱动 由于裸机的驱动迎合驱动的分离和分层的思想&#xff0c;分为IIC主机驱动&#xff08;接口驱动&#xff09;和IIC设备驱动. 这种思想的好处&#xff0c;请看我写的另外一篇文章Linux驱动的分离和分层。 其中上面说的裸机驱动请看这篇文章裸机驱动但是裸机的驱动…...

    2024/4/13 4:22:35
  12. linux学习之常用命令

    一、linux常用命令简单记忆 directory目录change改变remove删除print打印list列出copy复制move移动clear清除 二、常用命令 pwd&#xff1a;打印当前所在路径 &#xff08;1&#xff09;来源&#xff1a;print working directory &#xff08;2&#xff09;命令格式 命令选项…...

    2024/4/13 4:22:30
  13. Doxygen使用

    Doxygen使用 配置文件生成以及build doxygen -g dconfigdoxygen dconfig 代码注释 每个文件前面 //*************************************************************************************** // //! \file main.c //! This is an simple example show developer how to u…...

    2024/4/13 4:22:35
  14. JavaScript基础语法思维导图

    ...

    2024/4/13 4:22:35
  15. 面向对象02:回顾方法的调用

    回顾方法的调用 1.当a是static&#xff0c;b不是static &#xff0c;a无法调用b 原因&#xff1a;static和类一起加载的&#xff1b;类实例化之后才存在&#xff1b;a存在了&#xff0c;b不存在 public static void a(){b(); } public void b(){}2.Java是值传递 复刻了一把新…...

    2024/4/13 4:22:35
  16. 寒假打卡总结

    1&#xff0c;通过最大子序和学习了单调队列算法&#xff0c;首先区间和转化为前缀和相减&#xff0c;且要求作为减数的前缀和最小&#xff1b;从这点出发&#xff0c;要求前缀和递增&#xff1b;可以用一个队列来保存这个下标递增&#xff0c;前缀和递增的序列&#xff08;这个…...

    2024/4/23 13:22:23
  17. 通过例子学TLA+(十二)-- 函数

    函数和实例 函数 TLA中除了 数字&#xff0c;字符串&#xff0c;布尔值&#xff0c;模型值 4种基本类型外&#xff0c;还有两种复杂类型&#xff0c;分别为集合和函数。函数构成了所有实用复杂类型的基础。 函数的形式看起来跟之前介绍过的操作符是一样的。函数定义的两种方…...

    2024/4/13 4:22:45
  18. 好用的软件

    手机 1美物清单&#xff0c;优惠券&#xff0c;在购物软件复制粘贴到美物。 2清浊&#xff0c;内存清理&#xff0c;有收费 3内存清理...

    2024/4/13 4:22:35
  19. 【R语言实验】基于R语言的时间序列平稳性检验

    一、实验项目名称&#xff1a;基于R语言的时间序列平稳性检验 二、实验目的与要求&#xff1a; 平稳时间序列的概念&#xff0c;平稳性检验的时序图检验方法和自相关图检验方法。 三、实验原理&#xff1a; 时序图和自相关图检验时间序列的平稳性依据&#xff1b; 四、测试数据…...

    2024/4/20 12:07:14
  20. 【Fiddler 实战操作】如何使用 Fiddler 对苹果手机进行抓包

    【Fiddler 实战操作】如何使用 Fiddler 对苹果手机进行抓包一、条件概要二、安装 Fildder1、下载 Fiddler2、运行 Fiddler二、配置 Fiddler1、配置端口2、配置手机代理网络一、条件概要 使用Fiddler手机抓包的两个前提条件&#xff1a; 1、手机连的网络或WiFi必须和电脑&#…...

    2024/4/13 4:22:55

最新文章

  1. 网址分类-杂项

    网址分类 Python可视化库matplotlibplotnineseaborn 科学计算库numpy scipy数据分析库pandas 人工智能opencvkeras 工具网站电子工具 Python 可视化库 matplotlib matplotlib官网 plotnine plotnine seaborn seaborn 科学计算库 numpy numpy官网 scipy scipy官网 …...

    2024/4/24 19:43:41
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 汽车统一诊断服务UDS协议参考文章和视频

    UDS基础知识介绍-电子发烧友网 【图解UDS】UDS汽车诊断标准协议&#xff08;ISO14229&#xff09;带你入门到精通-有驾 车载测试之UDS诊断协议9&#xff1a;0x27服务&#xff1a;解锁ECU_哔哩哔哩_bilibili UDS诊断的22服务&#xff08;DID读取数据&#xff09;和2E服务&…...

    2024/4/21 4:52:10
  4. ChatGPT 初学者指南

    原文&#xff1a;ChatGPT for Beginners 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 介绍 如果您一直关注新闻和趋势&#xff0c;您可能已经在某个地方读到或听到过&#xff0c;Sam Altman 的生成式人工智能平台 ChatGPT 已经将人工智能推向了一个新的高度 - 许多…...

    2024/4/23 6:13:11
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/4/23 20:58:27
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/23 13:30:22
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/23 13:28:06
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/24 18:16:28
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/23 13:27:44
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/19 11:57:53
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/23 13:29:53
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/23 13:27:22
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/23 13:28:42
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/23 22:01:21
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/23 13:29:23
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/23 13:27:46
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/23 13:47:22
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/19 11:59:23
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/4/19 11:59:44
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/23 13:28:08
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/24 16:38:05
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/23 13:28:14
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/23 13:27:51
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/23 13:27:19
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; 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
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在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