【发布时间】:2012-12-05 05:13:37
【问题描述】:
从函数返回字符串时会有延迟吗?
背景信息: 我做了一个简单的程序,输入字母并输出这些字母的任何字谜。它从包含数千个单词的非常大的文本文件中检查单词。它基本上将每个单词放入一个向量中并检查它是否是字母的变位词,如果是则将其打印出来。它通常在 1-15 秒内完成,我很满意。
当我尝试将其转换为一个返回作为字谜的字符串的函数时,出现了问题。即使它仍然以相同的速度“cout”这个词,但在这之后大约需要 20 秒才能真正返回字符串和 cout。
为什么实际返回一个字符串比输出它要花这么长时间,我该如何解决?
如有必要,我可以发布我的代码;
编辑: 我将项目作为 zip 文件上传,因为它有 15 个文件。
http://www.mediafire.com/?c2gizpgcweg3iy4
为看到我的代码中的车祸而感到震惊。
【问题讨论】:
-
请贴出代码。没有代码就很难解决问题......
-
可能很多东西超出了范围,销毁需要一些时间?
-
您是否在编译时进行了优化?这可以对标准库算法、容器和字符串产生巨大影响。
-
有没有办法简化代码,把它简化为一个最小的例子,可以用来重现问题?
-
我不太确定怎么做,因为当我只使用一个简短的单词列表来检查时,我不会遇到同样的问题。