当前位置:  开发笔记 > 编程语言 > 正文

typedef a std :: string - 最佳实践

如何解决《typedefastd::string-最佳实践》经验,为你挑选了1个好方法。

我正在用标准C++编写一个库来进行语音转换.我现在使用std :: string.但是将来我可能不得不将其更改为其他(std :: wstring或其他).所以我需要以这样的方式编写我的库,以便我可以轻松地切换它.到目前为止,我已经完成了以下工作.

    创建了一个将由所有CPP文件使用的头文件

    为此添加了"typedef std :: string",并在文件中的任何位置使用了新名称.

如果我需要更改类型,我可以简单地更改头文件,它将反映在任何地方.如果有人能看到这是正确的做法,还是有更好的方法可以做到这一点,我会很感激?

谢谢



1> Mark Ransom..:

您可以编写可以使用任何类型的字符串的模板函数,或者对于任何具有正确方法的函数.

如果按照建议执行typedef,则在更改typedef时,将来需要更改所有代码.我建议不要这样做.

编辑:关键是字符串和wstring不可互换.当然,你可以通过改变一行来更新您的图书馆,但是这仅仅是开始 - 改变的typedef意味着你改变你的图书馆的公共API.您必须更改并测试与库交互的所有代码,这可能代表了所涉及的大部分工作.甚至可以通过简单的搜索和替换来更新您的库,然后typedef就没有给您买任何东西.

坚持每个人都知道和理解的标准类型是有价值的.

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有