タグ

C++に関するkamenoiのブックマーク (8)

  • C++ - 配列の情報を取得する - Qiita

    // for native array template < class Ty, std::size_t size > constexpr std::size_t lengthof( Ty(&)[size] ) noexcept { return size; } // for std::array template < class Ty, std::size_t size > constexpr std::size_t lengthof( const std::array < Ty, size >& arg ) noexcept { return size; } int main() { int something[16] = {}; lengthof( something ); // 16 std::array < int, 32 > something = {}; lengthof(

    C++ - 配列の情報を取得する - Qiita
    kamenoi
    kamenoi 2017/06/19
    テンプレートによる配列情報取得
  • Recent Posts — Faithlife Code Blog

    Alternate Lookups in .NET 9.0 Introduction Buried in the .NET 9 Preview 6 release notes is the bullet point “Collection lookups with spans”. This is an exciting new feature that I’ve wanted in .NET for a long time. (And based on the age of issue #27229, so has the .NET team.) Motivating Example Our Faithlife.Utility library provides the StringCache class. If you have a set of strings that will be

    kamenoi
    kamenoi 2011/04/20
    staticな変数のデストラクタ制御がおかしいらしい。
  • C++のmapについてのめも - ichirin2501's diary

    速度向上を考える上で、mapの使い方で差が出たのでめも。 mapは[ ]演算子がオーバーロードされているので、演算子の書き方を多用していた。演算子で書くと存在しないkeyを指定した場合、自動で生成してくれる。これが便利なときもあれば不便なときもある。 例えば、メモ化探索にmapを利用していた場合、既に探索した状態かどうかを調べるときに[]演算子で勝手に状態生成してもらっては困る。 なので、今まではこんな感じで書いてた。 map<int,int> mii; int dfs(int S){ if( mii.count(S) ){ return mii[S]; } int ret = 0; /* 処理 */ return mii[S] = ret; } countメソッドはkeyがあるかどうか(0or1)を返す。勝手に状態数は増えない。 でも、どう考えても 探索3回してるよねこれ mapの[]演

    C++のmapについてのめも - ichirin2501's diary
    kamenoi
    kamenoi 2011/03/24
    Effective STLに書いてあるからみんな買うといいよ! あれはいいものだ…。
  • 『オブジェクトの再初期化』

    以前、Copy&Swap技法 について記事を書きましたが、今回はSwap技法を使った別のちょっとした小技を紹介しましょう。 オブジェクトを初期状態に戻すときに次のようにswapを使うことができるのです(ただしクラスのメンバ関数にswap関数が定義されている場合です)。 Widget widget; widget.doSomething(); ←オブジェクトの状態を変化させるメソッドの実行 ... Widget().swap(widget); ← オブジェクトを初期状態に戻すイディオム ... Widget().swap(widget)が何を行っていると言うと、まずWidget()で名前のない一時オブジェクトをデフォルトコンストラクタで生成しています。そして生成された一時オブジェクトのswapメンバ関数を呼んで引数にwidgetを与えてます。そうすることで生成された一時オブジェクトとwidg

    『オブジェクトの再初期化』
    kamenoi
    kamenoi 2010/07/07
    vectorはempty_instance.swap(filled_instance)としないとメモリを開放しない。clear()ではcapacityは変わらない。
  • BoostPro Computing - Free Downloads

    We're very grateful to the Boost community for creating professional-quality software and an innovative development environment around which we could build a business. We hope, by publishing free software that enhances the Boost experience, that we're “giving back” something of value to the Boost community . BoostPro Binary Installer for Visual C++ For users of Visual C++ 7.1 (Visual Studio 2003),

  • 例外処理、第17部

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 Robert Schmidt Microsoft Corporation 2000 年 3 月 16 日 私はずっと前に、このコラム シリーズの第 2部 で構造化例外処理(別名 SEH)を紹介しました。そこで説明したように、SEH は WindowsWindows 用コンパイラに特有です。SEH は ISO C++ 標準規格で定義されていません。また、SEH を使用しているプログラムはコンパイラ間で移植性がありません。私は標準規格への準拠と移植性を旨としているので、Windows 特有の SEH を ISO 標準規格の C++ 例外処理(ここでは C++EH と略します)にマップすることに興味を持ちまし

    例外処理、第17部
    kamenoi
    kamenoi 2009/01/06
    構造化例外をC++例外に変換
  • dfltweb1.onamae.com – このドメインはお名前.comで取得されています。

    このドメインは お名前.com から取得されました。 お名前.com は GMOインターネットグループ(株) が運営する国内シェアNo.1のドメイン登録サービスです。 ※表示価格は、全て税込です。 ※サービス品質維持のため、一時的に対象となる料金へ一定割合の「サービス維持調整費」を加算させていただきます。 ※1 「国内シェア」は、ICANN(インターネットのドメイン名などの資源を管理する非営利団体)の公表数値をもとに集計。gTLDが集計の対象。 日のドメイン登録業者(レジストラ)(「ICANNがレジストラとして認定した企業」一覧(InterNIC提供)内に「Japan」の記載があるもの)を対象。 レジストラ「GMO Internet Group, Inc. d/b/a Onamae.com」のシェア値を集計。 2023年10月時点の調査。

  • Home

  • 1