gpt4 book ai didi

c++ - 如果从自定义分配器调用,则 std::cout 不输出 (Visual Studio 2019)

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:38:09 25 4
gpt4 key购买 nike

<分区>

我正在尝试研究如何使用自定义分配器。我已经编写了一个从 std::allocator 继承的基本分配器,并且正在使用 std::cout 来尝试跟踪它的执行。这是代码:

#include <vector>
#include <iostream>
struct myIntAllocator : std::allocator<int>
{
int* allocate(size_t size)
{
std::cout << "bar" << std::endl;
return new int[size];
}
};
int main()
{
std::cout << "foo" << std::endl;
std::vector<int, myIntAllocator> ints;
ints.push_back(1);
}

输出:

foo

我希望它也能输出 bar,但这并没有出现。

我是否缺少让 std::cout 以这种方式工作的魔法?还是我误解了分配器的使用方法?

我在 Visual Studio 2019 中使用 MSVC v142,编译器优化关闭。

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