深入理解C++智能指针——浅析MSVC源码
文章目录
- unique_ptr
- shared_ptr 与 weak_ptr
- std::bad_weak_ptr 异常
- std::enable_shared_from_this
unique_ptr
unique_ptr 是一个只移型别(move-only type,只移型别还有std::mutex
等)。
结合一下工厂模式,看看其基本用法,优先使用 std::make_unique
:
(关于工厂模式,可见我曾经的笔记:https://zhuanlan.zhihu.com/p/423725151)
#include <iostream>
#include <memory>class Animal
{
public:virtual void Print() const = 0;
};class Dog : public Animal
{
public:void Print() const override{std::cout << "Dog!" << std::endl;}
}; class AnimalFactory
{
public:virtual std::unique_ptr<Animal> CreateAnimal() = 0;
};class DogFactory : public AnimalFactory
{
public:std::unique_ptr<Animal> CreateAnimal() override{return std::make_unique<Dog>();}
};class MyTest
{
public:MyTest(std::unique_ptr<AnimalFactory> animal_fac) : animal_fac(std::move(animal_fac)) {}void ButtonClick(){auto animal_new = animal_fac->CreateAnimal();animal_new->Print();}
private:std::unique_ptr<AnimalFactory> animal_fac;
};int main()
{auto test = MyTest(std::make_unique<DogFactory>());test.ButtonClick();
}
查看MSVC源码,我们知道其有两个模板参数:
第二个是默认删除器,我们可以这样:
auto my_del = [](Animal* animal)
{std::cout << "delete: ";animal->Print();delete animal;
};
std::unique_ptr<Animal, decltype(my_del)> t(new Dog, my_del);
t->Print();
我们发现删除器的型别对 unique_ptr 的型别也有影响,因为它属于模板参数的第二个参数(在之后讲shared_ptr 和 weak_ptr 的时候我们会发现删除器对型别没有影响),因此这里若是使用前面的工厂函数生成就会报错,因为它是由std::make_unique<Dog>();
生成的,型别对不上。
同样的我们知道,对于定制删除器的情况,用std::make_unique
就无法生效。
我们知道,对于 std::unique_ptr
有两种形式提供:一种是单个对象:std::unique_ptr<T>
,一种是数组:std::unique_ptr<T[]>
。对单个对象就没有 operator [] 的方法,而数组的情况则没有 operator*
和 operator ->
,后者用的极少。
而对于shared_ptr和weak_ptr则没有这样区分,究其源码我们可以看到下面这样:
通过remove_extent_t
消除了数组的情况。( _t 是C++14才有的,每个C++11中的变换std::transformation<T>::type
在14都有对应的std::transformation_t
的模板,目的是用using取代typedef,避免烦人的typename等等),比如这里的情形:
unique_ptr 还有一个性质就是能很方便地转为 shared_ptr,但是记住他是只移型别:
auto uptr = std::make_unique<Dog>();
// std::shared_ptr<Animal> sptr = uptr; // error!
std::shared_ptr<Animal> sptr = std::move(uptr);
或者直接:std::shared_ptr<Animal> sptr = std::move(std::make_unique<Dog>());
这样好像也没问题,因为shared_ptr有unique_ptr的构造函数:
std::shared_ptr<Animal> sptr(std::make_unique<Dog>());
参考:
https://zh.cppreference.com/w/cpp/memory/shared_ptr/shared_ptr
https://en.cppreference.com/w/cpp/memory/unique_ptr
https://zh.cppreference.com/w/cpp/memory/shared_ptr
shared_ptr 与 weak_ptr
在我曾经的笔记曾提到过:https://zhuanlan.zhihu.com/p/415508858
参考链接:
https://en.cppreference.com/w/cpp/memory
https://en.cppreference.com/w/cpp/memory/shared_ptr
关于这两个,在MSVC的实现中会把他们继承于同一个基类(但是似乎标准规格书没有写,猜测是各家编译器自己实现的),这在前面讲unique_ptr的时候曾讲过:
std::remove_extent_t 确实是 C++14 引入的,至于前面那张图的 element_type 看来是在 C++17 才做出了这样的更新。
关键要理解的是,引用计数并不是类里面封装一个size_t一般类型的数,类里面实际封装的是一个指向一个控制块的指针(类 _Ptr_base 中):
第一个 element_type 标准已经讲了,第二个就是这个指向控制块的指针:
可以看到,其有一些虚的方法,还有两个计数:引用计数和弱计数。
既然 shared_ptr 与 weak_ptr 是继承同一个基类,那么配套的自然也就指向同一个控制块了。对于 std::make_shared
,其控制块和托管 element_type 类型的资源会一同分配,从而只要引用计数归0,就会一同析构(但若是对象很大,则很可能要到弱计数归0的时候才会被析构)。
那么什么时候会产生新的控制块呢?参考effective modern C++,在以下三种情况将会创建新的控制块:
- std::make_shared
- 从具备专属所有权的指针(即std::unique_ptr或std::weak_ptr)出发构造一个shared_ptr
- 当std::shared_ptr构造函数使用裸指针作为实参来调用时
引用计数的存在还会带来一些性能开销,同时为了线程安全,引用计数的递增和递减是原子操作的。
把刚才的 unique_ptr 的代码改为 shared_ptr :
class Animal
{
public:virtual void Print() const = 0;
};class Dog : public Animal
{
public:void Print() const override{std::cout << "Dog!" << std::endl;}
}; class AnimalFactory
{
public:virtual std::shared_ptr<Animal> CreateAnimal() = 0;
};class DogFactory : public AnimalFactory
{
public:std::shared_ptr<Animal> CreateAnimal() override{return std::make_shared<Dog>();}
};class MyTest
{
public:MyTest(std::shared_ptr<AnimalFactory> animal_fac) : animal_fac(std::move(animal_fac)) {}void ButtonClick(){auto animal_new = animal_fac->CreateAnimal();animal_new->Print();}
private:std::shared_ptr<AnimalFactory> animal_fac;
};
对于weak_ptr,有 lock 方法可以返回一个 shared_ptr 指针,我们可以应用如下:
std::shared_ptr<Animal> CalAnimal(unsigned int animal_id)
{// 一堆计算return DogFactory().CreateAnimal();
}std::shared_ptr<Animal> fastCalAnimal(unsigned int animal_id)
{static std::unordered_map<unsigned int, std::weak_ptr<Animal>> cache;std::shared_ptr<Animal> objPtr = cache[animal_id].lock(); // 如果不在缓存中,则返回空指针if (!objPtr){objPtr = CalAnimal(animal_id);cache[animal_id] = objPtr;}return objPtr;
}
还是对于那个 Animal 的示例,假定有这么一个函数CalAnimal,传入一个id,经过复杂的计算决定要返回什么动物。但是要是传入相同的id,却要经过重复的计算,为了节约时间,我们用一个哈希表来存储要返回的结果。
这个存储不能是shared_ptr形式的,否则会导致一直存在引用计数,即使外面已经没有使用这个对象了,函数内部依然存储着;因此我们可以选用weak_ptr,如上代码。
仍然存在的一个问题就是会导致std::weak_ptr
不断积累了。
std::bad_weak_ptr 异常
weak_ptr 的空悬(dangling pointer,空悬指针),也被叫做失效(expired),可以用 expired 方法测试:
std::weak_ptr<Animal> wp;
if (wp.expired())
{std::cout << "dangling! " << std::endl;
}
要是直接用weak_ptr来作为实参构造shared_ptr,当weak_ptr失效的话就会抛出异常:
try
{std::weak_ptr<Animal> wp;std::shared_ptr<Animal> sp(wp);
}
catch (std::bad_weak_ptr& e)
{std::cout << e.what() << std::endl;
}
std::enable_shared_from_this
还记得我们之前说,当std::shared_ptr构造函数使用裸指针作为实参来调用时,会产生一个新的控制块。这就导致在类内部的方法中,将一个类的 this 指针去构造 shared_ptr 会产生问题——一个新的控制块!
比如如下代码:
class Animal
{
public:virtual void Print() const = 0;void PrintAllName() const{for (auto& sptr : animal_container){sptr->Print();}}
protected:std::vector<std::shared_ptr<Animal>> animal_container;
};class Dog : public Animal
{
public:void Print() const override{std::cout << "Dog!" << std::endl;}void PushBack(){animal_container.emplace_back(this);}
};
我们在使用:
auto d = std::make_shared<Dog>();
d->PushBack();
这是一个未定义行为。因为 d 是一个 shared_ptr ,但其实它调用 PushBack 方法的时候由于是用this指针构造,则会导致push进去的 shared_ptr 指向的对象(托管的对象资源)和 d 是一个对象,可是实际上由于控制块的不同却是两个不同的 shared_ptr ;那么 d 析构的时候,对象被析构,而容器内的 shared_ptr 析构的时候,对象再次被析构,第二次析构就会导致未定义行为。
于是解决方法就可以用 std::enable_shared_from_this ,我们更改刚刚写的类如下:
class Animal : public std::enable_shared_from_this<Animal>
{
public:virtual void Print() const = 0;void PrintAllName() const{for (auto& sptr : animal_container){sptr->Print();}}
protected:std::vector<std::shared_ptr<Animal>> animal_container;
};class Dog : public Animal
{
public:void Print() const override{std::cout << "Dog!" << std::endl;}void PushBack(){animal_container.emplace_back(shared_from_this());}
};
之后写代码:
auto d = std::make_shared<Dog>();
d->PushBack();
d->Print();
d->PrintAllName();
就都没有问题了。
那么 std::enable_shared_from_this 是怎么实现的呢?
参考:https://zh.cppreference.com/w/cpp/memory/enable_shared_from_this
enable_shared_from_this 的常见实现为:其内部保存着一个对 this 的弱引用(例如 std::weak_ptr )。当调用 shared_from_this 方法的时候就会返回一个由该弱指针构造出来的shared_ptr:
保证弱指针是对this的弱引用的方法,就是CRTP了,这里类的模板参数是 _Ty:
弱指针指向的便是 _Ty:
于是通过 CRTP 的方法,这里的 _Ty 实际上就是 Animal 类了:
从而达成实现。
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- linux在线安装gcc
参考: linux在线安装gcc_daponi的博客-CSDN博客_linux在线安装gcc命令步骤 nginx安装成功,浏览器打不开,是linux防火墙没有关闭 linux防火墙查看状态firewall、iptable_TigerwolfC的博客-CSDN博客_linux查看防火墙状态 SecureCRT sftp上传…...
2024/4/14 18:24:18 - 课程笔记4:Scrapy框架——下载中间件爬虫中间件的用法
下载中间件(Downloader Middleware) ps:下简称DM 这是处于Scrapy的Request和Response之间的处理模块。 DM在整个架构中起作用的两个位置: Engine把(从Schedule获取的)Request发送给Downloader的过程中&a…...
2024/5/3 0:02:05 - 数据库的学习笔记(一)
数据库里菜鸟第一章 什么是数据库?第二章 关系数据库是什么?2.1 基本概念2.2 运算2.2.1集合运算2.2.2 关系运算第三章 设计数据库3.1 E-R模型3.2 表格规范化3.3 设计数据库的步骤第四章 使用数据库——SQL的基本操作第五章 数据库的应用第六章 数据库的普…...
2024/4/18 8:01:36 - 十六进制转八进制
十六进制转换成八进制 思路:先将输入的类型默认为输入16进制,存到整型数组中,此时数组中是10进制类型。再将10进制类型转换成8进制。 #include<bits/stdc.h> using namespace std; //求n次方的函数 int func(int x,int n){int tempx;i…...
2024/4/18 13:32:10 - 2. MarkText可代替Typora的markdown 编辑器
文章目录 介绍安装MarkText偏好设置General 通用Editor 编辑器markdownTheme 主题Image 图片Image Uploader 图片上传功能栏View 界面视图三种编辑模式标签页功能快捷键Markdown 语法Typora收费了,那么MarkText将会是最好的选择。MarkText的使用起来非常流畅和丝滑,第一次使用…...
2024/4/14 18:24:38 - 二分图初步
1.二分图最大匹配 匹配:无交点的边集 每次直接匹配,记录右部节点所匹配的左部节点,每次匹配点x时,若x所连p点还未匹配,则使p与x匹配,否则尝试更新与p相连的左部节点,若能够更新就使p与x匹配&a…...
2024/4/20 13:10:13 - 主线程和子线程区别
线程 1、线程的概念: 线程是程序最基本的运行单位,而进程不能运行,所以能运行的,是进程中的线程。 2、线程是如何创建起来的: 进程仅仅是一个容器,包含了线程运行中所需要的数据结构等信息。一个进程创建时…...
2024/4/18 5:04:55 - springboot配置mybatis
1、引入依赖 <dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.2.1</version></dependency>2、配置文件 1、实体类 package com.example.demo.ent…...
2024/4/16 22:10:31 - springboot配置mybatis
1、引入依赖 <dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.2.1</version></dependency>2、配置文件 1、实体类 package com.example.demo.ent…...
2024/4/20 2:32:01 - Python基础9(笔记)——函数
1.定义方法 def 函数名(参数) 2.调用方法 函数名(参数) 3.函数的返回值 return 4.函数的参数 1)形参和实参 2)函数文档 例子如下: 可以设置默认值(参数) 5.函数与过程 过程无返回值,函数有返回值…...
2024/4/19 7:40:11 - Python基础9(笔记)——函数
1.定义方法 def 函数名(参数) 2.调用方法 函数名(参数) 3.函数的返回值 return 4.函数的参数 1)形参和实参 2)函数文档 例子如下: 可以设置默认值(参数) 5.函数与过程 过程无返回值,函数有返回值…...
2024/4/19 11:29:33 - 利用arcgispro将倾斜摄影三维数据OSGB转换为slpk格式
主要利用arcgispro2.5平台。受疫情影响,居家办公,采用的是笔记本处理,OSGB文件大约12.6GB,稍微慢了点。运行时间约50分钟,slpk文件大约29.5G,大了2倍多,转换时要留意磁盘空间哦。 1.创建新地图…...
2024/4/14 18:25:24 - Zookeeper中节点操作代码
完整代码 package yan.dong.text;import org.apache.zookeeper.*; import org.apache.zookeeper.data.Stat; import org.junit.Before; import org.junit.Test;import java.io.IOException; import java.util.List;public class TestZK {// Zookeeper集群IPprivate String con…...
2024/4/5 5:21:44 - 【渝粤教育】国家开放大学2018年春季 0691-21T物理化学及实验 参考试题
科目编号:0691 座位号: 2017-2018学年度第二学期期末考试 物理化学及实验试题 2018年6月 一、填空题(每小题3分,共30分) 1、热力学第零定律是指: 。 2、熵与热力学概率之间的函数关系式是 。 3、补全热力…...
2024/4/30 18:06:23 - 按键精灵每日多次自动启动校园网
本人网络小白,大家如果有更好的办法,麻烦留言或者私聊我,谢谢~ 1、按键精灵——启动校园网 2、windows任务管理器每日多次定时启动 按键精灵——启动校园网 官网下载安装按键精灵—>写连接校园网脚本—>生成小精灵程序 按键精灵操作&am…...
2024/4/14 18:25:04 - 蓝桥杯-迷宫
题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 X 星球的一处迷宫游乐场建在某个小山坡上。它是由 10 \times 101010 相互连通的小房间组成的。 房间的地板上写着一个很大的字母。我们假设玩家是面朝上坡的方向站…...
2024/4/14 18:25:09 - 【渝粤教育】国家开放大学2018年春季 0100-21T程序设计基础 参考试题
科目编号:0100 座位号 2017-2018学年度第二学期期末考试 程序设计基础 试题 2018年 7 月 一、单选题(本大题共10小题,每小题4分,共计40分) (★请考生务必将答案填入到下面对应序号的答题框中★)…...
2024/4/14 18:25:29 - haproxy日志配置、Proxies配置以及调度算法
一、VIP电脑haproxy日志配置 1、配置listen stats vim /etc/haproxy/haproxy.cfg listen stats mode http bind :stats enable log global stats uri /haproxy-status stats auth haadmin:123456 2、重启haproxy systemctl restart haproxy 3、网页通过绑定的9999端口访问 …...
2024/4/14 18:25:04 - [HNOI2003]激光炸弹
题目描述: 一种新型的激光炸弹,可以摧毁一个边长为R的正方形内的所有的目标。 现在地图上有n(N ≤ 10000)个目标,用整数Xi,Yi(其值在[0,5000])表示目标在地图上的位置,每个目标都有一个价值。 激光炸弹的投放是通过卫星定位的,但…...
2024/4/20 11:40:12 - CNN代码-Residule Block 实现
模块图示 模块介绍 如图左所示,假设输入为x,然后来了一个‘并联’,假设x经过虚线框操作后输出的结果为x1,在汇合的地方输出结果为out,那么outxx1。为了使x和x1能够相加,其两者维度需相同,也就是…...
2024/4/15 3:13:16
最新文章
- 【docker】maven 打包docker的插件学习
docker-maven-plugin GitHub地址:https://github.com/spotify/docker-maven-plugin 您可以使用此插件创建一个 Docker 映像,其中包含从 Maven 项目构建的工件。例如,Java 服务的构建过程可以输出运行该服务的 Docker 映像。 该插件是 Spot…...
2024/5/3 8:50:09 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - c++类的继承方式
在 C 中,类的继承方式有三种:公有继承(public inheritance)、保护继承(protected inheritance)和私有继承(private inheritance)。这些继承方式决定了派生类对基类成员的访问权限。 …...
2024/5/1 9:08:04 - 微信小程序生命周期管理:从数据初始化到事件绑定
作为一个独立的应用开发平台,微信小程序提供了自己的生命周期机制,与我们熟悉的Vue.js框架有一些差异。掌握小程序生命周期的特点和使用技巧,对于开发高质量的小程序应用至关重要。深入理解和掌握小程序生命周期的使用技巧,将有助于我们构建出更加健壮和可维护的小程序应用。 小…...
2024/4/30 14:39:15 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/5/1 17:30:59 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/5/2 16:16:39 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/4/29 2:29:43 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/5/2 9:28:15 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
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/30 9:43:09 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/4/27 17:59:30 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/5/2 15:04:34 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/4/28 1:34:08 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/4/26 19:03:37 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/4/29 20:46:55 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/4/30 22:21:04 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/5/1 4:32:01 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/4/27 23:24:42 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/4/28 5:48:52 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/4/30 9:42:22 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/5/2 9:07:46 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/4/30 9:42:49 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下: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