gpt4 book ai didi

c++ string += 是如何实现的?

转载 作者:行者123 更新时间:2023-11-28 03:27:12 24 4
gpt4 key购买 nike

我只是好奇c++ string +=的实现。

这会导致性能损失吗?哪个应该更快?

String a = "xxx";
a += "(" + "abcd" + ")"

String a = "xxx";
a.append("(");
a.append("abcd");
a.append(")");

最佳答案

鉴于它们在标准中具有逐字逐句的相同规范,因此很难设想一个合理的实现,它们的运行时成本会有所不同:

21.4.6 basic_string modifiers [string.modifiers]

21.4.6.1 basic_string::operator+= [string::op+=]

basic_string& operator+=(const basic_string& str);

1 Effects: Calls append(str.data, str.size()).

2 Returns: *this

...

21.4.6.2 basic_string::append [string::append]

basic_string& append(const basic_string& str);

1 Effects: Calls append(str.data(), str.size()).

2 Returns: *this.

关于c++ string += 是如何实现的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13597170/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com