明白了知识还不够,在实际操作中,c++的指针需要你手动进行内存管理,分配和释放内存。
如果不小心出现内存泄漏或者悬垂指针等问题,那就完犊子了。
马上,程序就会崩溃,或者出现一些你不想看到的错误。
你这个内存管理还必须得管理得恰到好处,因为指针可以进行一系列的算术运算,存在着潜在的指针越界和数组溢出等问题。
要是一个不小心,超出了指针所指向的内存空间,那又双完犊子了,程序又双要崩溃了,或者又双要产生莫名其妙的错误。
指针和指针还不一样,有很多种类型,例如vd、t、car等等。
每种指针都有自己独特的用途和限制,开发者必须要根据情况选择正确的指针,不能乱点鸳鸯谱,否则就会出现类型不匹配和编译错误之类的问题。
除此以外,c++中的指针语法还特别复杂,像是取地址符、解引用符、箭头符号等等,全都属于看了名字就不想去了解的东西。
——小剧场开始——
你美滋滋地坐在电脑面前,快乐地打开了你最爱的编辑器,非常嗨皮地要写一段程序。
但你贱不娄搜地选择了c++。
你开始编写一个函数。
在函数中,你使用了一个指针。
一个没注意,你粗心大意地把指针的地址给改错了,可你认为它是对的。
不知为何,你才思如泉涌,如有神助地写完了代码。
你编译程序,接着运行它。
然后,程序就像平常一样,又双叒叕崩溃了。
此时,你嗨皮的心情已经荡然无存。
你在心中暗骂:特喵的,我明明已经把指针弄对了啊!
无奈之下,你只能回到编辑器,逐行逐句地检查每一行代码。
就这样,一晚上过去了,你的黑眼圈耷拉到了腮帮子上,但可怜的你却一直找不到任何错误。
你恼羞成怒地删掉了所有代码,准备重新写一遍这个程序。
光棍地删掉了一切,你准备重新开始。
你点开指针,在输入数值的时候,你猛然发现:
卧了个大槽!
原来只是个地址没写对!
我竟然因为这个de了一晚上bg!
还特喵的没de出来!
——小剧场结束——
c++就是一个脆皮大宝贝,功能确实强大,但它动不动就崩溃。
就好像是你隔着电脑屏幕呼吸声音突然大了点,里头的c++就要崩溃。
所以说,只有高手才能玩得转c++。
赵德彬前世头顶上寸草不生,就跟c++有很大的关系。
如果他平常只是要用ava、pytn这种语言编程,他绝不至于秃到那种程度。
没办法,实在是需要动脑的地方太多了,时刻需要不停思考、计算,调用脑海之中相关知识,不秃真是没天理。
而ava,相比于c++,则是“秀发友好”得多了!