QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 87|回复: 0
打印 上一主题 下一主题

2024深度学习主流框架对比

[复制链接]
字体大小: 正常 放大

796

主题

1

听众

1970

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-3-29 16:31 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
背景:在刷题代码随想录时发现参考代码使用了swap函数,但是是用来交换一个vector容器中的两个元素的;但是我依稀记得标准模板库中vector函数自带的swap函数是用来交换两个容器内所有的元素的;1 O0 D- z; J! Q& T/ @# V
一、STL中的swap()函数:注意:这是头文件<algorithm>中包含的函数,他是配合容器来使用的  I% F) t% Q0 W+ y
功能描述:互换两个容器的元素函数原型1:swap(container c1, container c2)函数原型2:container c1.swap(container c2)参数:容器1的名字 + 容器2的名字作用方式:函数swap()真正的作用,其实并没有对内存动手脚,就是把v1和v2这两个容器名的指向换了一下补充说明:swap()有一个很实用的功能,但是需要其他函数的辅助,这个功能是【收缩内存】,具体提及这个功能在【202_36_vector容器_互换容器】这一节内二、std::swap()函数:注意:在题目代码随想录中使用的swap函数是这个,这是标准命名空间中提供的函数; U1 O! D; G8 }" r# p1 K- X4 R
功能描述:交换两个变量的值实现方式1:创建临时空间,用来交换两个变量的值int temp = a;a = b;b = temp;实现方式2:不建立临时空间,同样可以实现交换两个变量的值# 加减法a = a + b;b = a - b;a = a - b; # 补充:该方法可以交换整型和浮点型数值的变量,但在处理浮点型的时候有可能出现精度的损失# 乘除法a = a * b;b = a / b;a = a / b; 补充1:与加减法类似,可以处理整型和浮点型变量,但在处理浮点型变量时也存在精度损失问题,而且乘除法比加减法要多一条约束,即b必不为0补充2:可能经验上的某种直觉告诉我们,加减法和乘除法可能会溢出,而且乘除的溢出会特别严重。其实不然,采用这两种方法都不会溢出。以加减法为例,第一步的加运算可能会造成溢出,但它所造成的溢出会在后边的减运算中被溢出回来。实现方式3:采用二进制,使用异或# 异或法a ^= b;       //a=a^bb ^= a;       //b=b^(a^b)=b^a^b=b^b^a=0^a=aa ^= b;       //a=(a^b)^a=a^b^a=a^a^b=0^b=b # 补充:异或法可以完成对整型变量的交换,但是对于浮点型变量它无法完成交换。* `) P2 e5 P4 T& ]( q: r2 m

" ^8 ]: I: o( B) ]  B) G; C) g& m/ W' x1 K( z2 c1 z
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2024-5-10 17:34 , Processed in 0.357679 second(s), 50 queries .

回顶部