小编str*_*013的帖子

指针是双向迭代器?

我偶然发现了让我完全困惑的事情.

std::reverse() 将双向迭代器作为函数的参数,但是当我传递指向函数的指针时,它似乎工作正常并且实际上反转了字符串.

void reverseFour(char* str) {
    reverse(str, str + strlen(str));
}

int main {
    char *str = "hello";
    str += '/0';
    reverseFour(str);
}
Run Code Online (Sandbox Code Playgroud)

所以,我的问题是,这怎么可能?双向迭代器不是指针,对吧?

c++ pointers iterator

1
推荐指数
1
解决办法
231
查看次数

basic_iostream和iostream之间的区别?

在发布此问题之前,我已经完成了我的研究,并确保没有提出类似的问题.

我正在阅读这篇文章http://www.ntu.edu.sg/home/ehchua/programming/cpp/cp10_io.html关于C++中的流,并且我在蓝色中注意到的链接图中有basic_iostream,在它下面绿色是iostream,basic_ifstream和ifstream等同样如此,

从我读到的是basic_iostream是一个模板类,iostream是basic_iostream的实例,但这是什么意思?

iostream不是像cout,cin和cerr这样的对象,那么它是如何实例化的呢?

c++ io templates stream

-1
推荐指数
1
解决办法
93
查看次数

标签 统计

c++ ×2

io ×1

iterator ×1

pointers ×1

stream ×1

templates ×1