实现注释和取消注释
这是个很简单的功能,但却很有用。SciTE和Notepad++都有一套自己的实现,感觉Notepad++的效果比较好。从它们的配置文件中提取出众多编程语言的注释符号即可。注释分为两类,一类是行注释,另一类块注释。不是每种编程语言都支持这两类注释方式,甚至有的编程语言都不支持可以有注释。当然这个不是很重要,反正所有的信息可以写在配置文件中。
昨天还意外地发现,用boost.lambda对std::basic_string和wxString对象进行==比较时,用VC编译的运行正常,用GCC则一直不正确。一开始还以为是两个编译器对两种字符串对象的内存布局不一样引起不同的结果。最后发现,其实是我自己写的迭代器在std::find/std::find_if中不正常,在GCC编译的程序中,比较谓词根本没有被调用。回想起来当时看到GCC的std::find/std::find_if对于随机迭代器是特化实现的,想想其实我那个迭代器不需要随机迭代器,用双向迭代器就可以了,改了后,一切都正常了!