小编use*_*877的帖子

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

最近我将我的项目升级到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);
}
Run Code Online (Sandbox Code Playgroud)

输出:

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.
Run Code Online (Sandbox Code Playgroud)

c++ memory-leaks initializer-list c++11

5
推荐指数
1
解决办法
377
查看次数

标签 统计

c++ ×1

c++11 ×1

initializer-list ×1

memory-leaks ×1