C 比较字符串操作速度
C++ comparing string operation speed
我有3个std :: string a,b和ab。
a是什么,b是什么,ab是a和b在一起。
这些选项要快得多(为什么):
int main(){
string A = "abc", B = "def", AB = "abcdef";
A += B;
cout<<A<<endl;
}
output: abcdef
或
int main(){
string A = "abc", B = "def", AB = "abcdef";
A = AB;
cout<<A<<endl;
}
output: abcdef
?
我之所以问这个,是因为我有一个程序可以执行多次操作,我需要知道哪个程序更快,但是我还没有测试输入。
我正在为C 11
,因此问题基本上归结为两个作业之间的比较:
A+=B;
和
A=AB;
好吧,从理论上讲,我希望 =版本会更有效,因为您必须仅复制一半的字符。这是假设A最初是用足够的空间分配的,可以容纳更长的字符串而无需重新分配。
相关文章:
- 为什么在popback()操作之后,它仍然打印完整的矢量
- 重载操作程序时出错>>用于类中的字符串 memebr
- 为什么在读取文件大小时文件IO速度会发生变化
- 对字符串进行位操作
- 我可以在 C++ 中的函数体之外进行操作吗?
- MPI突然停止了对多个核心的操作
- 为什么std::condition_variable notify_all的工作速度比notify_one快(对于随机请
- 如何在信号处理程序和普通函数中对全局变量进行互斥读写操作
- 文件系统:复制功能的速度秘诀是什么
- 对字符数组中的元素执行逐位操作
- C++二进制文件 I/O 操作速度变慢.数据库如何处理二进制文件?
- 使用来自串行端口的字符串数据来操作振镜扫描仪在更高的速度下会出错
- C 比较字符串操作速度
- 如何优化此数学操作以换取速度
- 在Visual C++中测量操作速度的最佳方法
- CArray和CMap中的操作速度
- 写入速度比操作本身慢
- FILE_FLAG_IO_BUFFERING会减慢同步读取操作的速度
- Openmp与密集IO操作,如何提高速度
- 在执行操作时将元素处理到内存块的速度