亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

【金秋打卡】第6天 2022重學C++5

標簽:
C++

第一模块:

课程名称:百度大牛带你结合实践重学C++

章节:4-1 ~ 4-4

讲师姓名:quickzhao


第二模块:

课程内容:

4-1 ~ 4-4小节主要讲解了字符语法的常见陷阱和C语言在数组上的退化问题


第三模块:

学习心得:

4-1 字符语法的常见陷阱

'':单引号表示【字符】

"":双引号表示【字符串】

eg:

char c1='yes' // 编译器编译时可以运行通过,但会发生截断,不同编译器的截断方式不一样

char c1='a' // 这种就是正常的声明和定义一个字符


"y" 等价于 'y','\0' // C中所有的字符串都是用【\0】进行结尾的


补充C++中的基本数据类型:

布尔型bool

字符型char

整型int

浮点型float

双浮点型double

无类型void

宽字符型wchar_t

基本数据类型的特点是:没有【值的引用】,直接就是【值本身】


eg:

const char* c2 = "/" // 语法合法,因为【"/"】是一个字符串,属于引用类型,引用类型存在【值引用】,所以,上面的效果本质上就是将"/"】的值引用赋值给c2这个指针。引用赋值给指针是允许的。


const char* c2 = '/' // 语法不合法,因为【'/'】是一个字符,字符不存在值引用,所有这里就会报错

改造:

char c2  = '/';

const char* c2p = &c2 //通过取地址符号,获取【'/'】值所在的地址(地址本质上也是一个引用)


C语言的特点:

高级语言中的低级语言,小巧,高效,接近底层


C++对C语言在字符、字符串上的优化:

C++中引入了string类型,用于表示字符串,在语法形式上对【字符】和【字符串】进行了区分。


C++是C的超集,所以在C++中可以使用【C的方式进行编程】,但是是不推荐的,能用更好清晰的方式,就尽量用更清晰的方式去编程。


C++ 中通过string来规避C中的字符、字符串陷阱,eg:


4-3 C语言指针和数组的常见问题

C语言:

1.数组做为函数参数时存在退化行为,即:数组会退化为【数组的指针】

eg:

https://img1.sycdn.imooc.com//6362897900018cdd07830409.jpg

问题的根本原因:在语法层面避免【大对象】作为参数进行传递

从而节约内存空间


C++中的解决方案:

STL容器与引用的使用,实现底层包装,保证效率的同时保证语法上的简单安全。

两种写法的区别:

https://img1.sycdn.imooc.com//63628989000167c007060559.jpg

https://img1.sycdn.imooc.com//6362899200016f0704940281.jpg


补充:

1.引用和指针的区别:

引用可以拿到对象的所在地址;

指针不但可以拿到对象的所在地址,还能对地址进行计算;


处理二维数组,eg:

https://img1.sycdn.imooc.com//6362899d0001304f04260347.jpg


第四模块:

课程截图:

https://img1.sycdn.imooc.com//636289280001d78b07580221.jpg

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消