文件名称:strings:C ++ 1114中的字符串实现技术示例
文件大小:11KB
文件格式:ZIP
更新时间:2024-06-03 03:09:40
C++
弦乐 只是另一个字符串库。 没有认真的目的,而是练习和提高我的C ++技能的一种方法。 内容 该库旨在实现字符串数据结构的最常见实现:所有CS课程中的基本数据结构,但是该实现是许多技术和优化的主题,以提高其在不同情况下的性能。 尽管为提供足够的性能以供实际使用需要,但任何CS课程通常都不会涵盖此技术。 复制时写入字串 通常适用于字符串。 该技术包括延迟缓冲区复制(因此分配),直到“ cloned”字符串请求写操作为止。 ,我有一个简单的牛弦示例作为要点,是出于教学目的而编写的。 编写它时并不是出于性能考虑(在std::shared_ptr使用std::shared_ptr进行缓冲区共享),而是为了理解该技术。 GNU stdlibc ++的std::string通常是使用这种技术构建的,但是C ++ 11引入了对迭代器无效要求的更改,从而阻止了使用COW。 短字符串优化 包括在字符串类
【文件预览】:
strings-master
----.gitignore(3KB)
----LICENSE.md(1KB)
----README.md(5KB)
----.gitattributes(2KB)
----strings()
--------tagged_ptr.hpp(1KB)
--------utility.hpp(1KB)
--------main.cpp(393B)
--------bitchunk.hpp(4KB)
--------tagged_string.hpp(7KB)
----CMakeLists.txt(182B)