
关于跨平台CString源码的一个探讨
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本文深入探讨了跨平台CString源码的设计与实现细节,分析其在不同操作系统间的兼容性及优化策略。
// =============================================================================//
// 文件:StdString.h //
// 作者:Joe OLeary (参考外部帮助在评论中标记) //
如果您发现此代码中的任何错误,请告知我:
jmoleary@earthlink.net
最新版本的此代码应始终可通过以下链接获取:
这个头文件声明了CStdStr模板。该模板继承自标准C++库基本字符串(basic_string<>)模版,并添加了如下便利功能:
- 完整的一套MFC CString函数,包括隐式转换
- 对COM IStream接口的写入/读取操作支持
- 用于STL算法的功能对象
从该模板中实例化两个类:CStdStringA和CStdStringW。名称CStdString是根据UNICODE宏设置定义这两个中的一个。
此头文件还声明了我们自己的版本MFC/ATL UNICODE-MBCS转换宏,我们的版本与Microsoft的完全相同以促进移植性。
注意:
如果您在使用该代码时构建的是MFC或ATL,则应首先包含afx.h或atlbase.h,视情况而定。
贡献者名单:
许多人帮助我改进和完善了这个类。这是一个很长的列表,但要为自己辩护的话,在我对此代码进行了两次重大重写之后许多改进变得必要起来。其他人则帮助提高了CString外观。
这些人包括(按时间顺序):
- Pete the Plumber (???)
- Julian Selman
- Chris (of Melbsys)
- Dave Plummer
- John C Sipos
- Chris Sells
- Nigel Nunn
...
(省略部分贡献者名单)
修订历史:
2005年1月10日:感谢Don Beusee指出将长度检查格式化函数映射到无长度检查CRT等价物的危险性,并激励我优化Replace()实现。
...
版权:
2002 Joseph M. OLeary。此代码完全免费使用,可以在任何地方使用、重写或重构它。如果您能利用软件获利,恭喜您!我喜欢资本主义。如果以任何形式重新分发,请尽量保留本通知。
============
全部评论 (0)


