ファイルに設定されているビット数をカウントする興味深い実装。 STLを豊富に使用したC ++コード。 すべてが非常に優れている場合、
「異常なプログラミング」ブログ(読者がC ++ブログに移行することを強く推奨)にあるのはなぜですか? 今すぐご覧ください:)

まず、ビットイテレータクラスを宣言します。

次に、実行可能ファイルに設定されているビット数をカウントします。

おかしいですね。 そして、ゼロビットの数を計算するには、単に呼び出す必要があります:

代わりに:

ソースコードは
codepad.org/S1TT56PRから入手できます(UPDATE2のリンクを参照)。
更新1:同志
gribozavrは、コードで8番の代わりにCHAR_BIT定数を使用する方が正しいことを正しく
指摘しました。
更新2:同志
mark_ablovがコピーコンストラクターの欠陥を
指摘し 、記事のコードが更新されました。ここにコードの修正バージョンがあります:
http :
//codepad.org/knEKdNJX