idealvin / gitalk

comments for Alvin's blog
0 stars 0 forks source link

fastream | Documents for Coost #80

Open idealvin opened 1 year ago

idealvin commented 1 year ago

https://coostdocs.github.io/cn/co/other/fastream/

include: co/fastream.h.

fastream fastream 用于取代 C++ 标准库中的 std::ostringstream。std::ostringstream 性能较差,实测比 snprintf 慢好几倍,fastream 在不同平台测试比 snprintf 快 10~30 倍左右。

constructor 1. constexpr fastream() noexcept; 2. explicit fastream(size_t cap); 3. fastream(fastream&& s) noexcept; 1, 默认构造函数,创建一个空的 fastream 对象,内部不会分配任何内存。

2, 用参数 cap 指定 fastream 的初始容量,即预分配 cap 字节的内存。 3, 移动构造函数,不会进行内存拷贝。 示例 fastream s; // 空对象, 未分配内存 fastream s(1024); // 预分配 1k 内存 fastream x(std::move(s)); // 移动构造, s 变成空对象 #operator= fastream& operator=(fastream&& s) noexcept; fastream 只支持 move 赋值操作,s 的内容被转移到 fastream 中,s 自身变成空对象。