您好,登錄后才能下訂單哦!
錯(cuò)誤代碼:
sampleCount VoiceKey::OnBackward (....) { ... int atrend = sgn(buffer[samplesleft - 2]- buffer[samplesleft - 1]); int ztrend = sgn(buffer[samplesleft - WindowSizeInt-2]- buffer[samplesleft - WindowSizeInt-2]); ... }
解釋:
“buffer[samplesleft – WindowSizeInt-2]
” 該表達(dá)式是減去其自身。這個(gè)錯(cuò)誤是由于復(fù)制粘貼代碼引起的,該程序員復(fù)制了一行代碼,卻忘記把 2 改為 1 了。
正確的代碼:
int ztrend = sgn(buffer[samplesleft - WindowSizeInt-2]- buffer[samplesleft - WindowSizeInt-1]);
建議:
復(fù)制粘貼代碼時(shí)千萬要小心。
不建議大家拒絕使用復(fù)制粘貼的方法,畢竟它確實(shí)很有用,使用起來太方便了。但用的時(shí)候千萬要小心,不要著急。
俗話說有備無患。記住復(fù)制粘貼代碼可能會(huì)導(dǎo)致大量的錯(cuò)誤??纯催@些通過 V501 診斷發(fā)現(xiàn) bug 的例子中,有一半的錯(cuò)誤都是由于使用復(fù)制粘貼方法導(dǎo)致的,另外一半是因?yàn)槠磳戝e(cuò)誤。當(dāng)然關(guān)于這個(gè)話題,我們另一篇文章專門寫到它。
當(dāng)你復(fù)制代碼并進(jìn)行修改的時(shí)候,時(shí)刻要記得檢查你是否完全做對(duì)了!千萬別偷懶!
另外,我們還會(huì)討論更多關(guān)于復(fù)制粘貼的話題,我打賭你還沒意識(shí)到這個(gè)問題影響的范圍有多廣,但是我保證會(huì)讓你印象深刻。C++小知識(shí):復(fù)制粘貼代碼千萬要小心
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)億速云的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。