vector<bool> 不是stl容器!!!!!!

本文探讨C++标准库中vector的特性,特别是vector::reference,它是一个可以与bool兼容的代理类型。通过示例说明operator[]返回的reference是一个右值,而非左值,这意味着对它的修改会直接影响到原始vector元素。了解这些细节对于高效和安全地使用vector至关重要。
  1. vector 不是stl容器 不一定顺序存储
  2. vector::reference是一个可以和bool兼容的代理数据结构 vector
  3. operator[]返回的reference是一个右值就不是个左值(lvalue of T)
    如:
    vector num(5,false);
    auto a = nums[0];//a 不是bool型 而是vector::reference
    a = true ;
    //nums[0]就变成true了!!!!!

std::vector cplusplus.com 解释

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值