タグ

classとconstに関するtyosuke2011のブックマーク (3)

  • C++でブルームフィルタを実装する方法 | POSTD

    ブルームフィルタとは、「ある要素が集合のメンバである可能性があるか、それとも確実に集合のメンバではないか」を効果的に確認することのできるデータ構造です。この記事では、C++でブルームフィルタを実装する簡単な方法をご紹介します。 ブルームフィルタとは何なのか 、また、 その背後にある多くの数学的要素 については紹介していませんので、ご了承ください。これらのトピックに関しては、素晴らしいリソースがあるので、そちらを参考にしてください。 インターフェイス まずは、ブルームフィルタを定義していきましょう。ここでは、3つのパブリック関数を定義していきます。 コンストラクタ ブルームフィルタにアイテムを追加する関数 アイテムがブルームフィルタにある可能性を確認するためのクエリを行う関数 また、フィルタの状態を保持するビットの配列を含んだ、メンバ変数についても定義します。 #include <vecto

    C++でブルームフィルタを実装する方法 | POSTD
  • pImplイディオム - ゲームプログラミングWiki

    概要 † データを保持するオブジェクトを指し示すポインタをもつデザインのことをしばしば「pImplイディオム」といいます。 「pImpl」とは"pointer to Implementation"の略称です。 ↑ なぜ「pImplイディオム」を使うのか † 例としてTpodクラスについて考えます。 Tpod.h #include "Tea.h" // 注目 class Tpod { private:~ Tea m_tea; public: Tea GetTea(); }; Tpod.cpp #include "Tpod.h" Tea Tpod::GetTea() { return m_tea(); } 普通はこのように宣言と定義を書くが、この時Teaクラスを使うために Tea.hをインクルードしています。 もしもTea.hが変更されたらどうなるでしょうか? Tpod.hはT

  • Reactのバケツリレーの回避にJSX Spread Attributesを利用する

    Appをルートコンポーネントとし、以下Child1 => Child2 => Child3といった階層構造となっているAppで受け取ったfooとbarという値をpropsを使って、一番下の階層のChild3まで渡している値がChild3まで渡ったら、それをChild3のコンポーネント上で表示する コードは以下のようになります。 import React, { Component } from 'react'; import { render } from 'react-dom'; class App extends Component { render() { return ( <Child1 foo={this.props.foo} bar={this.props.bar} /> ); } } const Child1 = (props) => <Child2 foo={props.fo

    Reactのバケツリレーの回避にJSX Spread Attributesを利用する
  • 1