gpt4 book ai didi

c++ - 为什么 string::begin 存在?

转载 作者:行者123 更新时间:2023-12-03 18:29:04 26 4
gpt4 key购买 nike

如果我没理解错的话,string::begin 返回指向字符串中第一个元素的指针。如果是这样,我们为什么不直接使用 &str 来获取指针。

是否存在使用 begin 更好的情况,还是我误解了它的功能?

最佳答案

If I understand correctly, string::begin returns the pointer to the first element in the string.

不,它向字符串中的第一个元素返回一个迭代器。它有助于使 std::string 与设计用于标准容器的语言结构(认为模板)兼容。

why wouldn't we just use &str to get the pointer.

一方面,那不是字符串第一个元素的地址吗?假设 str 是一个类型为 std::string 的变量,这将是一个对象的地址,除其他外,(通常)持有指向第一个元素的指针的字符串。 (如果你指的是 c_str() 成员函数,那么可以这样做,但它不是一个特别清晰和可读的语法。)

关于c++ - 为什么 string::begin 存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61283098/

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