gpt4 book ai didi

c++ - 为什么 snprintf 比 ostringstream 快,还是这样?

转载 作者:IT老高 更新时间:2023-10-28 21:38:49 26 4
gpt4 key购买 nike

我在某处读到 snprintf 比 stringstream 快。有没有人有任何经验?如果是,为什么会更快。

最佳答案

std::ostringstream 不是要求 变慢,但在实现时通常会变慢。 FastFormat's website has some benchmarks .

流的标准库设计比 snprintf 支持的要多得多。该设计是可扩展的,并包括由公开公开的方法调用的 protected virtual 方法。这允许您从流类之一派生,并确保如果您重载 protected 方法,您将获得所需的行为。我相信编译器可以避免 virtual 函数调用的开销,但我不知道有任何编译器这样做。

此外,流操作通常在内部使用可增长的缓冲区;这意味着相对较慢的内存分配。

关于c++ - 为什么 snprintf 比 ostringstream 快,还是这样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/445315/

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