STL vector<bool>中的flip方法(3)

来源:互联网 发布:西安研究所待遇 知乎 编辑:程序博客网 时间:2024/05/17 05:55
原文地址:http://www.cplusplus.com/reference/vector/vector-bool/flip/
public member function
<vector>

std::vector<bool>::flip

  • C++98
  • C++11
void flip() noexcept;
Flip bits
Flips all values in the container: All instances of true become false, and all instances of false become true.

翻转容器内的所有值,即所有的true变为false,所有的false变为true;


例子:

<span style="color:#993399;">#include <iostream>#include <vector>using namespace std;int main(){vector<bool> vb={true,false,false,true};cout<<"vb=";for(bool b:vb){cout<<b<<" ";}cout<<endl;vb.flip();</span><span style="color:#ff0000;">cout<<"vb.flip()"<<endl;</span><span style="color:#993399;">for(bool b:vb){cout<<b<<" ";}cout<<endl;}</span>
结果截图:



Parameters

none

Return value

none

Example

1234567891011121314151617181920212223
// vector<bool>::flip#include <iostream>#include <vector>int main (){  std::vector<bool> mask;  mask.push_back(true);  mask.push_back(false);  mask.push_back(false);  mask.push_back(true);  mask.flip();  std::cout << std::boolalpha;  std::cout << "mask contains:";  for (unsigned i=0; i<mask.size(); i++)    std::cout << ' ' << mask.at(i);  std::cout << '\n';  return 0;}
Edit & Run


Output:
mask contains: false true true false

Complexity

Linear in size.

与数组大小线性相关。


Iterator validity

No changes.

Data races

The container is accessed.

容器将被访问。

All elements are modified.

所有的元素都将被修改。


Exception safety

No-throw guarantee: this member function never throws exceptions.

该成员方法不会抛出异常。


//翻译的不好的地方请多多指导,可以在下面留言或者点击左上方邮件地址给我发邮件,指出我的错误以及不足,以便我修改,更好的分享给大家,谢谢。

转载请注明出处:http://blog.csdn.net/qq844352155

2014-8-20

于GDUT




0 0
原创粉丝点击