gpt4 book ai didi

c++ - 我需要在 pthread_mutex_destroy 之后使用 delete

转载 作者:太空宇宙 更新时间:2023-11-04 15:08:55 24 4
gpt4 key购买 nike

假设我使用

pthread_mutex_t *m = new pthread_mutex_t;
pthread_mutex_init(m, NULL);

初始化一个互斥体。然后在我完成并调用 pthread_mutex_destroy 之后,我是否需要使用

delete m;

释放所有资源?

最佳答案

您需要释放内存,因为 pthread_mutex_destroy 无法为您完成

为什么 pthread_mutex_destroy 不为你释放内存?因为您可以这样做:

pthread_mutex_t m;
pthread_mutex_init(&m, NULL);

pthread_mutex_destroy(&m); /* Can't free &m. */

您可以使用 valgrind 进行尝试:

==836== LEAK SUMMARY:
==836== definitely lost: 24 bytes in 1 blocks

关于c++ - 我需要在 pthread_mutex_destroy 之后使用 delete,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6883032/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com