タグ

c++に関するblanketskyのブックマーク (33)

  • Smart Pointers - What, Why, Which?

    Yonat Sharon What are they? Why would I use them? Less bugs Exception Safety Garbage collection Efficiency STL containers Which one should I use? Local variables Class members STL containers Explicit ownership transfer Big objects Summary Conclusion What are they? Smart pointers are objects that look and feel like pointers, but are smarter. What does this mean? To look and feel like pointers, smar

  • C++0x メモ - 兼雑記

    まずは wikipedia http://ja.wikipedia.org/wiki/C%2B%2B0x すごいきっちりまとまってるなぁ… N2670: Minimal Support for Garbage Collection and Reachability-Based Leak Detection (revised) http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2670.htm GC をサポートするほげほげ。下記が詳しい。 http://d.hatena.ne.jp/faith_and_brave/20081117/1226913980 N2802: A plea to reconsider detach-on-destruction for thread objects http://www.open-std.

    C++0x メモ - 兼雑記
  • 2008-12-23

    C++初心者の私がC++をやめたくなった瞬間。 なにをいまさらな。 はじめに C++のstreamはとても良くできていて、これを用いたライブラリを作りたいのだけど、 当に(主にパフォーマンス的な理由で)大丈夫なのとかそういう話。 初めにお断りしておきますが、以下の内容はすべてlinux+gcc4.3での話です。 streamは遅い ふつうにistreamからget()して、ostreamにputしてるとめちゃくちゃ遅い。 C言語のgetchar, putcharより10進数で1.5桁ぐらい遅いよ。 istream::readとかででかいブロック読めば大丈夫なのだけど、 細かい単位で読みたいことの方が多いよね。 そういうわけで、そういう場合にも速く転送することが可能なのかどうか調べてみる。 テストプログラム istreamの内容をostreamに転送するプログラムを6通り書いた。 その1:

    2008-12-23
  • Google C++スタイルガイド 日本語訳

    Text Drop 翻訳、プログラミング、写真、カメラなどについて書いてます。スタイルガイド/コーディング規約やチートシートなど、ちょっと便利なものを翻訳しています。 TEXTdropでは、C++プログラマーも利用できるパワフルな機能を搭載。C++のコードを書く際に行う手順や避けておきたい工程などを詳しく説明しています。コードスタイルラインの日語版では、日語訳やJ P Yへの換金もサポート。話題性があるオンラインカジノ 日円変換や入金の際のバグにも対応しています。統一性のあるコードを書くためのポイントや規約の種類を参考にする事ができます。

  • 参照とポインタの違い - 2008-12-11 - mad日記

    科学者とあたまを書いたひとだけれども、この名前どっかで聞いた事があるなと思ったら, 昨日劇団青年座の人の講演で聞いたのだった。 「フユヒコ」という劇団青年座の公演が明日NHKで放送されるらしいです。冬彦ってのは寺田寅彦のペンネームらしい。 http://cgi4.nhk.or.jp/hensei/program/p.cgi?area=001&date=2008-12-12&ch=31&eid=9950 おもしろそうだから観てみようかな。 ところで小柴先生が同じような事を言っていたのを思い出した。このインタビューは面白い。 一流の理論家は、「自分の理論では、ここまでは使えるけれど、これから先は分からない」という適用限界をいつも意識している。ところが二流の理論家というのは、自分が名前を覚えた、あるいは、使った理論で何でもやれると思ってしまう。二流の理論家に困らされるのは、新しい実験計画が出てき

    参照とポインタの違い - 2008-12-11 - mad日記
  • C++: 水面下の仕組み - Microsoft Visual C++ Web Site

    This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

    C++: 水面下の仕組み - Microsoft Visual C++ Web Site
  • Xbyak - x86 JIT assembler -

    Xbyak - x86, x64 JIT assembler - .frame(English) .frame(x86の究極の最適化手法?) Xbyak(カイビャック)はx86(IA32), x64(AMD64, x86-64)のマシン語命令を生成するC++のクラスライブラリです. プログラム実行時に動的にアセンブルすることが可能なため, 柔軟な最適化(動的コード生成)が可能となります(利用シーン:量子化の高速化, 式の計算). 暗号ライブラリに使って高速な実装をしてみた(very fast etaT pairing for Core 2 Duo) ヘッダファイルオンリー xbyak.hをインクルードするだけですぐ利用することができます(32bit, 64bit両対応). Windows Xp(32bit, 64bit), Vista/Linux(32bit, 64bit)/Intel

  • OpenC++ Home Page

  • template

    演習で使った C++ のテンプレートに関する資料を中途半端ですが公開しときます。暇があってやる気が出たら追加や書き直しをするかも。 テンプレート一般 template の適当な説明 コンパイル時の計算 コンパイル時のコード生成 traits とは policy とは typename は何故必要か

  • Googleのロギングライブラリgoogle-glogを使ってみる - moratorium

    Googleのロギングライブラリgoogle-glogを使ってみる 2008-10-15 (Wed) 15:23 Google OSS “google glog”で探せないgoogle-glogを軽く使ってみました。Googleからオープンソースで公開されたC++向けのロギングライブラリです。以下のエントリが参考になります。 C++ のプログラムのデバッグを楽にする方法 google-gflags 1.0と、google-glog 0.1をダウンロードしてインストールします。今回はgoogle-gflagsを使用する場合についてのみ記述します。また、glogのマニュアルに一通り目を通してから読まれると良いかと思います。 まずはとにかく動かしてみます。 #include int main(int argc, char **argv) { google::InitGoogleLogging(a

  • google-glog: Application Level Logging

    ► 2024 (17) ► May (4) ► April (4) ► March (2) ► February (6) ► January (1) ► 2023 (44) ► December (5) ► November (6) ► October (2) ► September (3) ► August (1) ► July (2) ► June (5) ► May (5) ► April (2) ► March (6) ► February (3) ► January (4) ► 2022 (44) ► December (4) ► November (2) ► October (7) ► September (6) ► August (2) ► July (3) ► June (5) ► May (1) ► April (2) ► March (4) ► February (5)

    google-glog: Application Level Logging
  • http://melt.sytes.net/pukiwiki147/index.php?Memo%2F%CB%DD%CC%F5%2FBoost.Thread

  • 動的削除子 (dynamic deleter) - 意外と知られていない? boost::shared_ptr の側面 - Cry’s Diary

    boost::shared_ptr は動的削除子 (dynamic deleter) と呼ばれる技法に基づいて実装されています.この動的削除子という技法で重要なのは, boost::shared_ptr が最終的に呼び出す解放処理が boost::shared_ptr のテンプレート引数の型に関係なく,コンストラクタに実際に渡されたポインタの型で,かつ boost::shared_ptr のコンストラクタの呼び出しの段階で 決定する,ということです. 以下のようなコードが,動的削除子の効果が一番分かりやすい例になるでしょう. class X{ public: ~X() { std::cout << "X::~X" << std::endl; } }; class B{ public: ~B() // virtual でないことに注意!! { std::cout << "B::~B" <<

    動的削除子 (dynamic deleter) - 意外と知られていない? boost::shared_ptr の側面 - Cry’s Diary
  • それ (dynamic duck typing) C++ でできるよ +α - Cry’s Diary

    http://d.hatena.ne.jp/gnarl/20080801/1217523822 元のエントリが静的なものと動的なものを比較していますので,それに対する批判としてはまったく正当なものなのでそこには異論はありません.ですが,蛇足として, static duck typing が与えられればそこから dynamic duck typing を導出することは C++ ではできるんだよにゃ,ということは指摘しておきたいのです.これは,書籍のような整理された形でまとめられていない技法を用いますので,しばしばこういう議論の中で見落とされるのですが. それ C++ でできるよ,というのはつまり,要件が「ダックタイピングだと共通の基底クラス/インタフェースがなくても統一的やりかたで『かつ動的に』メソッド呼べる」だけなら, C++ でも特に問題なく記述できる,ということです.ただし,それが簡潔

    それ (dynamic duck typing) C++ でできるよ +α - Cry’s Diary
    blanketsky
    blanketsky 2008/08/01
    "ある static duck typing を実現しているときに,それに対応する dynamic duck typing を半自動で実現するような言語機能"
  • Trip Report: June 2008 ISO C++ Standards Meeting - ntnekの日記

    Herb Sutter "Trip Report: June 2008 ISO C++ Standards Meeting"の適当訳です。 内容的にはid:faith_and_braveさんとこで既に日語で解説済みのものばかりかも。 ISO C++標準委員会が6月6〜14日にフランスのソフィア・アンティポリスで開催された。議事録はここで読める(これがカバーしているのは全体セッションだけで、私が主に参加していた個々のテクニカルセッションは含んでいない)。 以下は、関係する論文へのリンクつきの議論のまとめと、次回会議の情報である: 要注目:C++0xの完全なドラフトは9月に登場 今回の会議における最大のゴールはC++0xの機能的に完全なドラフトを作り、国際レビュー&コメント(ISOでは「公式委員会草稿」またはCDと呼ぶ)のための完全な公開ドラフトの発行をこの九月に行う、ということだった。我々

    Trip Report: June 2008 ISO C++ Standards Meeting - ntnekの日記
  • D vs C++0x - プログラミング言語 D 2.0

  • C++0xの言語拡張まとめ(※随時更新) - Faith and Brave - C++で遊ぼう

    C++0xの概要はこちら ・Angle bracket テンプレートの連続した山カッコの問題の解決 ・初期化子リスト ユーザー定義のクラスで配列のような初期化構文を実装可能になる ・Uniform initialization コンストラクタの構文と初期化子リストの構文が一様になる ・デリゲーティング・コンストラクタ コンストラクタから他のコンストラクタを呼び出せる ・auto 型推論 ・記憶クラス指定子としての auto の削除 autoキーワードの意味が変更になるため、下位互換がなくなる ・decltype sizeofの型版 ・Template Aliases テンプレートを使用して型の別名を付けることができる。いわゆるtemplate typedef ・拡張sizeof 構造体/クラスのメンバをインスタンス化せずにsizeofすることが可能になる ・nullptr ヌルポインタを表

    C++0xの言語拡張まとめ(※随時更新) - Faith and Brave - C++で遊ぼう
  • 変電工 - Google C++スタイルガイド日本語訳

    国产亚洲欧美日韩在线一区二区三,AV蜜桃,中文乱码人系列一区二区,乱中年女人伦视频国产,男女性高爱潮是免费国产,国产成人精品三上悠亚久久,果冻传媒AⅤ毛片无码

  • いやなブログ - RAII と setjmp/longjmp

    RAII と setjmp/longjmp C++ には RAII (Resource Acquisition Is Initialization) というイディオムがあります。これはリソースの開放を確実に行うためのテクニックとして C++ のプログラムで広く用いられています。しかし、RAII も setjmp/longjmp という落とし穴があります。 RAIIの基 次のプログラムはメモリリークを起こします。 #include <string> using namespace std; int main() { string *p = new string; return 0; } このプログラムをビルドして valgrind でテストすると次のようなエラーメッセージが表示されます。4バイトのメモリリークが検出されました。 % g++ test.cc % valgrind ./a.ou

  • C++ Style Guide

    Benjy Weinberger Craig Silverstein Gregory Eitzmann Mark Mentovai Tashana Landray This style guide contains many details that are initially hidden from view. They are marked by the triangle icon, which you see here on your left. Click it now. You should see "Hooray" appear below. Hooray! Now you know you can expand points to get more details. Alternatively, there's an "expand all" at the top o