gpt4 book ai didi

c++ - std::cout 是否完全在堆栈上运行?

转载 作者:可可西里 更新时间:2023-11-01 18:25:48 25 4
gpt4 key购买 nike

在 C++ 中,当我像这样使用 std::cout 时:

std::cout << "myString" << std::endl;

是否有任何东西会被 std::cout 分配到?或者 std::cout 会在堆栈 上执行所有操作(意味着 std::cout 及其底层函数不会执行任何new/malloc/etc...) ?

我想知道大量使用 std::cout 是否会导致一些堆碎片

最佳答案

在这个具体示例中,您的代码不会导致堆上的任何直接分配。然而,任何方法的实现都可以使用堆来完成它的部分工作。只要方法实现在其自身之后正确清理,这就完全没问题。

此逻辑适用于 operator<<(std::ostream&, T) 等方法.

关于c++ - std::cout 是否完全在堆栈上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10285471/

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