所以我正在制作自定义编辑控件.为了跟踪编辑控件的内容,我使用了动态分配的char数组.
哪种方法更好?为什么?
对于当今计算机的文本缓冲区,您确实可以只使用单个连续缓冲区(例如向量),因为 CPU 足够快,足以使插入时间(o(n)使用这种简单方法的操作)仍然是一个可行的选择。
在过去,当计算机速度慢数千倍时,一种常见的简单方法是将文本保留在缓冲区中,但有一个与光标位置相对应的“洞”,使插入成为一项o(1)操作,并将字符从洞的一侧移动到缓冲区。其他当光标在文本中移动时(基本上使光标移动成为一种o(k)操作,其中k是跳过的字符数)。
对于为程序员设计的编辑器,文本将被细分为逻辑行,因此使用基于行指针数组的方法似乎是合适的。即使这会让一些跨行操作有些烦人,一些基于行的操作也会变得更容易......显示中的行编号成为一个微不足道的问题,特别是如果您不需要实现换行(无论如何代码都很可怕)通过截断和水平滚动来代替。
| 归档时间: |
|
| 查看次数: |
1748 次 |
| 最近记录: |