タグ

c++に関するnak2kのブックマーク (84)

  • More C++ Idioms - Wikibooks

    C++ はあまりに『熟練者に優しく』なってしまった」(C++ has indeed become too "expert friendly") Stroustrup 氏の言は真実である。なぜなら熟練者は言語のイディオムに深く精通しているからである。プログラマが理解するイディオムの増加に従って、言語は彼あるいは彼女にとってよりフレンドリーになる。この open content book の目的はほどほどに C++ に精通しているプログラマに対して現代的な C++ のイディオムを提示し、C++ をよりずっとフレンドリーに感じるレベルにまで知識を引き上げる助けと成る事である。書は熟練した C++ プログラマが C++ を使ってプログラミングや設計を行う際に用いる事の多い再利用可能なイディオムの網羅的なカタログと成るよう意図されている。これは、それらのテクニックや語彙をひとまとめにしようという

    nak2k
    nak2k 2009/01/06
  • http://google-styleguide.googlecode.com/svn/trunk/google-c-style.el

    ;;; google-c-style.el --- Google's C/C++ style for c-mode ;; Keywords: c, tools ;; google-c-style.el is Copyright (C) 2008 Google Inc. All Rights Reserved. ;; ;; It is free software; you can redistribute it and/or modify it under the ;; terms of either: ;; ;; a) the GNU General Public License as published by the Free Software ;; Foundation; either version 1, or (at your option) any later version,

  • Google C++スタイルガイド 日本語訳

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

  • Native Clientの仕組みはどうなっているのか? - やねうらお−よっちゃんイカはしばらく買わずにiPhoneだけに注力する男

    Googleが、Webブラウザ上でネイティブバイナリコードを実行する「Native Client」を公開した。 Native Client http://code.google.com/p/nativeclient/ Google Earth,Quakeなどがすでに動いているようだ。 これはすごい!ブラウザ上でX86バイナリを動かす「Native Client」 http://www.moongift.jp/2008/12/native_client/ サンドボックスで安全性確保、オーバーヘッド5% ブラウザでx86バイナリ実行、グーグルが新技術 http://www.atmarkit.co.jp/news/200812/09/nacl.html あと、サンプルのlife.ccにSDL_surfaceと書いてあるのでSDLの描画まわりが既に動いているのだろうから、今後、たくさんのアプリがN

    Native Clientの仕組みはどうなっているのか? - やねうらお−よっちゃんイカはしばらく買わずにiPhoneだけに注力する男
  • Eclipse with CDT

    このページは、フリーのJava統合開発環境Eclipse(エクリプス)で、C/C++を開発行おうというけったいな事を実現するための準備を目指します。 Eclipseの大きな特徴として、プラグインによって簡単に機能拡張が行えるということがあります。EclipseでC/C++の開発を行う際には、CDTプラグインを導入する事になります。 このページはcdt user FAQを参考にして作成しました。ただ、リンク先のページの更新がのびのびとなっているようでしたので、新しく書き起こしています。何かおかしいところがあればメールして頂けると助かります。 Eclipseの準備 Eclipseは来はJava用の統合開発環境であり、Eclipse自体もJavaのプログラムとして開発されています。ですから、Eclipseを動かすためにはまずJava2SDKがインストールされている必要があります。また、Java

  • さらに分かっておきたいトランジスタの種類 − @IT MONOist

    組み込みソフトウェア/ハードウェア開発における技術力の向上、改善・最適化などを幅広く支援する“組み込み開発エキスパート”のための情報フォーラム

  • wavelet tree - 明日ではないから

    圧縮検索で使われる技術wavelet treeをテンプレートライブラリとして書いてみました。 →を参考にしてみました。高速かつ省メモリで文字列を扱うデータ構造「wavelet tree」 元となる記事が大変興味深かったのだけど、どうもサンプルコードが複雑すぎるのと、僕の解釈が悪いのか、記事中の説明がコードとつじつまが合わないところがあったので、自分で実装してみたしだい。 記事中ではハフマンコード化の話があるのだけど、あくまでそれは最適な圧縮率を出すための理論にしか過ぎなくて、 頻度の順番で文字をソートしておいて、文字ごとにその文字を1にしたビット列を格納していったほうが素直だろう。(元記事中は該当文字を0としたが1としたほうが操作しやすいと思う) たとえば、文字列T = "abccbbabca"があったときその頻度は'b','c','a'の順番になる。このとき各文字ごとにビット列を作ってい

    wavelet tree - 明日ではないから
  • 高速かつ省メモリで文字列を扱うデータ構造「wavelet tree」

    はじめに 大規模なデータを扱うアプリケーションでは、速度とともに作業領域量も大きな問題となります。作業領域がメインメモリに収まらない場合、スワッピングが発生し、大幅な速度低下につながります。そのため近年、データ構造は高速なだけでなく、作業領域量が小さいことも求められています。今回紹介するのは2003年に提案されたデータ構造、wavelet tree(以下「WT」と表記)です。WTは圧縮索引やSuccinct Data Structureなど、データをコンパクトに表現する際に重要なデータ構造です。WTは文字列T[0...n-1]が与えられた時、次の2つの操作を定数時間でサポートします。 rank(p, c)――T[0...p]中のcの出現回数を返す select(i, c)――(i+1)番目のcの位置を返す WTの作業領域量は、文字列をそのまま保存した時の約2倍程度です。 対象読者 C++

    高速かつ省メモリで文字列を扱うデータ構造「wavelet tree」
  • C++ のコードを Flash Player で動かす! Alchemy を速攻試してみる。 - IT戦記

    はじめに Adobe から C/C++ で書いたコードを Flash や AIR で動かす Alchemy というものがリリースされましたね! Alchemy - Adobe Labs これはすごい!ということで、少し試してみたいと思います。 その様子をリアルタイムに書いていきます。ちゃんと出来るかな 環境 OS は Mac OS X で gcc 、 java は入っているものとします。 ホームディレクトリ(/Users/amachang)に AlchemyTest というディレクトリを作って作業します。 インストール まずは、いろいろインストールします。 Flash Player 10 Debugger Version Adobe Flash Player - Debug Downloads ここからダウンロードしてきて、普通にインストールします。 Flex SDK 以下から Flex

    C++ のコードを Flash Player で動かす! Alchemy を速攻試してみる。 - IT戦記
  • C++ 12年ぶりに次世代スタンダードへ - "C++0x" 策定進み草案公開へ | エンタープライズ | マイコミジャーナル

    The C++ Programming Language プログラミング言語C++は1998年に発行され2003年に改訂された国際標準ISO/IEC 14882を仕様として採用している。ISO/IEC 14882はC++の言語仕様と標準ライブラリの双方を規程しており、1998年に規程されたものは通称C++98、2003年に改訂されたものは通称C++03と呼ばれている。現在、JTC1/SC22/WG21 - The C++ Standards Committeeにおいて次期C++仕様"C++0x"の策定が進められている。最終的に12年ぶりに新しいC++が登場ということになりそうだ。 C++0xはC++98/03との互換性は確保しつつ、言語仕様と標準ライブラリの双方の規約を改訂するもので、新しい機能として並列プログラミングのサポートやプログラミングの簡素化、関数プログラミング機能の強化、ジェネ

    nak2k
    nak2k 2008/11/13
  • ウェブ開発に有用そうなC/C++ ライブラリについてのまとめ - TokuLog 改めB日記

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

  • emacsでミスを教えてくれるflymakeをC++のために使うための設定 - suztomoの日記

    GulfweedさんのTopCoderのエントリに従ってプラグインを入れると自分の好きなエディタでTopCoderに参加することができます。それに加えて,Emacsでflymakeを使えばエラーに気付きやすくなります。(結局何を.emacsに書けばいいのかは追記を見てください) 上のスクリーンショットではint型とunsignedなものを比較してるのでwarningがでてますね. flymakeはカレントディレクトリの中にあるMakefileを実行してエラーを教えてくれます。最初のほうでMakefileを使う方法を紹介し、その下の追記でMakefileを使わない方法を紹介しまてます。 .emacs.el ;; Flymake (require 'flymake) ;; ;; C++ ;; ;; http://d.hatena.ne.jp/pyopyopyo/20070715/ (add-h

    emacsでミスを教えてくれるflymakeをC++のために使うための設定 - suztomoの日記
  • Kazuho@Cybozu Labs: C++ テンプレートを使って MBCS と Unicode ちゃんぽんなコードを書く話

    « Greasemetal (Google Chrome 用 Greasemonkey) を公開しました | メイン | Greasemetal 0.2 をリリースしました » 2008年09月12日 C++ テンプレートを使って MBCS と Unicode ちゃんぽんなコードを書く話 あちこちから寄せ集めたコードを組み合わせるようなプログラムを書いていると (Greasemetal のことですね)、プログラム内に MBCS 前提のコードと UTF16 前提のコードが混在することが往々にして発生します。 C++ の世界のみで完結できるのであれば、型テンプレートと関数の多重定義を使って総称的なコードを簡単に書けるのですが、実際は、MBCS 版と UTF16 版で関数の名称が異なる C API を呼び出す必要が出てきたりします。具体的には、RegQueryValueExA と RegQuer

  • 変電工 - Google C++スタイルガイド日本語訳

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

  • Kazuho@Cybozu Labs: C++ で自動型変換

    « なんとなくリフレクション in C++ | メイン | Pathtraq の API を公開しました » 2008年06月27日 C++ で自動型変換 C++ の拡張ライブラリである boost には、lexical_cast というライブラリがあって、iostream への入出力ができる型ならなんでも文字列化 (その逆も) できるので、とても便利です。でも、lexical_cast は、int → long のような変換の場合にも iostream を使った変換をしてしまうので、汎用のリフレクションコードを書こうとすると、そのままでは使いにくいです (オーバーヘッドが大きすぎる)。というわけで、変換前後の型に応じて、static_cast と lexical_cast を自動的に切り替えるようなキャスト関数を作ってみました。こんな感じで使います。 // calls lexical_c

  • MOONGIFT: » C++製の分散ストレージシステム「cagra」:オープンソースを毎日紹介

    オープンソースの分散化ファイルシステムで代表例というとMogileFSが挙げられると思う。HTTPでアクセスでき、簡単に信頼性の高い分散化ファイルシステムが構築できる。ただし、基Perlからの扱いになっており、Ruby向けのライブラリも存在するが全ての機能を活用できる訳ではない。 クライアント側 もっと手軽に利用できる分散化ファイルシステムが必要だ。それがこれだ。 今回紹介するオープンソース・ソフトウェアはcagra、C++製の分散ストレージシステムだ。 cagraは日製のソフトウェアで、memcachedのような手軽さで分散ストレージシステムを構築できる。memcachedとの大きな違いは複数ノードを利用できる点にある。各データに対して指定したノード数でのレプリケーションが可能になっているので信頼性を高めることができる。 サーバ側 現時点ではオンメモリストレージのみだが、ファイルシ

    MOONGIFT: » C++製の分散ストレージシステム「cagra」:オープンソースを毎日紹介
  • ポストMongrel時代のWebサーバ - Hello, world! - s21g

    と言いつつ、自分ではMongrel使ってない(主にlighttpd)のですが、 RailsChatでshachiさん、くまくまーのmaihaさん、笹田さん、のりおさんと話してた時に出てきた、最近のWebサーバのメモ。 thin 軽量で高速らしい。 Ebb libevとかを使っていてthinより速いらしい。 小さいファイルが弱点だったが、最近克服されたらしい。 swiftply Webサーバではない。プロクシフレームワーク。 (See also Swiftiplyのアーキテクチャとベンチマーク) あとで試す。 話は変わりますが、上述のプログラムの大半の実装はCで書かれていて、 インターフェイスの部分だけRubyで実装されている感じのものが 多いですね。これこそがRubyの真骨頂だと思う。 いろんな言語を使ってきたけれど、 最近はCとRubyの組み合わせが良い感じです。 C言語用の高性能プリプ

  • Visual C++ の今後 - Faith and Brave - C++で遊ぼう

    VC++開発チームのブログで重大な発表がありました。 ・Announcing a major MFC update plus TR1 support ・Quick Tour Of New MFC Functionality Herb Sutterのブログでも紹介されています。 ・Visual C++ Announcements in Barcelona: TR1 and MFC ・Visual C++ Libraries update ・Visual C++ Libraries update(日語訳記事) VC++9.0(Visual Studio 2008)から、MFCが大幅に拡張されるそうです。 Office 2007のリボンコントロールがネイティブなMFCで使えることが 大きく取り上げられていますが、大きく違うのは開発ターゲットの拡張です。 従来のデスクトップアプリケーションだけで

    Visual C++ の今後 - Faith and Brave - C++で遊ぼう
    nak2k
    nak2k 2007/11/14
  • ウノウラボ Unoh Labs: C/C++でFastCGIを作る

    こんにちは satoです。 現在 Ruby on Rails で書かれた アプリケーションの 一部のURIを高速化するために、lighttpd + FastCGI で 書き直しています。FastCGI は あらかじめ プロセスを常駐させておき、リクエストが来た際に、常駐しているプロセスに Unix domain socket あるいは TCP/IP で通信を行い プロセス起動時のオーバーヘッドを無くすことにより、処理を高速化します。今回は lighttpd + FastCGI で Hello word を作る 解説します。 まず lighttpd と FastCGI を 用意します 環境はCentOS5です。 lighttpd: yum install lighttpd FastCGI: wget http://www.fastcgi.com/dist/fcgi.tar.gz tar xz

  • はてなブログ | 無料ブログを作成しよう

    オーベルジーヌ実レポ べ物の鼻塩塩(未だに通じるのかな) オーベルジーヌというカレーをご存知だろうか 都内にあるデリバリー専門のカレー屋で、 ロケ弁などで大人気の格欧風カレーが楽しめるらしい いいな〜 いいな〜オブザイヤー 都内の奴らはこんな良いモンってんのか 許せねえよ………

    はてなブログ | 無料ブログを作成しよう
    nak2k
    nak2k 2007/10/11