タグ

c++に関するkajisukeのブックマーク (30)

  • C++er 達の post を集めてみました。 - 偏見プログラマの語り!

    僕の TL には C++er がたくさんいます。僕は脳ミソ沸いてるのでこんな感じですが。 @PG_kura C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++.. 2010-09-03 18:40:09 via ラーメン大陸 とかく、Twitter にはすごい人がたくさん居るので興味ある人はフォローしてみると良いと思います。*1 *2 @nagoya313 僕はC++を得たが代わりに青春を失ったことに気づいた。 2010-07-13 00:30:23 via web @fetus_hina 「// このコードが直感に反して正しく動く事に関して、私は真に驚くべき理由を見

  • モダンなC, C++の開発環境の構築方法 - 考える人、コードを書く人

    まだC, C++がないようなので書いてみた。主にLinux(DebianとかUbuntu)での環境構築について。 コンパイラ まずはapt-getでコンパイラをインストールする。UbuntuやDebianなら以下のコマンドでgccやg++および標準ライブラリ等がインストールされる。 $ sudo apt-get install build-essential デバッグツール デバッガおよびデバッグツールは少なくとも以下の三つは入れる。(あとltraceも欲しいかな?) GDB 言わずと知れたGNUのデバッガ Valgrind メモリリークや不正メモリアクセスの検出 strace システムコールのトレース $ sudo apt-get install gdb valgrind strace ビルドツール C, C++のビルドツールといえばまずmakeが浮かぶけど、最近ではSConsやCMak

    モダンなC, C++の開発環境の構築方法 - 考える人、コードを書く人
    kajisuke
    kajisuke 2010/08/01
  • C++でオブジェクト指向プログラミング(1/2) - @IT

    書籍転載 文法からはじめるプログラミング言語Microsoft Visual C++入門 C++でオブジェクト指向プログラミング ―― 第10章 クラス~オブジェクト指向プログラミング(後編) ―― WINGSプロジェクト 矢吹 太朗(監修 山田 祥寛) 2010/06/16 コーナーは、日経BPソフトプレス発行の書籍『文法からはじめるプログラミング言語Microsoft Visual C++入門』の中から、特にInsider.NET読者に有用だと考えられる章や個所をInsider.NET編集部が選び、同社の許可を得て転載したものです。基的に元の文章をそのまま転載していますが、レイアウト上の理由などで文章の記述を変更している部分(例:「上の図」など)や、図の位置などをサイトのデザインに合わせている部分が若干ありますので、ご了承ください。『文法からはじめるプログラミング言語Micros

    kajisuke
    kajisuke 2010/06/16
  • C/C++ - 言語仕様編 第10回 〜テンプレート〜

    テンプレート関数 宣言 int f(int n); は、int 型変数 n を受け取り、int 型変数を返す。 C++ では、オーバーロードによって、この f(int n); 関数と、 double f(double v); C f(C c); などといった関数は区別されるが、もし、この3つの振る舞いが全く同じである場合、 すなわち、f(int n) や f(double n) で使用される演算子が、適切にオペレータ・オーバーロードされている 一般のクラス T に対しても動作させられるようにする場合、これを、 template<typename T> T f(T t); として代表させる事ができる。この f をテンプレート関数という。また、T をテンプレート引数という。 呼び出し テンプレート関数 f を使用する場合は、そのテンプレート引数 T に対して、型を指定し、 f<C>(t1);

    kajisuke
    kajisuke 2010/05/02
  • 晴れ時々 C++0x Wiki*

    WIKIは現在仕様策定中の C++0x 言語仕様書の翻訳を、こっそりと堂々行うサイトです。 当WIKI内の内容はあくまでヽ(゚∀。)ノうぇねが私的に行ったものであり、なんら正式に書式化されたものではありません。かなり翻訳として怪しい内容もありますので、基的には原文の補助として参照してください。 また、内容的におかしな場所、言葉、不適切な用語があれば、指摘ください。 現在の作業対象は仕様書草案 N3035 を基準に行っています。 力尽きたら、そっとページを閉じて見なかったことにしてください。 JTC1/SC22/WG21 C++ 標準化作業グループ コメント欄 タイトルは現状 N3000 をベースに作成しています。順次、N3035 に移行します。 -- ヽ(゚∀。)ノうぇね? 2010-03-13 (土) 23:07:43 お、誰か参加してくれている! ありがとうございます。 -- ヽ(

    晴れ時々 C++0x Wiki*
    kajisuke
    kajisuke 2010/03/13
  • 我々はプログラミング雑誌を創刊す

    かつては、実に多くのプログラミング雑誌があったものだ。思い返せば懐かしい。雑誌に載っていたバイナリコードを、必死に打ち込んだ日を覚えているだろうか? カセットテープの音で、どのマイコンのデータかをあてる遊びをしたことはあるだろうか。かつては、NHKでさえ、記録テープを放送して、各家庭で録音させることで、マイコン向けのデータをブロードキャストしていたのである。 思えば、時代は変わった。我々のコンピューター技術は進化し、実に便利になった。誰か能く、リアルタイム3Dレンダリングを予想しただろうか。誰か能く、HD動画の、リアルタイムデコードを予想しただろうか。はた、今日のWebの興隆は如何。 コンピューターは進化し、便利になった。しかし、コンピューターをプログラムするのは、依然として、我ら人間である。プログラマである。プログラマが技術を習得すべきソースとなるのものは何ぞや。「ネットで誰かが書いてく

  • 株式会社ロングゲート - 製品案内

    Information 2013/12/25 書籍『プログラミングの魔導書 Vol.3』の発売 (書籍版の予約受付は終了しました) 2013/12/03 書籍『プログラミングの魔導書 Vol.3』の予約受付開始 2011/12/01 ブログを開始 2011/11/30 著者からの指摘を受け、書籍 『プログラミングの魔導書 Vol.2』PDF版を改訂 2011/11/02 書籍 『プログラミングの魔導書 Vol.2』の壁紙公開 2011/10/05 書籍 『プログラミングの魔導書 Vol.2』を発売 (書籍版の予約受付は終了しました) 2011/9/15 書籍 『プログラミングの魔導書 Vol.2』の予約受付開始 技術トレーニングサービスを開始 2010/8/07 書籍 『プログラミングの魔導書 Vol.1』を販売開始 2010/6/01 書籍情報を公開しました 2010/2/28 今年5月

    kajisuke
    kajisuke 2010/02/27
  • C++11 FAQ

    訳者注 下記の文章は C++0x - the next ISO C++ standard の暫定勝手和訳です。 翻訳は現在進行中であり、未完成かつ不正確である可能性があります。 っていうか未完成かつ不正確です。 正しい情報を必要とされる方は、原文を当たってくださいますようよろしくお願いします。 誤訳の指摘は大歓迎です。 2010年01月06日更新 (訳注: 和訳は2010年01月21日更新) この文書 (訳注: 原文) は Bjarne Stroustrup が記述、更新している。 建設的なコメント、訂正、参考資料、提案はもちろん大いに歓迎する。 現在、著者は参考資料の充実化と清書に取り組んでいる。 C++0x は次期 ISO C++ 標準である。 現時点の 草案 を、コメント募集のため公開している。 以前の (そして現在の) 標準は、しばしば C++98 や C++03 と呼ばれる; C

    kajisuke
    kajisuke 2010/01/24
  • C言語

    C言語の学習サイトです。C言語入門や仕様解説、サンプルコードの説明等があります。Cを学習して自由自在にプログラミングできるようになりましょう! 3つ理由があると思います。1つは「高級言語でありながら、低水準の面も持つから」です。 解りやすくいうと、人が使う言葉に近い表現でプログラムを記述するプログラミング言語であるが、ハードウェアに密着した処理も容易に記述できる、ということです。 そのため、C言語を学習しておけば、OSやドライバなど、よりハードウェア側のプログラムをつくることも可能です。また、ハードウェアよりの知識を持っていることは、一般のプログラムをつくる上でも非常に役に立つのです。 2つめは「後に開発されたプログラミング言語に大きな影響を与えたから」です。 C言語に影響を受けたプログラミング言語は非常に多く、C++Java、Objective-Cなどがあげられます。awk、csh、J

    kajisuke
    kajisuke 2010/01/03
  • 本の虫: lambda 完全解説

    目的 この記事は、C++0xのlambdaを完全に解説せんとする目的を以て書かれた。サンプルコードは最小に留め、エラー処理等は省いた。この記事さえ読めば、今日からlambdaを恐れることなく使う物のC++0xプログラマになれるだろう。 lambdaとは何ぞや lambdaである。あるものは、lambda関数、あるいは無名関数という名称を使っている。いったいlambdaとは何なのか。 lambdaは関数である。また、特に名前はない。したがって、lambda関数、無名関数と呼ぶのは、間違ってはいない。しかしここでは、単にlambdaと呼ぶことにする。 lambdaを定義しよう lambdaは関数オブジェクトである。lambdaは関数オブジェクトである。これはとても大事なので二度書いた。lambdaは関数オブジェクト以外の何物でもない。ところが不思議なことに、皆lambdaが単なる関数オブジェ

  • 美しいループ記法求む! - やねうらおブログ(移転しました)

    いま私は速度的に特化したプログラムを書かなくてはいけない。1%でも速いほうが望ましい。必然的に言語はC/C++となる。しかし、いまさらC/C++なんか使いたくない。もう少し洗練された記法が使える言語が好ましい。 なければ作ればいいやと思い、丸一日かけてC++のparserをC#で書いた。 C++風言語の字句解析と構文解析は出来るようになった。(C++ templateは除く。) あとは、いかようにも文法を拡張できる。この言語を仮にいまYaneCと名付ける。YaneCはコンパイルするとC++のコードを生成する。 それでいま悩んでいるのがループ記法だ。C#のようなforeachが欲しい。最初、次のように書けるようにした。 foreach var x in vect sum += x;ふむ、C#っぽくていい感じだ。C/C++のdefineマクロでforeachみたいなのを作ると次のようなものにな

    美しいループ記法求む! - やねうらおブログ(移転しました)
  • 「BIND 10」をC++とPythonで書く狙いとは JPRSに聞く、次期DNSソフト開発の意義<後編>

  • コンパイラ演習 講義資料

    コンパイラ実習 講義資料 (2013年度版) 【講義ノート】 1. C++(1) 「C から C++ へ」 [pdf] 2. C++(2) 「標準ライブラリ STL」 [pdf] 3. C++(3) 「コンストラクタ, デストラクタ, 代入」 [pdf] 4. C++(4) 「継承とポリモーフィズム」 [pdf] 5. 抽象構文木 [pdf] 6. インタープリタ [pdf] 7. Lex による字句解析 [pdf] 8. Yacc による構文解析 [pdf]

    kajisuke
    kajisuke 2009/08/09
  • JavaScript 的な考え方で C++ Template に入門してみた - IT戦記

    はじめに id:kazuhooku さんが Kazuho@Cybozu Labs: なんとなくリフレクション in C++ という記事を書いていて、なんか凄そう! わくわく! でも、読めません>< Template 怖い>< という訳で C++ Template の勉強をしてみよう! そいえば、ちょっと前に 1000speakers で上野氏に C++ Template はチューリング完全、関数型言語というようなことを聞いたきがする! じゃあ、いろんなことが出来るはず! という訳で JavaScript で出来ることが C++ で出来るかを試してみよう! まず 関数テンプレートと構造体テンプレートどっちで JavaScript の関数を表現するべきかを考えた。 C++ の文法を考える // これはできない>< void foo() { void bar() { void baz() { }

    JavaScript 的な考え方で C++ Template に入門してみた - IT戦記
  • C++ - Wikibooks

    情報技術 > プログラミング > C++ 大学の学習 > C++ 書は、C++プログラミング言語の初心者から中級・上級者までを対象にした、段階的な学習ガイドです。C++は強力で柔軟な言語であり、システムプログラミングからゲーム開発、科学技術計算まで幅広い分野で活用されています。しかし、その豊富な機能と複雑な構文から、学び始める際には戸惑うことも少なくありません。 書の前半では、初心者がC++の基礎を理解し、実際にコードを書く力を身につけることを目指しています。基的な文法やデータ型、制御構造、関数といった基礎的なトピックを、具体的な例とともにわかりやすく解説します。また、オブジェクト指向プログラミングや標準ライブラリの使い方についても丁寧に説明し、実践的なスキルを養います。 後半では、中級・上級者向けに、C++特有の高度な概念や最新の技術について詳しく解説します。クラスの継承や関数オー

    kajisuke
    kajisuke 2009/08/07
  • 計算物理のためのC/C++言語入門

    Last revised on May 25, 2000 UNIX & XWindow 環境における C/C++プログラミング言語の基礎とその計算物理への応用を解説します。 このホームページの古い版の偽ミラーサイトが存在するのでご注意ください。 物のサイトは http://www-cms.phys.s.u-tokyo.ac.jp/~naoki/CIPINTRO/ です。 前書き 推奨図書一覧 C言語とC++言語の基礎文法の初心者向け解説 (プログラム初心者を対象としたC/C++言語の入門です) 第1章 C言語とC++言語の役割 第2章 簡単な計算 第3章 ループで繰り返し計算 第4章 配列で大量データ処理 第5章 関数で計算の分担 第6章 文字列の操作 第7章 ファイルの操作 第8章 グラフィック(XWindow System利用者向け) 高校物理の計算例 (高校生を対象として初歩的な物

    kajisuke
    kajisuke 2009/08/07
  • C++: 編集距離を求めるアルゴリズム

    編集距離(edit distance)とは二つの文字列がどの程度異なっているかを示す数値であり、レーベンシュタイン距離(Levenshtein distance)を指すことが多い。文字の挿入、削除、置換それぞれを一つの操作として必要な操作の最小数を求めるものだ。例えば、kittenとsittingの編集距離を求める場合、下記のように3回の操作でkittenをsittingに変更できるので編集距離は3となる。 1. sitten (k を s に置換) 2. sittin (e を i に置換) 3. sitting (g を挿入) そこで今回は編集距離を求める複数のアルゴリズムについてC++で実装してみた。 動的計画法 編集距離を求めるもっとも一般的なアルゴリズムは、動的計画法(dynamic programming)だろう。計算時間はO(mn)であり、手軽だ。C++で書いたコードを下に示

  • Spaghetti Source - 各種アルゴリズムの C++ による実装

    ACM/ICPC(プログラミングコンテスト)系列の問題を解くことを目標にして,各種アルゴリズムを C++ で実装してみた.極めて意地が悪い類の問題には対応していないし,特定の入力に対して高速に動くということもない.計算量も最良とは限らない. これらを参考にする方への注意とお願い: これらの記述は正確とは限りません.参考文献を参照することを強く推奨します.間違っている場合は是非教えてください. これらのプログラムは間違っているかもしれません.各人で検証することを強く推奨します.バグがあれば是非教えてください. 分類が怪しいので,これはこっちだろう,ということがあればコメントを下さると助かります. 注意! 現在書き換え中 TODO 分類を正しく行う. 全体的に説明と使い方を詳しく. Verify していないものを Verify. ボロノイ図(いつになることやら……) 基 テンプレート グラフ

  • <h2>C言語によるアルゴリズム(コメント付き)</h2>

  • Big Sky :: C++で軽量Webサーバ書いた。

    書いたといっても結構前からあったのですが、いらん所を削ぎ落として軽量Webサーバとして仕立て上げました。 軽量とは言えど、CGIを使って結構色々動きます。 例えば、ソースアーカイブを解凍したらCGIがあって、apacheから見える場所にコピーして...とか面倒くさかったりしますよね。 おれは今すぐWebサーバを起動したいんだ!そして今いるディレクトリのファイルをWebサーバからサーブしたいんだー! って事ないですか?blogソフトウェアをダウンロードして今すぐ試したいけど、apacheインストールされてなかった...とか悲しすぎます。 今回紹介する"tinytinyhttpd"(tthttpd)はそんな、小さい様で大きな問題を解決出来るかもしれないソフトウェアです。 mattn's tinytinyhttpd at master - GitHub tiny tiny httpd http:

    Big Sky :: C++で軽量Webサーバ書いた。
    kajisuke
    kajisuke 2009/07/30