?? qbitarray.html
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- /home/reggie/tmp/qt-3.0-reggie-5401/qt-x11-commercial-3.0.5/src/tools/qbitarray.cpp:81 -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="Translator" content="Cavendish">
<meta name="Qt zh_CN Documents Website" content="http://www.qiliang.net/qt">
<title>QBitArray類</title>
<style type="text/css"><!--
h3.fn,span.fn { margin-left: 1cm; text-indent: -1cm; }
a:link { color: #004faf; text-decoration: none }
a:visited { color: #672967; text-decoration: none }
body { background: #ffffff; color: black; font-family: "Times New Roman" }
--></style>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr bgcolor="#E5E5E5">
<td valign=center>
<a href="index.html">
<font color="#004faf">主頁</font></a>
| <a href="classes.html">
<font color="#004faf">所有的類</font></a>
| <a href="mainclasses.html">
<font color="#004faf">主要的類</font></a>
| <a href="annotated.html">
<font color="#004faf">注釋的類</font></a>
| <a href="groups.html">
<font color="#004faf">分組的類</font></a>
| <a href="functions.html">
<font color="#004faf">函數</font></a>
</td>
<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table>
<h1 align=center>QBitArray類參考</h1>
<p>QBitArray類提供了一個位數組。
<a href="#details">詳情請見……</a>
<p><tt>#include <<a href="qbitarray-h.html">qbitarray.h</a>></tt>
<p>繼承了<a href="qbytearray.html">QByteArray</a>。
<p><a href="qbitarray-members.html">所有成員函數的列表。</a>
<h2>公有成員</h2>
<ul>
<li><div class=fn><a href="#QBitArray"><b>QBitArray</b></a> ()</div></li>
<li><div class=fn><a href="#QBitArray-2"><b>QBitArray</b></a> ( uint size )</div></li>
<li><div class=fn><a href="#QBitArray-3"><b>QBitArray</b></a> ( const QBitArray & a )</div></li>
<li><div class=fn>QBitArray & <a href="#operator-eq"><b>operator=</b></a> ( const QBitArray & a )</div></li>
<li><div class=fn>uint <a href="#size"><b>size</b></a> () const</div></li>
<li><div class=fn>bool <a href="#resize"><b>resize</b></a> ( uint size )</div></li>
<li><div class=fn>bool <a href="#fill"><b>fill</b></a> ( bool v, int size = -1 )</div></li>
<li><div class=fn>virtual void <a href="#detach"><b>detach</b></a> ()</div></li>
<li><div class=fn>QBitArray <a href="#copy"><b>copy</b></a> () const</div></li>
<li><div class=fn>bool <a href="#testBit"><b>testBit</b></a> ( uint index ) const</div></li>
<li><div class=fn>void <a href="#setBit-2"><b>setBit</b></a> ( uint index )</div></li>
<li><div class=fn>void <a href="#setBit"><b>setBit</b></a> ( uint index, bool value )</div></li>
<li><div class=fn>void <a href="#clearBit"><b>clearBit</b></a> ( uint index )</div></li>
<li><div class=fn>bool <a href="#toggleBit"><b>toggleBit</b></a> ( uint index )</div></li>
<li><div class=fn>bool <a href="#at"><b>at</b></a> ( uint index ) const</div></li>
<li><div class=fn>QBitVal <a href="#operator[]"><b>operator[]</b></a> ( int index )</div></li>
<li><div class=fn>bool <a href="#operator[]-2"><b>operator[]</b></a> ( int index ) const</div></li>
<li><div class=fn>QBitArray & <a href="#operator-and-eq"><b>operator&=</b></a> ( const QBitArray & a )</div></li>
<li><div class=fn>QBitArray & <a href="#operator|-eq"><b>operator|=</b></a> ( const QBitArray & a )</div></li>
<li><div class=fn>QBitArray & <a href="#operator^-eq"><b>operator^=</b></a> ( const QBitArray & a )</div></li>
<li><div class=fn>QBitArray <a href="#operator~"><b>operator~</b></a> () const</div></li>
</ul>
<h2>Related Functions</h2>
<ul>
<li><div class=fn>QBitArray <a href="#operator-and"><b>operator&</b></a> ( const QBitArray & a1, const QBitArray & a2 )</div></li>
<li><div class=fn>QBitArray <a href="#operator|"><b>operator|</b></a> ( const QBitArray & a1, const QBitArray & a2 )</div></li>
<li><div class=fn>QBitArray <a href="#operator^"><b>operator^</b></a> ( const QBitArray & a1, const QBitArray & a2 )</div></li>
<li><div class=fn>QDataStream & <a href="#operator-lt-lt"><b>operator<<</b></a> ( QDataStream & s, const QBitArray & a )</div></li>
<li><div class=fn>QDataStream & <a href="#operator-gt-gt"><b>operator>></b></a> ( QDataStream & s, QBitArray & a )</div></li>
</ul>
<hr><a name="details"></a><h2>詳細描述</h2>
QBitArray類提供了一個位數組。
<p>
<p> 因為QBitArray是一個<a href="qmemarray.html">QMemArray</a>,它通過一個引用計數使用了明顯<a href="shclass.html">共享</a>。
<p> QBitArray是一個特殊的字節數組,它可以訪問單獨的位并且可以在整個位數組上執行為操作(AND、OR、XOR和NOT)。
<p> 位可以通過函數<a href="#setBit">setBit</a>()和<a href="#clearBit">clearBit</a>()來操作,但是它也可以使用索引[]操作符來測試和設置單獨的位。[]操作符比setBit()和clearBit()慢一些,因為在實現單獨位分配中需要一些技巧。
<p> 實例:
<pre>
QBitArray a(3);
a.<a href="#setBit">setBit</a>( 0 );
a.<a href="#clearBit">clearBit</a>( 1 );
a.<a href="#setBit">setBit</a>( 2 ); // a = [1 0 1]
QBitArray b(3);
b[0] = 1;
b[1] = 1;
b[2] = 0; // b = [1 1 0]
QBitArray c;
c = ~a & b; // c = [0 1 0]
</pre>
<p> 當QBitArray被構造時,位沒有被初始化。使用<a href="#fill">fill</a>()可以設置所有的位為0或1。數組可以用<a href="#resize">resize</a>()來重新定義大小并且用<a href="#copy">copy</a>()來復制。位可以用setBit()來設置并且用clearBit()來清空。位可以用<a href="#toggleBit">toggleBit</a>()來切換。一個位的值可以用<a href="#testBit">testBit</a>()和<a href="#at">at</a>()來獲得。
<p> QBitArray支持&(AND)、|(OR)、^(XOR)和~(NOT)操作符。
<p>也可以參考<a href="collection.html">集合類</a>、<a href="shared.html">隱含和明顯共享類</a>和<a href="tools.html">非GUI類</a>。
<hr><h2>成員函數文檔</h2>
<h3 class=fn><a name="QBitArray"></a>QBitArray::QBitArray ()
</h3>
構造一個空的位數組。
<h3 class=fn><a name="QBitArray-2"></a>QBitArray::QBitArray ( uint size )
</h3>
構造一個<em>size</em>位的位數組。位沒有被初始化。
<p> <p>也可以參考<a href="#fill">fill</a>()。
<h3 class=fn><a name="QBitArray-3"></a>QBitArray::QBitArray ( const <a href="qbitarray.html">QBitArray</a> & a )
</h3>
構造一個<em>a</em>的<a href="shclass.html#shallow-copy">淺復制</a>。
<h3 class=fn>bool <a name="at"></a>QBitArray::at ( uint index ) const
</h3>
返回<em>index</em>位置的位的值(0或1)。
<p>也可以參考<a href="#operator[]">operator[]</a>()。
<h3 class=fn>void <a name="clearBit"></a>QBitArray::clearBit ( uint index )
</h3>
清空<em>index</em>位置的位(設置它為0)。
<p>也可以參考<a href="#setBit">setBit</a>()和<a href="#toggleBit">toggleBit</a>()。
<h3 class=fn><a href="qbitarray.html">QBitArray</a> <a name="copy"></a>QBitArray::copy () const
</h3>
返回一個位數組的<a href="shclass.html#deep-copy">深復制</a>。
<p>也可以參考<a href="#detach">detach</a>()。
<h3 class=fn>void <a name="detach"></a>QBitArray::detach ()<tt> [虛]</tt>
</h3>
從共享位數組數據中分離并且并且確認這個位數組是數據的唯一引用。
<p> 如果是多重位數組共享公有數據,這個位數組引用計數減一并且得到一個數據的復制。如果只是一個單獨的引用將沒有任何操作。
<p> <p>也可以參考<a href="#copy">copy</a>()。
<p>從<a href="qmemarray.html#detach">QMemArray</a>中重新實現的。
<h3 class=fn>bool <a name="fill"></a>QBitArray::fill ( bool v, int size = -1 )
</h3>
用<em>v</em>填充位數組(如果<em>v</em>為真,填1,或者如果<em>v</em>為假,填0)。
<p> 如果<em>size</em>為非負數,<a href="#fill">fill</a>()會重新定義位數組的大小為<em>size</em>。
<p> 如果<em>size</em>為非負數并且位數組沒有能被重新定義大小,返回假,否則返回真。
<p> <p>也可以參考<a href="#resize">resize</a>()。
<h3 class=fn><a href="qbitarray.html">QBitArray</a> & <a name="operator-and-eq"></a>QBitArray::operator&= ( const <a href="qbitarray.html">QBitArray</a> & a )
</h3>
對這個位數組和<em>a</em>的所有位進行AND操作。返回這個位數組的引用。
<p> 如果兩個數組大小不同,對于缺少的位,AND操作將使用0,就像下面的例子所描述的:
<pre>
QBitArray a( 3 ), b( 2 );
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -