C++ 11 带来的一些语言新特性——第二部分


微小但是重要的语法提升


Move语义和Rvalue-reference

C++11最重要的一个特征就是支持搬迁语义(move semantic)。这项特征更进一步进入了C++主要设计目标内,用于避免非必要拷贝(copy)和临时对象(temporary)。这项新特性十分复杂,这里只进行简明扼要的叙述。考虑以下代码:

void create_and_insert(std::set<X>& coll){X x;				//create an instance of type X......coll.insert(x);		//insert it into the passed collection	
}

这里我们将新对象插入coll中,后者提供一个成员函数可以为传入的元素建立一个内部拷贝(internal copy):

namespace std{template <typename T,....> class set {public:insert(const T& v);	//copy value of v};
}

这样的行为是有用的,因为集合提供value semantic及安插“临时对象”(temporary object)或“安插后会被使用或被改动的对象”的能力。
上述内容筛选自《C++标准库》第二版原书原句。我作为一个萌新稍微做一下解读,就是使用者应该能选择扔进set的是引用还是一份拷贝,也就是改变内部的值会不会对外部值产生影响。
这样的操作在传入的对象很大的时候尤其有用。比如,你正打算传入一个很大的字符串集。
考虑以下代码:

	X x;coll.insert(x);				//insert copy of x......coll.insert(x+x)			//insert copy of Rvalue......	coll.insert(std::move(x));	//moves (or copies) contains of x into coll

有了声明于的std::move(),x可以被move而不是被copy。然而std::move()本身并不做任何move的行为,它只是将实参转换成一个所谓的Rvalue-reference,那是一种被声明为X&&的类型,这种类型表示这个右值不再被使用,你可以“偷取其中的内容了”。现在我们为set提供一个重载版本,使它可以“偷取”x中的内容:

class X{public:X(const X& lvalue);		//copy constructorX(const X&& rvalue);	//move constructor
}

举个例子,string的move构造函数只是将既有的内部字符数组(existing internal character array)赋予(assign)新对象,而非建立一个新array然后复制所有元素。同样的情况也适用于所有集合class;不再为所有元素建立一份拷贝,只需要将内部内存(internal memory)赋予新对象就行。如果move构造函数不存在,那么copy构造函数就会被用上。
另外,你最好确保销毁对于被“偷走”的对象的引用,比如将指向它们的指针赋值为nullptr。虽然将“move semantic”被调用的对象的内容清除掉严格来讲并非必要,但是不这样做的话会导致这个机制整体失去作用。事实上,C++标准库的class保证了在被调用了一次move之后,对象处于有效但不确定的状态。也就是说,在move之后你可以对它赋新值,但是当前值是不确定的。STL容器则保证了被搬迁内容者,搬移后其值为空。
同样的,对于任何nontrivial class 都该同时提供一个copy assignment 和一个 move assignment操作符:

class X{public:X& operator= (const X& lvalue);		//copy assignment operatorX& operator= (X&& rvalue);			//move assignment operator
}

对于string和集合,上述操作符可以简单交换(swapping)内部内容和资源就好。然而你也应该清除*this的内容,因为这个对象可能持有资源(比如lock),因而最好很快释放它们。再强调一次,move semantic 并不要求你这样做,但是C++标准库容器所提供的这些有着更优质的质量。

Rvalue 和 Lvalue reference 的重载规则

Rvalue 和 Lvalue reference 的重载规则(overloading rule)如下:

如果你只实现 void foo(X&)
而没有实现 void foo(X&&)
那么行为如同C++98:foo可因为Lvalue而不能因Rvalue被调用
如果你只实现 void foo(const X&)
而没有实现 void foo(x&&)
那么行为如同C++98:foo可因Lvalue也可因Rvalue被调用
如果你实现 void foo(X&)void foo(X&&)
或者你实现 void foo(const X&)void foo(X&&)
那么除了可以因Lvalue和Rvalue被调起之外,你还可以分别控制因这两种值而被调起时的行为。
其中“为Rvalue服务”的版本被允许且应该提供move语义,也就是说,它可以偷取实参内部的状态和资源。
如果你只实现了 void foo(X&&)
而没有实现其他方法
那么当你尝试用Lvalue调起它的时候,会产生编译时错误

返回Rvalue Reference

你不需要也不应该move返回值。C++ standard指出,对于以下代码:

X foo(){X x;...return x;
}

保证有下列行为:

  • 如果X有一个可以取用的copy或move构造函数,编译器可以选择略去其中的copy版本。这也就是所谓的return value optimization。这个特性甚至在C++11以前就获得了大多数编译器的支持。
  • 否则,如果X有一个move构造函数,X就被move。
  • 否则,如果X有一个copy构造函数,X就被copy
  • 否则,爆出一个编译时错误
    也请注意,如果返回的是一个local nonstatic对象,那么返回其rvalue reference是不对的
X&& foo()

新式的字符转字面常量

从C++11起,你可以定义raw string 和 mutibyte/wide-charactor 等字符串字面常量。

raw string literal

Raw String 允许我们定义字符串序列(character sequence),做法是确切写下其内容使之成为一个raw character sequence。于是你可以剩下很多用来装饰特殊字符的escape符号。
Raw String 以R"(开头,以)"结尾",可以内涵line break。例如一个用来表示“两个反斜线和一个n的寻常字符串常量可以定义为如下:”

"\\\\n"

也可以定义为:

R"(\\n)"

如果要在RawString内写出)",可使用定义符(delimiter)。因此,一个Raw String的完整语法是:

R"delim(...)delim"

其中delim是一个字符串序列,最多16个基本字符,不可以含反斜线、空格和小括号。
举个例子,下面的raw string literal:

R"nc(a\b\nc()")nc";

等同于以下的寻常字符串常量:

"a\\\n		b\\nc()\"\n"

定义正则表达式(regular expression)时raw string literal特别有用

编码的(encoded)String Literal

只要使用编码前缀(encoding prefix),你就可以为string literal 定义一个指定的字符编码(character encoding):

  • u8定义一个UTF-8编码。UTF-8 string literal以UTF-8编定的某个字符起头,字符类型为 const char。
  • u定义一个string literal,带着类型为 char16_t 的字符。
  • U定义一个string literal,带着类型为 char32_t 的字符。
  • L定义一个wide string literal,带着类型为wchar_t 的字符。

例如:

L"hello"	//defines 'hello' as wchar_t string literal

Raw string 开头的那个R的前面还可以放置一个编码前缀。


关键字noexcept

C++11提供了关键字noexcept,用于指明某个函数无法——或不打算——抛出异常。例如:

void foo() noexcept;

声明了foo()不打算抛出异常。若有异常未在foo()内被处理——即如果foo抛出异常——程序会被终止,然后std::terminate()被调用并默认调用std::abort()。
noexcept瞄准了empty exception specification(空异常明细)所显现的许多问题。以下引自[N3051:DeprExcSpec]:

  • 运行期检验(Runtime checking):C++异常明细乃是被检验与运行期而非编译期,所以它无法对程序员保证每个异常都被处理。运行期失败的处理(调用std::unexcepted())为时已晚,无济于事。
  • 运行期开销(Runtime overhead):运行期检验会令编译器产出额外代码并妨碍优化
  • 无法用于泛型(Unusable in generic code):泛型码往往不可能知道哪一类异常可能被“操作template实参”的函数抛出,所以我们无法写出正确的异常明细。

由于noexcept不需要stack unwiding,程序员从今可以表现“绝不抛出”而不需要额外开销。这使C++不再鼓励使用异常明细。
你甚至可以指明在某种条件下函数不抛出异常。例如,对任意类型Type,全局性的swap()通常被定义如下:

void swap(Type& x, Type& y) noexcept(nowxcept(x.swap(y))) {x.swap(y);
}

这里,在noexcept(…)中你可以指定一个Boolean条件,若符合就不抛出异常。换句话说“指明noexcept而不带条件”就是noexcept(true)的简洁版本。
本例的条件是noexcept(x.swap(y)),用到的是noexcept操作符会在“小括号内的表达式不可抛出异常”时产生true。因此这个全局性swap()也就是表明,如果第一实参所调用的成员函数swap()不抛出异常,他就不会抛出异常。
再举一个例子,“接受value pair 为实参”的move assignment操作符声明如下:

pair& operator= (pair&& p)noexcept(is_nothrow_move_assignable<T1>::value &&is_nothrow_move_assignable<T2>::value);

这里用到了 is_nothrow_move_assignable type trait,后来用检查,针对被传入的类型,是否可能存在一个不抛出异常的move assignment操作符。
根据 [N3279:LibNoexcept] 所载,noexcept以下列保守方式被引入程序中:

  • 每一个库函数…它们…不可抛出异常且不存在任何未定义行为——例如因先觉日傲剑被打破而造成——应被表示为无条件的noexcept。
  • 如果程序库提供的swqp函数,move构造函数或是move assignment操作符…可借由noexcept操作符证明不抛出异常,就应该被表示为带有条件的noexcept。任何其他函数都不该使用带条件的noexcept。
  • 程序库的任何析构函数都不该抛出异常。它必须使用隐式供应的(onothrowing)异常明细。
  • 程序库函数乳沟被设计用来与C code兼容…可被表示为一个无条件的noexcept。
    注意,noexcept很慎重地不适用于任何带先决条件(若违反会导致不明确行为)的C++函数。因此程序库得以提供一个”安全模式“,在函数被误用时抛出”先决条件违反“异常。
查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 搜索

    一、概述 1、基本思想及策略 分治法的设计思想是:将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。 分治策略是:对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决,否则将其分解为k个规模较小的子问题,这些…...

    2024/5/2 23:55:24
  2. Spring作业4

    1.spring配置文件(提供对事务的配置) <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context=&quo…...

    2024/5/6 11:22:02
  3. 在Ubuntu18安装ndn-SIM2.7

    通过对资料的查询获取相对应的版本号与ndnsim之间的关系:操作系统 Ubuntu 18ndnSIM ndnSIM-2.7ns-3-dev ndnSIM-ns-3.29pybindgen 0.19.0如果想要安装其他版本,请找到上述条件所对应的版本号即可。 一、安装准备 sudo apt install build-essential libsqlite3-dev libboost-a…...

    2024/4/29 18:09:04
  4. matlab读取labview二进制文件

    labview中有一个写入二进制文件函数,可将数据以二进制形式记录。二进制数据相比文本数据读写速度更快。二进制文件无法直接查看,需要通过另一个程序解析。本文提供一种用matlab解析二进制文件的方法。matlab解析二进制文件核心是fread函数。fileID = fopen(data.bin);%打开文…...

    2024/4/27 8:49:36
  5. ls命令显示结果图解

    原文链接:https://www.jianshu.com/p/b71f3a5af337...

    2024/4/18 14:05:09
  6. 贪心

    一、概述 1、概念 在每个决策点作出在当时看来最佳的选择,即总是遵循某种规则,做出局部最优的选择,以推导出全局最优解(局部最优解->全局最优解) 2、适用条件贪心选择性质:所求问题的整体最优解,可以通过一系列局部最优的选择(贪心选择)来达到。贪心选择可以依赖以…...

    2024/4/24 3:51:25
  7. 淘淘商城第60讲——搭建Solr集群时,报错:org.apache.solr.common.SolrException: Could not find collection : core1

    问题描述 在上一讲搭建Solr集群的过程中,启动每一个Tomcat服务器实例之后,我使用tail -f /usr/local/solr-cloud/tomcat01/logs/catalina.out命令来查看了一下第一个Tomcat服务器的启动日志,发现报了一个如下图所示的异常。而且在访问Solr集群(既访问任何一个Solr节点的首页…...

    2024/4/13 1:21:03
  8. 视图、存储、流程控制

    视图、存储、流程控制视图 视图...

    2024/4/9 2:52:35
  9. SpringBoot项目使用devtools工具实现热部署

    我们在开发SpringBoot项目的时候,由于需要经常进行代码的改动,如果我们频繁地重启项目,这毫无疑问是极其浪费时间和电脑性能的,所以我们可以使用devtools工具来实现SpringBoot项目的热部署效果,代码改动后即时生效,节省大量的开发时间。一、引入devtools工具的依赖 <!…...

    2024/4/17 16:29:18
  10. “广联达2021校园招聘”笔试

    笔试时间:2020/7/17 19:00 笔试时长:120分钟笔试岗位:测试开发工程师笔试题目:Q1:下面C++中类和对象的关系描述中,错误的是?A、类就是C语言中的结构体类型,对象就是C语言中的结构体变量B、类是具有共同行为的若干对象的统一描述体C、一个对象是类的实例,一个对象必然属…...

    2024/5/2 0:11:05
  11. JS中的this

    JS中的thisthis的概念非严格模式下this指向windowthis指向事件源this指向对象严格模式下能改变this指向的方法call方法apply方法bind方法 this的概念语法:this 值:当前执行代码的环境对象,在非严格模式下,总是指向一个对象,在严格模式下可以是任意值。 w情况说明:只有在函…...

    2024/4/9 2:52:32
  12. PAT甲级真题 1092 To Buy or Not to Buy (20分) C++实现(vector模拟map统计元素数量)

    题目Eva would like to make a string of beads with her favorite colors so she went to a small shop to buy some beads. There were many colorful strings of beads. However the owner of the shop would only sell the strings in whole pieces. Hence Eva must check …...

    2024/4/22 9:26:00
  13. 跨域学习

    什么是跨域 因为浏览器的同源策略(Sameoriginpolicy)造成,同源策略是为了防止浏览器收到XSS,CSFR等攻击;同源也就是协议,域名,以及端口相同,及时是两个不同的域名指向同一个ip地址,也不是同源当前页面 请求页面 是否跨域 原因http://www.domain.com/ http://www.domain…...

    2024/4/16 15:40:25
  14. java23种设计模式——五、适配器模式

    文章目录介绍应用场景优缺点模式实现 源码在我的github和gitee中获取 介绍 适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。 这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口…...

    2024/4/9 2:52:28
  15. Java设计模式--建造者模式

    文章目录概述第一种方式静态内部类 概述 参考标明出处 工厂类模式提供的是创建单个类的模式,也就是它注重创建实例的结果,而建造者模式则是将各种产品集中起来进行管理,用来创建复合对象,所谓复合对象就是指某个类具有不同的属性,其实建造者模式就是抽象工厂模式和最后的客…...

    2024/5/5 10:10:05
  16. 2015卓班《JAVA程序设计》期末考试自做答案

    2015卓班《JAVA程序设计》期末考试自做答案1.B 2.B 3.A 4.D 5.B 6.B 7.A11.C 12.D会出现RuntimeException 3不能打印 13.B 14.C 15.C 16.C 17.D 18.C 19.D 20.B 程序设计 1.注意注释区的知识点 import java.util.HashMap; import java.util.HashSet; import java.util.Iterato…...

    2024/4/9 2:52:27
  17. 70 结构体定义

    70 结构体定义 01 四种结构体定义 #include <stdlib.h> #include <stdio.h>//1 struct persons01 {char name[21];int age; };//2 struct persons02 {char name[21];int age; }psn02 = {"谢琰",46};//3 struct {char name[21];int age; }psn03 = {"…...

    2024/4/9 2:52:25
  18. 『Java』Linux中Java基础开发环境的搭建

    前言永远相信美好的事情即将发生背景 前几天逛阿里云的时候发现自己还有台云服务器,苦思冥想才回忆起是当时为了搭建自己的博客系统才入手,后来因种种原(tu)因(lǎn)被搁置。看着还剩小半年的到期时间,我痛定思痛,痛下决心,痛改前非,痛不欲生,决定重启我的博客计划,…...

    2024/4/27 12:45:47
  19. 跟杨春娟学SpringMVC笔记:第一个Maven的小例子

    跟杨春娟学SpringMVC笔记:第一个Maven的小例子 完成:第一遍 1.当项目很多时,如何进行项目分组存放和显示? 如何创建项目分组? 第一步:点项目右边的三个点一列的按钮,即View Menu 第二步:选中Select a Working Set 第三步:有则选,没有则创建,按New,然后选Java 如何以…...

    2024/4/23 8:37:59
  20. 福昕阅读器手型光标中出现向下的箭头,无法选中文本问题

    福昕阅读器手型光标中出现向下的箭头,无法选中文本问题 解决方案:文件->偏好设置->常规->基本工具 将基本工具中的使用手型工具阅读文章点掉,之后即可正常阅读文献。...

    2024/4/22 2:05:33

最新文章

  1. 云原生周刊:Terraform 1.8 发布 | 2024.5.6

    开源项目推荐 xlskubectl 用于控制 Kubernetes 集群的电子表格。xlskubectl 将 Google Spreadsheet 与 Kubernetes 集成。你可以通过用于跟踪费用的同一电子表格来管理集群。 git-sync git-sync 是一个简单的命令&#xff0c;它将 git 存储库拉入本地目录&#xff0c;等待一…...

    2024/5/7 2:54:57
  2. 梯度消失和梯度爆炸的一些处理方法

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

    2024/5/6 9:38:23
  3. 【项目新功能开发篇】开发编码

    作者介绍&#xff1a;本人笔名姑苏老陈&#xff0c;从事JAVA开发工作十多年了&#xff0c;带过大学刚毕业的实习生&#xff0c;也带过技术团队。最近有个朋友的表弟&#xff0c;马上要大学毕业了&#xff0c;想从事JAVA开发工作&#xff0c;但不知道从何处入手。于是&#xff0…...

    2024/5/3 2:06:18
  4. Mac brew 安装软件

    Mac brew 安装软件 homebrew 速度慢 将brew 切换到国内镜像源 # 速度一般 # 步骤一 cd "$(brew --repo)" git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git# 步骤二 cd "$(brew --repo)/Library/Taps/homebrew/homebr…...

    2024/5/3 9:32:52
  5. 416. 分割等和子集问题(动态规划)

    题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义&#xff1a;dp[i][j]表示当背包容量为j&#xff0c;用前i个物品是否正好可以将背包填满&#xff…...

    2024/5/6 18:23:10
  6. 【Java】ExcelWriter自适应宽度工具类(支持中文)

    工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...

    2024/5/6 18:40:38
  7. Spring cloud负载均衡@LoadBalanced LoadBalancerClient

    LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon&#xff0c;直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件&#xff0c;我们讨论Spring负载均衡以Spring Cloud2020之后版本为主&#xff0c;学习Spring Cloud LoadBalance&#xff0c;暂不讨论Ribbon…...

    2024/5/6 23:37:19
  8. TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案

    一、背景需求分析 在工业产业园、化工园或生产制造园区中&#xff0c;周界防范意义重大&#xff0c;对园区的安全起到重要的作用。常规的安防方式是采用人员巡查&#xff0c;人力投入成本大而且效率低。周界一旦被破坏或入侵&#xff0c;会影响园区人员和资产安全&#xff0c;…...

    2024/5/6 7:24:07
  9. VB.net WebBrowser网页元素抓取分析方法

    在用WebBrowser编程实现网页操作自动化时&#xff0c;常要分析网页Html&#xff0c;例如网页在加载数据时&#xff0c;常会显示“系统处理中&#xff0c;请稍候..”&#xff0c;我们需要在数据加载完成后才能继续下一步操作&#xff0c;如何抓取这个信息的网页html元素变化&…...

    2024/5/7 0:32:52
  10. 【Objective-C】Objective-C汇总

    方法定义 参考&#xff1a;https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...

    2024/5/6 6:01:13
  11. 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

    &#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】&#x1f30f;题目描述&#x1f30f;输入格…...

    2024/5/6 7:24:06
  12. 【ES6.0】- 扩展运算符(...)

    【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数&#xff0…...

    2024/5/7 1:54:46
  13. 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?

    文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕&#xff0c;各大品牌纷纷晒出优异的成绩单&#xff0c;摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称&#xff0c;在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁&#xff0c;多个平台数据都表现出极度异常…...

    2024/5/6 20:04:22
  14. Go语言常用命令详解(二)

    文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令&#xff0c;这些命令可以帮助您在Go开发中进行编译、测试、运行和…...

    2024/5/7 0:32:51
  15. 用欧拉路径判断图同构推出reverse合法性:1116T4

    http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b&#xff0c;我们在 a i a_i ai​ 和 a i 1 a_{i1} ai1​ 之间连边&#xff0c; b b b 同理&#xff0c;则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然&#xff0…...

    2024/5/6 7:24:04
  16. 【NGINX--1】基础知识

    1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息&#xff0c;并安装一些有助于配置官方 NGINX 软件包仓库的软件包&#xff1a; apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...

    2024/5/6 7:24:04
  17. Hive默认分割符、存储格式与数据压缩

    目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限&#xff08;ROW FORMAT&#xff09;配置标准HQL为&#xff1a; ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...

    2024/5/6 19:38:16
  18. 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法

    文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中&#xff0c;传感器和控制器产生大量周…...

    2024/5/6 7:24:03
  19. --max-old-space-size=8192报错

    vue项目运行时&#xff0c;如果经常运行慢&#xff0c;崩溃停止服务&#xff0c;报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中&#xff0c;通过JavaScript使用内存时只能使用部分内存&#xff08;64位系统&…...

    2024/5/7 0:32:49
  20. 基于深度学习的恶意软件检测

    恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞&#xff0c;例如可以被劫持的合法软件&#xff08;例如浏览器或 Web 应用程序插件&#xff09;中的错误。 恶意软件渗透可能会造成灾难性的后果&#xff0c;包括数据被盗、勒索或网…...

    2024/5/6 21:25:34
  21. JS原型对象prototype

    让我简单的为大家介绍一下原型对象prototype吧&#xff01; 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定&#xff0c;每一个构造函数都有一个 prototype 属性&#xff0c;指向另一个对象&#xff0c;所以我们也称为原型对象…...

    2024/5/6 7:24:02
  22. C++中只能有一个实例的单例类

    C中只能有一个实例的单例类 前面讨论的 President 类很不错&#xff0c;但存在一个缺陷&#xff1a;无法禁止通过实例化多个对象来创建多名总统&#xff1a; President One, Two, Three; 由于复制构造函数是私有的&#xff0c;其中每个对象都是不可复制的&#xff0c;但您的目…...

    2024/5/6 7:24:01
  23. python django 小程序图书借阅源码

    开发工具&#xff1a; PyCharm&#xff0c;mysql5.7&#xff0c;微信开发者工具 技术说明&#xff1a; python django html 小程序 功能介绍&#xff1a; 用户端&#xff1a; 登录注册&#xff08;含授权登录&#xff09; 首页显示搜索图书&#xff0c;轮播图&#xff0…...

    2024/5/7 0:32:47
  24. 电子学会C/C++编程等级考试2022年03月(一级)真题解析

    C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...

    2024/5/6 16:50:57
  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