我正在寻找一个简单的公共方法或运算符,它允许我重复一些字符串n次.我知道我可以使用for循环来编写它,但我希望在必要时避免使用循环,并且某处应该存在一个简单的直接方法.
String str = "abc";
String repeated = str.repeat(3);
repeated.equals("abcabcabc");
Run Code Online (Sandbox Code Playgroud)
相关:
repeat string javascript 通过重复给定次数的另一个字符串来创建NSString
编辑
当他们不是完全必要的时候我试着避免循环,因为:
即使它们隐藏在另一个函数中,它们也会增加代码行数.
读我的代码的人必须弄清楚我在循环中做了什么.即使它被评论并且具有有意义的变量名称,它们仍然必须确保它没有做任何"聪明"的事情.
程序员喜欢把聪明的东西放在for循环中,即使我把它写成"只做它想要做的事情",这并不排除有人出现并增加一些额外的聪明"修复".
他们经常容易出错.对于涉及索引的循环,往往会产生一个错误.
For循环经常重用相同的变量,增加了很难找到范围错误的机会.
For循环增加了bug猎人必须看的地方数量.
在当前的C++标准(C++ 03)中,关于文本本地化的规范太少,这使得C++开发人员在使用本地化文本时比以往更加艰难(当然,C++ 0x标准稍后会有所帮助).
去年我研究了这个,我唯一确定的是你应该使用std::wstring或std::basic_string<ABigEnoughType>操纵应用程序中的文本.我停止了我的研究,因为我的工作更多的"文本显示"的问题(在实时3D的情况下),但我想有管理的纯粹的C本地化的文本++不仅仅是这一点,"使用Unicode"的一些最佳做法.
所以,欢迎所有最佳实践,建议和信息(跨平台让我觉得很难)!