タグ

c++とprogrammingに関するmoozのブックマーク (22)

  • 関数オブジェクト - Wikipedia

    この記事には複数の問題があります。改善やノートページでの議論にご協力ください。 出典がまったく示されていないか不十分です。内容に関する文献や情報源が必要です。(2024年4月) 脚注による出典や参考文献の参照が不十分です。脚注を追加してください。(2024年4月) 独自研究が含まれているおそれがあります。(2024年4月) 出典検索?: "関数オブジェクト" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL 関数オブジェクト(かんすうオブジェクト、英: function object)は、プログラミング言語において、関数(サブルーチンまたはプロシージャ)を、オブジェクトとしたものである。手続きオブジェクトとも言う(プロシージャ=手続き)[要出典]。なお、ここでのオブジェクトの語は、いわゆるオブジェクト指

    mooz
    mooz 2010/10/23
    状態を持てる
  • emacs C++ 開発環境 link集 - niitsumaの日記

    emacsでc++開発を行うための情報を集めました。まとめをここでしています 以下それぞれのリンク Emacs で C 言語プログラミングを始める人へのイントロダクション 初心者向けdocment 以下の2項目が役立つ タグジャンプ ここで説明しているtagファイルの作成方法 $ find . -name "*.[chCH]" -print | etags - はubuntu7.10では動かなかった 関数名の補完入力がM-tabでできる タグジャンプはここで説明してるetagより後述のgtagの方が便利 Benjamin Rutt's Emacs C development tips (English) complieをする窓の大きさを小さめにする方法 インデントを自分好みにする方法 etagの使い方。Emacs で C 言語プログラミングを始める人へのイントロダクション よりも詳しく解説

    emacs C++ 開発環境 link集 - niitsumaの日記
    mooz
    mooz 2009/08/07
    etags + M-Tab で関数名補完.
  • テンプレートあれこれ (4) -- typename の役割 - C++ Labyrinth

    テンプレートあれこれ (4) -- typename の役割 typename というキーワードには、2通りの用法がある。 "static" もそうだが、同一のキーワードに複数の意味を持たせるのは、 C++ の悪い癖だな。なんとかしてほしいところ。 で、typename の一つの意味は、テンプレート引数として 「型」を取ることを宣言する場合。 これは、"class" キーワードで置換できる。 たとえば、次の (A) と (B) は同値である。 template<typename T> class Foo; // (A) template<class T> class Foo; // (B) まあ、これは誰でも知っていると思う。 typename には、もう一つ、後続する識別子が 「型名」であることを明示するという重要な働きがある。たとえば、 template<class T> class

    mooz
    mooz 2009/07/28
    typename の次に来る識別子が「型名」であることをコンパイラに伝える。
  • ヘッダーファイルは慎重に扱わないと危険です

    ホーム < ゲームつくろー! < C++踏み込み編 < ヘッダーファイルは慎重に扱わないと危険です その7 ヘッダーファイルは慎重に扱わないと危険です ヘッダーファイルは関数やクラスのプロトタイプを宣言するファイルです。今更なんだと思われるかもしれません。しかし、ヘッダーファイルは慎重に扱わないと取り返しのつかないバグを生んでしまいます。それこそシステムが崩壊するほどのバグになることも時にはあります。 ヘッダーファイル軽んずべからず。この章はそういったヘッダーファイルにまつわるお話です。 ① ヘッダーファイルって何なのか? 冒頭でも述べましたように、ヘッダーファイルは関数やクラスのプロトタイプ宣言をするファイルです。プロトタイプ宣言とは、「変数の名前、型」そして「関数名、引数の型、戻り値の型」のみを記述する事を指します。クラスの場合、クラス名と共にクラスが持つメンバ変数やメンバ関数がプロト

  • 定義済みマクロ - redstrange Wiki*

    標準規格 C言語 __DATE__ ソースのコンパイル日付 __FILE__ ソースのファイル名 __func__ 関数名(Visual Studio.NET以降では、__FUNCTION__) __LINE__ 行番号 __STDC__ 標準Cに従っている際に定義されている(ifdefで使う) __STDC_HOSTED__ 整数1 __STDC_IEC_559__ IEC60559浮動小数点仕様に従っている際に定義されている __STDC_IEC_559_COMPLEX__ IEC60559互換の複素数仕様に従っている際に定義されている __STDC_ISO_10646__ ?→http://seclan.dll.jp/c99d/c99d02.htm#dt19990412 __STDC_VERSION__ C言語のバージョン __TIME__ ソースのコンパイル時刻 __TIMESTA

    定義済みマクロ - redstrange Wiki*
  • マングリング - debian36の日記

    今日の午後は、ずっとC++(g++)と闘っていました。。。 これまで C言語でコーディングされていたシステムの一部が、C++に変更されたたため、自分が担当する部分もそれに対応する必要がありました。 ※ プロジェクト進行中に言語変更なんて自由やなぁ・・・(^^; そんなん、簡単やろ〜、 C++って、C言語から派生したものやろ? C++って、C上位互換やろ? どうせ、バイトコードになっちゃえば C も C++ もいっしょやろ? 的に、思っていたのですが、問題の解決に午後丸々かかっちゃいました・・・ なんか身体的に疲れちゃいました。 組み込みなどの一部分野では、じわじわとC言語からC++言語への移行がはじまっている(? : 未確認情報)ので、 CとC++が混在するシステム(CとC++で1つの実行体)を作るケースがあるかもしれません。 そんな場合に役立つかも、ということで、今日学んだことをまとめま

    マングリング - debian36の日記
    mooz
    mooz 2009/03/27
    いやーこれにはやられた。マングリか。
  • C++で開発

    [ Home on 246net ] C++で開発 好むと好まざるとに関わらず、C++言語を使った開発をすることになったときに調べたことの蓄積。 言語仕様 ブートストラップ main関数 main関数について パッケージ管理 名前空間 名前空間の使用 ヘッダファイル ヘッダファイルとは インクルードガード ヘッダファイルの依存性をなくすには 文法要素 プリプロセッサ 条件コンパイル 可変引数を取る関数(stdargs他) 定義済みマクロ 型 組み込み型 標準定義型(標準typedef等) ビットサイズ固定整数型、 typedefの注意 クラス コンストラクタ メンバー変数 演算子関数 ビットフィールド 継承 例外 標準例外 例外処理のプログラミング テンプレート メンバ関数の特殊化 デバッグ アサーション ANSI Cのassert VC++固有のassert コーディング標準 公知のコー

  • cpp-complt.el - とりあえず暇だったし何となくはじめたブログ

    C/C++言語において#からはじまる命令の補完を提供するelisp. ヘッダファイルの入力のとき, stdio.hとかstdlib.hなどを補完できてかなり便利. このヘッダファイルの補完は読み込みに行くディレクトリを変数に設定しておいてやればいいため, かなり柔軟にできる. 以下が簡単な設定例. まあEmacs電子書棚さんに書いてあるとおり. (require 'cpp-complt) (add-hook 'c-mode-hook '(lambda() ;; C/C++ でヘッダを補完入力. (define-key c-mode-map "#" 'cpp-complt-instruction-completing) (define-key c-mode-map "\C-c#" 'cpp-complt-ifdef-region))) #を押すとミニバッファを利用して補完がでける. ヘッダフ

    cpp-complt.el - とりあえず暇だったし何となくはじめたブログ
    mooz
    mooz 2009/03/13
    プリプロセッサディレクティブの補完
  • linux-life.net - このウェブサイトは販売用です! - プログラミング カウンター サーバー リリース リソースおよび情報

    このウェブサイトは販売用です! linux-life.net は、あなたがお探しの情報の全ての最新かつ最適なソースです。一般トピックからここから検索できる内容は、linux-life.netが全てとなります。あなたがお探しの内容が見つかることを願っています!

  • Visual C++ Chips

    戻る VC++ メモ VC++ ではまったり便利だった事のメモ書きです。 参考までに私の環境は (〜99/12/9)IBM ThinkPad535E,Windows NT4.0w-sp5,Visual C++6.0 (2000/1/21 〜)IBM ThinkPad535E,Windows 2000,Visual C++6.0 (2000年後半〜)自作機、Windows 2000, Visual C++6.0 です。なお、ここに書いてあることはすべて無保証です。 また、Win95/98 では動作確認してないです。 Visual Studio 関係 Windows ヘルプの作り方(98/10/20/Tue) VC++ のエディタを Mule っぽくカスタマイズ(99/4/7/Wed) ソースの自動整形の方法 (99/7/15/Thu) テキストファイルの複数行選択の方法(99/4/3) はま

    mooz
    mooz 2009/02/22
    MMXによるアルファブレンディングなど
  • Schemeを作ろう VAFXImg など

    プロフィール ときどきこっそり更新。 僭越ながら自己紹介をば。投げやりですが。 平山直之/白浜青雪 生年月日 S48/04/11 出身校 早稲田大学第一文学部卒(6年を要す) 職業 プログラマ(ゲーム) 使える言語 C++/C LISP(scheme) (Object)Pascal perl/sed/awk BASIC アセンブラ 実際に経験があるのはこんなものかな? 結構言語オタクなので頭でだけ知ってるものは多数。 語らせるとウルサいこと バスケ・サッカーの戦術(トラウマのせい) 漫画ゲームの評論 他のアトリビュート 著書があるがウソ書いちゃったので忘れたい。 プログラマ的生い立ち 小学生のころ 合理主義が周囲のものどもに受け入れられなかったらしく、結構いじめられた。今にして思えばいじめられて当然だが。 剣道と野球をやってた。どっちもあまりまじめにはやってない。 小学生の頃はパソピア/

    mooz
    mooz 2009/02/18
    Scheme の継続
  • C++ の string と vector の reserve() の挙動 - bkブログ

    C++ の string と vector の reserve() の挙動 C++ の string と vector には前もって容量を確保するための reserve() というメンバ関数があります。何気なく使っていた関数ですが最近になって興味深い挙動に気づきました。 reserve() の基 string と vector の reserve() は前もって容量 (capacity) を確保しておくためのメンバ関数です。前もって容量を確保 (reserve) しておけば、データの追加時に発生する再割り当て (reallocation) を防ぐことができ、効率的です。 たとえば、何もしないで文字列に 1,000文字追加した場合、(内部的に倍々で容量を増やしていくため)10回程度の再割り当てが発生しますが、 s.reserve(1000) のように容量を確保しておけば 1回の割り当て (

  • シンクリッジ - C/C++コード最適化小手先テクニック

    クラウドベースの MIDI シーケンサ Magome 音楽制作に興味のある方を対象に、スタンドアロンでも使え、ネットならではの面白さも兼ね備えた音楽制作アプリの提供を目指しています はじめに。言い訳。 C/C++では、同じ処理をさせるにもコードの書き方で吐き出されるマシン語コードに違いが出ます。 ここでは自分が有効かなと思っている最適化ネタを記載してます。 昨今のマシンスペックを持ってすれば、ちょこざいな小手先テクニックは不要と思っている方もいらっしゃると思いますし、確かに、わざわざ最適化する必要がない場合も多いと思います。 ですが、ソフトウェアという物は、要となる数箇所を最適化するだけで動作が快適になったり、逆に、なにも考慮されずに書いたコードが(塵も積もれば山となるで)ソフトウェア全体のパフォーマンスを悪化させる要因にもなりかねません 昨今のコンパイラの最適化処理はかなり優秀ですし、今

  • C++編(標準ライブラリ)●Programing Place

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • プログラマの友

    mooz
    mooz 2009/02/11
    bison の使い方や最適化の方法など
  • Standard Template Library プログラミング on the Web

    1985年、AT&TのBjarne StroustrupがC++をこの世に送り出しました。その後C++は様々な拡張を繰り返しながら進化してきました。 1991年、ISOはC++の国際標準(standard C++)を定める作業を開始しました。標準C++の最終草案は1997年にISO C++標準化委員会に承認されました。 標準C++が規定するのは言語仕様だけなく、C++標準ライブラリも規格の中で明確に定められています。それまでC++のライブラリといえばiostreamぐらいのものでしたし、それもあくまで"事実上の標準"でしかありませんでした。 そしてそのC++標準ライブラリの一部として組み入れられたのがSTL(Standard Template Library)です。すなわちSTLは標準C++の仕様の一部ということです。 僕がSTLを知ったのは1995年、いくつかのコンパイラがtemplat

  • flex/bisonはじめて8時間以内FAQ

    Project GnuWin32でWin32で走るコンパイル済み実行ファイルがダウンロード出来ます。ダウンロードします。ありがたくいただきます。 bison 1.35 flex 2.5.4 展開して、 bison.exe bison.hairy bison.simple flex.exe を、パスの通っているフォルダに。 環境変数 BISON_SIMPLE を設定する。 例) D:\Tool の場合

  • [SOLVED] GDB, C++, STL: Making GDB ignore STL functions

    mooz
    mooz 2009/02/10
    gdb でデバッグ中にSTLのヘッダへ飛ばないようにする方法
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • ソフトウェア工学 (吉田誠一のホームページ)

    Abstract Factoryパターン Adapterパターン Bridgeパターン Builderパターン Chain of Responsibilityパターン Commandパターン Compositeパターン Decoratorパターン Facadeパターン Factory Methodパターン Flyweightパターン Interpreterパターン Iteratorパターン Mediatorパターン Mementoパターン Observerパターン Prototypeパターン Proxyパターン Singletonパターン Stateパターン Strategyパターン Template Methodパターン Visitorパターン