gpt4 book ai didi

c++ - 为什么嵌套的initializer_list会导致内存泄漏

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:48:31 26 4
gpt4 key购买 nike

最近我将我的项目升级到 Visual Studio 2013。因此现在可以使用 initializer_list 功能。我需要在我的单元测试中初始化测试数据。但是我在使用嵌套的 initialize_lists 时遇到了内存泄漏。

#include <memory>
#include <boost/test/unit_test.hpp>

struct Test_Fixture
{
Test_Fixture()
:test_data({
std::make_shared<std::vector<int>>(std::vector<int>{ 0, 1 }),
std::make_shared<std::vector<int>>(std::vector<int>{ 2, 3, 4 })
}) {}

std::vector<std::shared_ptr<std::vector<int>>> test_data;
};

BOOST_FIXTURE_TEST_CASE( testcase_1, Test_Fixture )
{
BOOST_CHECK(true);
}

输出:

1>  Detected memory leaks!
1> Dumping objects ->
1> {1593} normal block at 0x0051A6E8, 8 bytes long.
1> Data: <` C > 60 F6 43 00 00 00 00 00
1> Object dump complete.

最佳答案

看起来像一个编译器错误: See here

此功能不喜欢将类作为列表项。 See here

关于c++ - 为什么嵌套的initializer_list会导致内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20162873/

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