遇到的string的一個bug,貌似就是溢位吧
阿新 • • 發佈:2021-10-13
今天在水題時遇到一個bug
如圖。
a顯然被更改了
但當把ans放到s前面的時候發現對ans沒有了影響
下面我們進行下測試
輸入123456789.....直到ans的值被更改
到現在a仍未被更改
我們可以看到ans已經被更改為56
而如果我們再對a進行賦值,我們可以發現,它們的地址儘管沒有改變,但s似乎變成了空的
我們再次修改一下程式碼
我再懷疑是不是
發現儘管s和a之間分配的空間大小為24位元組,但當我a隨便輸一個數的時候,s都變成了0
我們看看string的定義
可以得知string其實是basic_string
其實這些我一個也沒看懂(doge)
至於再深入研究,估計得到編譯原理了
-------------------------------------------
個性簽名:曾經的我們空有一顆望海的心,卻從沒為前往大海做過真正的努力
如果覺得這篇文章對你有小小的幫助的話,記得在右下角點個“推薦”哦,博主在此感謝!