相关疑难解决方法(0)

C++ 中的 std::expected 是什么?

std::expected在最受尊敬的 stackoverflow 答案之一中,我找到了模板类用法 的示例: What are coroutines in C++20?

同时我在 cppreference.com 上找不到任何关于此类的提及。你能解释一下它是什么吗?

c++ error-handling c++-faq c++23 std-expected

34
推荐指数
1
解决办法
2万
查看次数

Cppcheck :(错误)资源泄漏

我正在用C进行学习,无法识别内存泄漏情况

当我使用cppcheck检查代码时:get(错误)资源泄漏:f

enum bus_type {
    MEDIA_BUS_UNKNOWN,
    MEDIA_BUS_VIRTUAL,
    MEDIA_BUS_PCI,
    MEDIA_BUS_USB,
};

static enum bus_type get_bus(char *device)
{
        char file[PATH_MAX];
        char s[1024];
        FILE *f;

        if (!strcmp(device, "/sys/devices/virtual"))
                return MEDIA_BUS_VIRTUAL;

        snprintf(file, PATH_MAX, "%s/modalias", device);
        f = fopen(file, "r");
        if (!f)
                return MEDIA_BUS_UNKNOWN;
        if (!fgets(s, sizeof(s), f))       /* <-- (error) Resource leak: f */
                return MEDIA_BUS_UNKNOWN;
        fclose(f);

        if (!strncmp(s, "pci", 3))
                return MEDIA_BUS_PCI;
        if (!strncmp(s, "usb", 3))
                return MEDIA_BUS_USB;

        return MEDIA_BUS_UNKNOWN;
}
Run Code Online (Sandbox Code Playgroud)

我觉得我在内存管理方面缺少一些东西。

c memory-leaks

3
推荐指数
1
解决办法
4155
查看次数

标签 统计

c ×1

c++ ×1

c++-faq ×1

c++23 ×1

error-handling ×1

memory-leaks ×1

std-expected ×1