文章目录

  • 一、C++11简介
  • 二、列表初始化
    • 2.1. 容器如何支持花括号初始化
  • 三、变量类型的推导
    • 3.1. 编译时类型推导:auto
    • 3.2. decltype类型推导
    • 3.3. 运行时类型推导 typeid
  • 四、final、override
  • 五、新增容器
  • 六、范围for循环
  • 七、默认成员函数控制
    • default
    • delete
  • 八、右值引用
    • 8.1. 右值引用的移动语义
    • 8.2. 移动语义需要注意的问题
    • 8.3. 右值引用引用左值
      • move的用法和注意事项
    • 8.4. 总结
    • 8.5. 完美转发


一、C++11简介

在2003年C++标准委员会曾经提交了一份技术勘误表(简称TC1),使得C++03这个名字已经取代了C++98称为C++11之前的最新C++标准名称。不过由于TC1主要是对C++98标准中的漏洞进行修复,语言的核心部分则没有改动,因此人们习惯性的把两个标准合并称为C++98/03标准。从C++0x到C++11,C++标准10年磨一剑,第二个真正意义上的标准珊珊来迟。相比于C++98/03,C++11则带来了数量可观的变化,其中包含了约140个新特性,以及对C++03标准中约600个缺陷的修正,这使得C++11更像是从C++98/03中孕育出的一种新语言。相比较而言,C++11能更好地用于系统开发和库开发、语法更加泛华和简单化、更加稳定和安全,不仅功能更强大,而且能提升程序员的开发效率。

阶段内容
C with classes类及派生类、公有和私有成员、类的构造和析构、友元、内联函数、赋值运算符重载等
C++1.0添加虚函数概念,函数和运算符重载,引用、常量等
C++2.0更加完善支持面向对象,新增保护成员、多重继承、对象的初始化、抽象类、静态成员以及const成员函数
C++3.0进一步完善,引入模板,解决多重继承产生的二义性问题和相应构造和析构的处理
C++98C++标准第一个版本,绝大多数编译器都支持,得到了国际标准化组织(ISO)和美国标准化协会认可,以模板方式重写C++标准库,引入了STL(标准模板库)
C++03C++标准第二个版本,语言特性无大改变,主要:修订错误、减少多异性
C++05C++标准委员会发布了一份计数报告(Technical Report,TR1),正式更名C++0x,即:计划在本世纪第一个10年的某个时间发布
C++11增加了许多特性,使得C++更像一种新语言,比如:正则表达式、基于范围for循环、auto关键字、新容器、列表初始化、标准线程库等
C++14对C++11的扩展,主要是修复C++11中漏洞以及改进,比如:泛型的lambda表达式,auto的返回值类型推导,二进制字面常量等
C++17在C++11上做了一些小幅改进,增加了19个新特性,比如:static_assert()的文本信息可选,Fold表达式用于可变的模板,if和switch语句中的初始化器等
C++20制定ing

二、列表初始化

在C++98中,标准允许使用花括号{}对数组元素进行统一的列表初始值设定。比如:

int array1[] = {1,2,3,4,5};
int array2[5] = {0};

对于一些自定义的类型,却无法使用这样的初始化。比如:

vector<int> v{1,2,3,4,5};

就无法通过编译,导致每次定义vector时,都需要先把vector定义出来,然后使用循环对其赋初始值,非常不方便。C++11扩大了用大括号括起的列表(初始化列表)的使用范围,使其可用于所有的内置类型和用户自定义的类型,使用初始化列表时,可添加等号(=),也可不添加。

  • 内置类型的列表初始化
int main(){ // 内置类型变量int x1 = {10};int x2{10};int x3 = 1+2;int x4 = {1+2};int x5{1+2};// 数组int arr1[5] {1,2,3,4,5};int arr2[]{1,2,3,4,5};// 动态数组,在C++98中不支持int* arr3 = new int[5]{1,2,3,4,5};// 标准容器vector<int> v{1,2,3,4,5};//等号可以不用写map<int, int>= m{{1,1}, {2,2,},{3,3},{4,4}};return 0;}
  • 自定义类型的列表初始化
class Point
{
public:Point(int x = 0, int y = 0): _x(x), _y(y){}
private:int _x;int _y;
};
int main()
{Pointer p{ 1, 2 };return 0; 
}

2.1. 容器如何支持花括号初始化

以vector为例(list等其他容器也是类似),其中有个构造函数是使用initializer_list构造的。initializer_list是系统自定义的类模板,该类模板中主要有三个方法:begin()、end()迭代器以及获取区间中元素个数的方法size(),它只能使用花括号进行赋值。

std::initializer_list<int> list;
size_t n = list.size(); // n == 0
list = { 1, 2, 3, 4, 5 };
n = list.size(); // n == 5
list = { 3, 1, 2, 4 };
n = list.size(); // n == 4

在这里插入图片描述

容器支持花括号列表初始化,本质上是增加了一个initializer_list的构造函数,initializer_list支持接收一个花括号的列表。

#include <initializer_list>
template<class T>
class Vector {
public:// ... Vector(initializer_list<T> l): _capacity(l.size()), _size(0){_array = new T[_capacity];for(auto e : l)_array[_size++] = e;}Vector<T>& operator=(initializer_list<T> l) {delete[] _array;size_t i = 0;for (auto e : l)_array[i++] = e;return *this;} // ...
private:T* _array;size_t _capacity;size_t _size;
};

三、变量类型的推导

3.1. 编译时类型推导:auto

作用:简化类型写法
缺点:可读性变差
auto是编译时,根据初始化表达式类型进行推导的.因此,auto对运行时的类型推导是无能为力的.

使用auto可以在不知道需要实际类型怎么给,或者类型写起来特别复杂的情况下进行变量定义:
在这里插入图片描述

3.2. decltype类型推导

auto使用的前提是:必须要对auto声明的类型进行初始化,否则编译器无法推导出auto的实际类型。但有时候可能需要根据表达式运行完成之后结果的类型进行推导,因为编译期间,代码不会运行,此时auto也就无能为力。
因此decltype是根据表达式的实际类型推演出定义变量时所用的类型。

int main()
{int a = 10;int b = 20;// 用decltype推演a+b的实际类型,作为定义c的类型decltype(a+b) c;cout<<typeid(c).name()<<endl;return 0; 
}void* GetMemory(size_t size) {return malloc(size);
}
int main()
{// 如果没有带参数,推导函数的类型cout << typeid(decltype(GetMemory)).name() << endl;// 如果带参数列表,推导的是函数返回值的类型,注意:此处只是推演,不会执行函数cout << typeid(decltype(GetMemory(0))).name() <<endl;return 0;
}

auto和decltype不支持作为函数的参数:

  1. 语法原因,是编译时推导的
  2. 函数编译成指令,需要先建立起栈桢,那么就需要计算变量的大小,那么就需要提前知道变量的类型

3.3. 运行时类型推导 typeid

C++ 98支持的RTTI(运行时类型识别)
typeid只能查看类型不能用其结果定义类型,因为一个函数栈桢的建立需要计算其变量的大小,如果是运行时推导,那么就无法计算大小
运行时类型识别的缺陷是降低程序运行的效率

  1. 推演表达式类型作为变量的定义类型
  2. 推演函数返回值的类型

四、final、override

final:修饰虚函数,表示该虚函数不能再被继承
在这里插入图片描述

override:检查派生类虚函数是否重写了基类某个虚函数,如果没有重写编译报错
在这里插入图片描述


五、新增容器

新增加容器—静态定长数组array、单链表forward_list以及unordered系列。
在这里插入图片描述
在这里插入图片描述


六、范围for循环

注意当容器存的对象比较大,或者这个对象要做深拷贝时,比如string,最好给&和const来减少拷贝提高效率,容器支持范围for的原理:范围for会被编译器替换成迭代器,也就意味着支持迭代器就支持范围for。


七、默认成员函数控制

C++中的空类,会默认生成一些成员函数,但是这些函数如果程序员自己编写了,就不会默认生成。然而有时候又需要默认生成,这就容易造成混乱,因此C++11,提供两个关键字,让程序员自己决定是否需要编译器生成。

default

在默认函数定义或者声明时加上=default,可以显示的指示编译器生成该函数的默认版本,用=default修饰的函数称为显示缺省函数

delete

在C++98之中,将函数设置成private并且不给定义,其它人就无法调用。
在C++11之中,只需要在函数声明加上=delete即可,该语法指示编译器不生成对应函数的默认版本,常用于防止拷贝。
在这里插入图片描述


八、右值引用

C++98中提出了引用的概念,引用即别名,引用变量与其引用实体公共同一块内存空间,而引用的底层是通过指针来实现的,因此使用引用,可以提高程序的可读性。
为了提高程序运行效率,C++11中引入了右值引用,右值引用也是别名,但其只能对右值引用。

左值:使用空间
右值:使用内容

一般认为:

  1. 可以修改的,普通类型的变量,因为有名字,可以取地址,都认为是左值。
  2. const修饰的常量,不可修改,只读类型的,理论应该按照右值对待,但因为其可以取地址(如果只是const类型常量的定义,编译器不给其开辟空间,如果对该常量取地址时,编译器才为其开辟空间),C++11认为其是左值。
  3. 如果表达式的运行结果是一个临时变量或者对象,认为是右值。
  4. 如果表达式运行结果或单个变量是一个引用则认为是左值。
#include<iostream>
using namespace std;
int main()
{//左值引用int a = 0;int& b = a;//右值引用int x = 1, y = 2;int&& c = 10;int&& d = x + y;
}

总结:

  1. 不能简单地通过能否放在=左侧右侧或者取地址来判断左值或者右值,要根据表达式结果或变量的性质判断。
  2. 能得到引用的表达式一定能够作为引用,否则就用常引用。
  3. 左值引用不能直接引用右值,但是const左值引用可以,右值引用不能引用左值,但是move函数可以将左值转化为右值。
    在这里插入图片描述

C++11对右值进行了严格的区分(除了右值就是左值):
纯右值(基本类型的常量,或临时对象): 比如 a+b, 100。
将亡值(自定义类型的临时对象): 比如函数按值返回一个对象。

8.1. 右值引用的移动语义

由于左值引用和右值引用的类型不同,所以它们的函数构成重载。
在这里插入图片描述

C++11提出了移动语义概念,即:将一个对象中资源移动到另一个对象中的方式,可以有效的缓解拷贝构造对象时资源浪费的情况。

class String
{
public:String(const char* str = ""):_str(new char[strlen(str) + 1]){strcpy(_str, str);cout << "String(const char *str="")" << endl;}//正常构造String(const String& str):_str(new char[strlen(str._str) + 1]){//深拷贝,代价比较大strcpy(_str, str._str);cout << "正常构造,深拷贝,代价比较大" << endl;}//移动构造String(String&& str)//是右值:_str(str._str){str._str = nullptr;//直接进行资源转移,空间的交换,代价小,效率高cout << "移动构造,空间的交换,代价小,效率高" << endl;}//移动赋值String& operator=(String&& str){cout << " 移动赋值,代价小,效率高" << endl;if (_str != str._str){_str = str._str;str._str = nullptr;}return *this;}//正常赋值String& operator=(const String& str){if (_str != str._str){cout << "正常赋值,深拷贝,效率低" << endl;_str = new char[strlen(str._str) + 1];strcpy(_str, str._str);}return *this;}~String(){if (_str){delete[]_str;cout << "~String()" << endl;}}private:char* _str;
};String Getstring(const char* str)
{String ret(str);//该函数返回一个临时对象,是右值return ret;
}void test()
{String s1("左值");cout << endl;String s2(s1);cout << endl;String s3(Getstring("右值-将亡值"));cout << endl;String s4(move(s1));cout << endl;String s5("左值");s5 = Getstring("右值-将亡值");cout << endl;}int main()
{test();return 0;
}

在这里插入图片描述

移动构造和移动赋值是把将亡值(右值)的空间直接给要赋值的对象,因为将亡值出了作用域就析构了,所以与其让其白白析构,还不如将其空间利用起来,给要赋值的对象,这样就避免了深拷贝带来的效率降低。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在C++11的容器中,也增加了右值移动拷贝的插入:
在这里插入图片描述

8.2. 移动语义需要注意的问题

注意:

  1. 移动构造函数的参数千万不能设置成const类型的右值引用,因为const的资源无法转移,会导致移动语义失效。
  2. 在C++11中,编译器会为类默认生成一个移动构造,该移动构造为浅拷贝,因此当类中涉及到资源管理时,用户必须显式定义自己的移动构造。

8.3. 右值引用引用左值

按照语法,右值引用只能引用右值,但右值引用一定不能引用左值吗?因为:有些场景下,可能真的需要用右值去引用左值实现移动语义。当需要用右值引用引用一个左值时,可以通过move函数将左值转化为右值。该函数名字具有迷惑性,它并不搬移任何东西,唯一的功能就是将一个左值强制转化为右值引用,然后实现移动语义。
在这里插入图片描述

move的用法和注意事项

int main()
{String s1("hello world");String s2(move(s1));String s3(s2);return 0; }
  1. 被转化的左值,其生命周期并没有随着左值的转化而改变,即std::move转化的左值变量不会被销毁。
  2. STL中也有另一个move函数,就是将一个范围中的元素搬移到另一个位置。
  3. move将s1转化为右值后,在实现s2的拷贝时就会使用移动构造,此时s1的资源就被转移到s2中,s1就成为了无效的字符
class Person
{
public:Person(const String &name):_name(name)//调用String的拷贝构造函数{}Person(const Person& pl):_name(pl._name){cout << "Person(const Person& pl)" << endl;}private:String _name;
};

在这里插入图片描述

对上述代码进行优化,增加右值引用:

class Person
{
public:Person(const String &name):_name(name)//调用String的拷贝构造函数{}Person(const Person& pl):_name(pl._name){cout << "Person(const Person& pl)" << endl;}Person(const Person&& pl):_name(pl._name)//pl中的string是左值,所以还是调用的深拷贝	{cout << "Person(const Person&& pl)" << endl;}private:String _name;
};

在这里插入图片描述

继续优化,使用move函数:

class Person
{
public:Person(const String &name):_name(name)//调用String的拷贝构造函数{}Person(const Person& pl):_name(pl._name){cout << "Person(const Person& pl)" << endl;}Person(Person&& pl):_name(move(pl._name))//pl既然是一个将亡值,那么它的资源也是一个将亡值{cout << "Person(Person&& pl)" << endl;}private:String _name;
};

在这里插入图片描述

8.4. 总结

在这里插入图片描述

C++98中引用作用:因为引用是一个别名,需要用指针操作的地方,可以使用指针来代替,可以提高代码的可读性以及安全性。
C++11中右值引用主要有以下作用:

  1. 实现移动语义(移动构造与移动赋值)
  2. 给中间临时变量取别名
int main()
{string s1("hello");string s2(" world");string s3 = s1 + s2; // s3是用s1和s2拼接完成之后的结果拷贝构造的新对象stirng&& s4 = s1 + s2; // s4就是s1和s2拼接完成之后结果的别名return 0; }
  1. 实现完美转发

8.5. 完美转发

完美转发是指在函数模板中,完全依照模板的参数的类型,将参数传递给函数模板中调用的另外一个函数。

void Func(int x) {// ......
}
template<typename T>
void PerfectForward(T t) {Fun(t);
}

PerfectForward为转发的模板函数,Func为实际目标函数,但是上述转发还不算完美,完美转发是目标函数总希望将参数按照传递给转发函数的实际类型转给目标函数,而不产生额外的开销,就好像转发者不存在一样。
所谓完美:函数模板在向其他函数传递自身形参时,如果相应实参是左值,它就应该被转发为左值;如果相应实参是右值,它就应该被转发为右值。这样做是为了保留在其他函数针对转发而来的参数的左右值属性进行不同处理(比如参数为左值时实施拷贝语义;参数为右值时实施移动语义)。

C++11通过forward函数来实现完美转发, 比如:

void Fun(int& x) { cout << "lvalue ref" << endl; }
void Fun(int&& x) { cout << "rvalue ref" << endl; }
void Fun(const int& x) { cout << "const lvalue ref" << endl; }
void Fun(const int&& x) { cout << "const rvalue ref" << endl; }
template<typename T>
void PerfectForward(T&& t) { Fun(std::forward<T>(t)); }
int main()
{PerfectForward(10); // rvalue refint a;PerfectForward(a); // lvalue refPerfectForward(std::move(a)); // rvalue refconst int b = 8;PerfectForward(b); // const lvalue refPerfectForward(std::move(b)); // const rvalue refreturn 0;
}

如果不使用forward函数,则会把右值变成左值。

在这里插入图片描述

在这里插入图片描述

资料参考:
C++11常用语法-壹
第三节 列表初始化—std::initializer_list

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

相关文章

  1. LeetCode11.盛最多水的容器

    【中等】给你 n 个非负整数 a1&#xff0c;a2&#xff0c;…&#xff0c;an&#xff0c;每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线&#xff0c;垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线&#xff0c;使得它们与 x 轴共同构成的容器可以…...

    2024/5/3 13:06:19
  2. JUC简单学习笔记

    juc并发编程 juc简介 java.util .concurrent&#xff0c;Java并发包 笔试题目 手写单例模式手写冒泡排序生产者消费者变种题目 进程/线程回顾 进程/线程是什么&#xff1f; **进程&#xff1a;**进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作…...

    2024/4/14 5:58:54
  3. Java面试题总结-01

    1.和equals的区别&#xff1a; 既可以比较基本数据类型&#xff0c;也可以进行比较引用数据类型。 如果比较的是基本数据类型&#xff0c;那么比较的就是数值的大小。如果比较的是引用数据类型&#xff0c;那么比较的就是地址是否相同。即是判断是否是同一个对象 equals是Ob…...

    2024/4/18 6:09:49
  4. Python数据分析(一)—— Pandas快速入门

    Pandas快速入门1 数据加载2 数据探索&#xff08;1&#xff09;Series&#xff08;2&#xff09; DataFrame3 数据合并&#xff08;1&#xff09; merge&#xff08;2&#xff09;concat&#xff08;3&#xff09;join4 数据处理&#xff08;1&#xff09;去重&#xff08;2&am…...

    2024/4/20 12:18:25
  5. Go——基础

    文章目录函数面向对象封装接口继承多态空接口错误panicrecover包init远程包协程共享内存CSP多路选择广播cancelonce有完成即返回对象池sync.Pool函数 go语言中函数的地位举足轻重&#xff0c;使用函数式编程的方式&#xff0c;方法名首字母大写先体会一下函数式编程&#xff0…...

    2024/4/17 16:09:36
  6. 【1-1数组】数组数据接口分析总结

    转公众号&#xff1a;代码随想录 数组是非常基础的数据结构&#xff0c;在面试中&#xff0c;考察数组的题目一般在思维上都不难&#xff0c;主要是考察对代码的掌控能力 也就是说&#xff0c;想法很简单&#xff0c;但实现起来 可能就不是那么回事了。 首先要知道数组在内存…...

    2024/4/14 5:59:29
  7. 尚硅谷MySQL课后练习题笔记

    尚硅谷MySQL课后练习题 视频地址&#xff1a;【宋红康】MySQL数据库&#xff08;mysql安装/基础/高级/优化&#xff09;_哔哩哔哩_bilibili 数据库资源地址&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1D1mNUa9bTCcED3SothrgpQ 提取码&#xff1a;1328 一、基本的…...

    2024/4/14 5:59:24
  8. 小程序上滑下滑效果

    首先上视频 &#xff0c;csdn上传视频还要上传到腾讯视频或者B站才能发&#xff0c;太捞了&#xff0c;视频之前录好了&#xff0c;弄成gif图将就看吧。 就像图里展示的那样&#xff0c;我要的是这种效果&#xff0c;滑动一下就进入下个页面&#xff0c;而不是划一下就动一点点…...

    2024/4/21 11:25:34
  9. css常用标签集合(上)

    css背景 background-color{十六进制&#xff1a;如#b0c4de;/RGB"rgb(255,0,0)"/颜色名称"red"} background-image{url(/image/bg.gif); /*背景图片*/ } background-repeat{repeat; /*重复排列-网页默认*/ no-repeat; /*不重复排列*/ repeat-x; /*在x轴重…...

    2024/5/3 19:23:31
  10. LOIC安全测试工具

    LOIC安全测试工具 一、什么是LOIC&#xff1f; LOIC是一款专著于web应用程序的Dos/DDOS攻击工具&#xff0c;它可以用TCP数据包、UDP数据包、HTTP请求于对目标网站进行DDOS/DOS测试&#xff0c;不怀好意的人可能利用LOIC构建僵尸网络。 LOIC是一个非常好的DOS/DDOS攻击工具&…...

    2024/4/7 16:42:47
  11. 11-代理模式

    文章目录代理模式的基本介绍静态代理基本介绍应用实例静态代理优缺点动态代理基本介绍JDK 中生成代理对象的 APICglib 代理基本介绍实现步骤应用实例代理模式的变体代理模式的基本介绍 ● 1&#xff09;代理模式&#xff1a;为一个对象提供一个替身&#xff0c;以控制对这个对…...

    2024/4/30 21:28:06
  12. redis常用指令

    1、key的基本操作 删除指定key del key 获取key是否存在 exists key 获取key的类型 type key 排序 sort 改名 rename key newkey renamenx key newkey key 扩展操作&#xff08;时效性控制&#xff09; 为指定key设置有效期 expire key seconds pexpire key milliseconds ex…...

    2024/4/14 5:59:09
  13. MMDet逐行代码解读之正负样本采样Sampler

    文章目录前言1、构造一个简单的sampler2、BaseSampler类3、RandomSampler类3.1 sample方法3.2 _sample_pos方法3.2 _sample_neg方法总结前言 本篇是MMdet逐行解读第四篇&#xff0c;代码地址&#xff1a;mmdet/core/bbox/samplers/random_sampler.py。随机采样正负样本主要针对…...

    2024/4/14 5:59:09
  14. 造https client轮子的记录

    最近我们的服务器需要嵌入HTTP服务&#xff0c;需要支持httpclient和httpserver&#xff0c;httpclient要同时支持https。 我们现在服务器进程之间的网络通信使用的是自有实现&#xff0c;它使用io多路复用技术。因为http只是在tcp之上进行明文传输而已&#xff0c;所以实现也包…...

    2024/4/14 5:59:14
  15. 传奇客户端wil和pak文件的目录与作用

    今天给你们详细讲解一下wil和pak文件的目录及作用&#xff0c;不管后缀是wil、wis格式还是pak、pdb格式都是一样的 ChrSel.pak 游戏登陆界面&#xff0c;选择人物界面图 Effect.pak 沙的门和墙破碎图 Magic.pak 魔法效果图 Magic2.pak 补充魔法效果图,召…...

    2024/5/1 18:43:05
  16. 理解Java虚拟机(九)垃圾收集器的选择权衡

    本系列均是周志明老师《深入理解Java虚拟机》第三版的学习笔记。 选择垃圾收集器时&#xff0c;只用一句"必须因地制宜&#xff0c;按需选用"&#xff0c;有点敷衍&#xff0c;所以详细介绍如何选择合适的垃圾收集器 一、Epsilon收集器 在G1、Shenandoah或者ZGC这些…...

    2024/4/14 5:59:34
  17. 【远程调用框架概述 一】基于HTTP和RPC的远程调用方式

    无论是微服务还是分布式服务&#xff08;都是SOA&#xff0c;都是面向服务编程&#xff09;&#xff0c;都面临着服务间的远程调用。之前只会使用相关框架&#xff0c;但其实没有体系的了解过这一块内容&#xff0c;从这篇Blog开始详细学习远程调用的方式、原理、常用框架&…...

    2024/4/20 22:50:53
  18. 【AcWing寒假每日一题2022】今年寒假不学习,学习只刷算法题之--AcWing 1875. 贝茜的报复

    题目描述 农夫约翰和奶牛贝茜喜欢在业余时间互相出数学题。 约翰给贝茜出了一道相当难的问题&#xff0c;导致她没能解决。 现在&#xff0c;她希望通过给约翰出一道有挑战性的难题来报复他。 贝茜给了约翰一个表达式 (BESSIE)(GOES)(MOO)(BESSIE)(GOES)(MOO)(BESSIE)(GOES)(M…...

    2024/4/14 5:59:24
  19. PyTorch学习笔记

    import torchv torch.__version__ cu torch.cuda.is_available()k torch.tensor([1.2, 3.4]).dtypex torch.tensor((1, 2, 3), dtypetorch.float32, requires_gradTrue) y x.pow(2) z y.sum() z.backward() # 参数必须是个标量 print(x.grad)print(x, y, z) # %% import…...

    2024/4/19 23:39:48
  20. Flutter 也能玩 React 的 Redux?

    前言 React 开发者都知道Redux 在开发大中型 Web 应用的重要性, Flutter 作为 React 的高仿者,连 setState 都搬过来了,自然也需要把 Redux 也搬过来——好东西要一起分享。 Redux 简介 Redux 是一个单向数据流的状态管理架构,通过它能够简化应用开发、测试和维护。Flutt…...

    2024/5/1 8:00:46

最新文章

  1. 机器学习:深入解析SVM的核心概念【二、对偶问题】

    对偶问题 **问题一&#xff1a;什么叫做凸二次优化问题&#xff1f;而且为什么符合凸二次优化问题&#xff1f;**为什么约束条件也是凸的半空间&#xff08;Half-Space&#xff09;凸集&#xff08;Convex Set&#xff09;半空间是凸集的例子SVM 约束定义的半空间总结 **问题二…...

    2024/5/3 19:38:23
  2. 梯度消失和梯度爆炸的一些处理方法

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

    2024/3/20 10:50:27
  3. 鹅厂实习offer

    #转眼已经银四了&#xff0c;你收到offer了吗# 本来都打算四月再投实习了&#xff0c;突然三月初被wxg捞了&#xff08;一年前找日常实习投的简历就更新了下&#xff09;&#xff0c;直接冲了&#xff0c;流程持续二十多天&#xff0c;结果是运气还不错&#xff0c;应该是部门比…...

    2024/5/1 13:19:09
  4. GIS与数字孪生共舞,打造未来智慧场景

    作为一名数字孪生资深用户&#xff0c;近日我深刻理解到GIS&#xff08;地理信息系统&#xff09;在构建数字孪生体中的关键作用。 数字孪生技术旨在构建现实世界的虚拟镜像&#xff0c;而GIS则是这一镜像中不可或缺的空间维度框架和导航灯塔。数字孪生的核心是通过数字化方式…...

    2024/5/2 2:35:02
  5. 【外汇早评】美通胀数据走低,美元调整

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

    2024/5/1 17:30:59
  6. 【原油贵金属周评】原油多头拥挤,价格调整

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

    2024/5/2 16:16:39
  7. 【外汇周评】靓丽非农不及疲软通胀影响

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

    2024/4/29 2:29:43
  8. 【原油贵金属早评】库存继续增加,油价收跌

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

    2024/5/2 9:28:15
  9. 【外汇早评】日本央行会议纪要不改日元强势

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

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

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

    2024/4/27 14:22:49
  11. 【外汇早评】美欲与伊朗重谈协议

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

    2024/4/28 1:28:33
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

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

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

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

    2024/4/27 17:59:30
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

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

    2024/5/2 15:04:34
  15. 【外汇早评】美伊僵持,风险情绪继续升温

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

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

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

    2024/4/26 19:03:37
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

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

    2024/4/29 20:46:55
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

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

    2024/4/30 22:21:04
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

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

    2024/5/1 4:32:01
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

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

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

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

    2024/4/28 5:48:52
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

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

    2024/4/30 9:42:22
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

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

    2024/5/2 9:07:46
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

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

    2024/4/30 9:42:49
  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