当你在std :: vector< bool>?上调用data()时会发生什么? [英] What happens when you call data() on a std::vector<bool>?

查看:116
本文介绍了当你在std :: vector< bool>?上调用data()时会发生什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

C ++ 11在 std :: vector 上实现了 data()成员函数,指向内存数组的指针。这是否意味着模板专业化 std :: vector< bool> 有这个成员吗?由于这个专门化不会以 bool * 的形式存储数据,因此调用 data()可以得到什么样的行为

C++11 has implemented data() member function on std::vector, which gives you a pointer to the memory array. Does this mean the template specialization std::vector<bool> have this member as well? Since this specialization doesn't store the data in terms of bool *, what kind of behavior can you expect from calling data() ?

推荐答案

page 明确地记录类表明专业化不提供此方法。

This page documenting the class explicitely indicates that the specialization does not provide this method.


The specialization has the same member functions as the unspecialized vector, except data, emplace, and emplace_back, that are not present in this specialization.

这篇关于当你在std :: vector&lt; bool&gt;?上调用data()时会发生什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆