C++中的std::string::append 和 std::string::push_back() 和 +=操作符对比
要追加字符,可以使用operator +=、append()和push_back()。它们都有助于添加字符,但在实现和应用程序上略有不同。
- Operator +=:追加单参数值。时间复杂度:O(n)
- Append():允许你通过使用多个参数来指定附加的值。时间复杂度:O (n)
- Push_back():允许你一次追加一个字符。时间复杂度:O (1)
以下是我们可以用来比较这三者的一些标准:
完整的字符串
- +=:我们可以使用+=追加整个字符串。
- append():我们也可以使用append()追加整个字符串。
- Push_back:不允许追加完整的字符串。
实现:
输出:
添加String的一部分
- +=:不允许追加字符串的一部分。
- append():允许追加字符串的一部分。
- push_back:不能使用push_back追加字符串的一部分。
实现:
输出:
添加C-string (char*):
- +=:允许添加C-string
- append():它也允许追加C-string
- push_back:不能使用push_back()追加C-string。
实现:
输出:
追加字符数组
- +=:允许追加字符数组
- append():允许追加字符数组。
- push_back:不允许追加字符数组。
实现:
输出:
添加单个字符
- +=:可以使用+=操作符追加单个字符。
- append():允许追加单个字符。
- push_back:允许追加单个字符。
输出:
迭代器范围
- +=:不提供迭代器范围。
- append():提供迭代器范围。
- push_back:不提供迭代器范围。
实现:
输出:
返回值
- +=:返回*this。
- append():返回*this
- push_back:不返回任何东西。
实现:
输出