4

Valgrindからこの結果を取得しています:

    ==24810== HEAP SUMMARY:
    ==24810==     in use at exit: 0 bytes in 0 blocks
    ==24810==   total heap usage: 9 allocs, 6 frees, 0 bytes allocated
    ==24810== 
    ==24810== LEAK SUMMARY:
    ==24810==    definitely lost: 0 bytes in 0 blocks
    ==24810==    indirectly lost: 0 bytes in 0 blocks
    ==24810==      possibly lost: 0 bytes in 0 blocks
    ==24810==    still reachable: 0 bytes in 0 blocks
    ==24810==         suppressed: 0 bytes in 0 blocks

メモリがリークされていないと表示されます。良い結果だと思います。しかし、これらの9つの割り当て、6つの無料についてはどうでしょうか。どこかでメモリを解放していないようです。コードを確認したところ、3つのグローバルconstポインターがあります。たぶん、それらはエラーとは見なされませんでしたが、解放されていないものとして印刷されましたか?

これについて心配する必要がありますか、それともコードをバグなしと見なす必要がありますか?皆さん、ありがとうございました。....ポインタとメモリ割り当てに関するANSICの煩わしさをすべて理解しようとしているだけです:)))

マキシム

4

1 に答える 1

0

valgrindWebサイトhttp://valgrind.org/docs/manual/quick-start.html#quick-start.interpret

「間違いなく失われました」:プログラムがメモリリークしています-修正してください!

「おそらく失われた」:ポインタを使って面白いことをしている場合を除いて、プログラムはメモリリークを起こしている(ヒープブロックの中央を指すようにポインタを移動するなど)。

したがって、あなたの場合、あなたのプログラムは良いはずです。

于 2012-12-12T23:30:07.733 に答える