ベースポインタは,現在実行中のスタックフレーム (アクティブなフレーム) の底 (図2の通り正確には底の少し上) を指すレジスタです.以前の BP の値というのは,呼出し側の関数のベースポインタの値で,関数終了時にベースポインタにコピーされます.また,リターンアドレスとは,関数の処理終了後に次に実行するプログラムのアドレスのことです. Cプログラマの必読書 たくさんあるC言語関連の書籍の中でも特に役に立った本です.よかったら参考にしてみてください. C実践プログラミング 第3版 C言語の実践的参考書.少々値段は張りますが初心者を脱しようとしている人は絶対に読むべきです. 文法だけでなく,コーディングスタイルやデバッグなど文字通り「実践的」なことが書かれているので非常にためになります. オライリーの本は,読みにくい本が多いのですが本書はとても読みやすくオススメです.
3.11 Options That Control Optimization ¶ These options control various sorts of optimizations. Without any optimization option, the compiler’s goal is to reduce the cost of compilation and to make debugging produce the expected results. Statements are independent: if you stop the program with a breakpoint between statements, you can then assign a new value to any variable or change the program cou
Google C++ Style Guideにも書かれているように、クラスに仮想メンバー関数が存在する場合、そのクラスのデストラクタは virtual でなくてはなりません (If your class has virtual methods, its destructor should be virtual.)。 ただその理由は若干複雑です。理由が説明できないとコードレビューで問題を指摘する際に困りますし、逆に必要ないのに 「デストラクタには常に virtual をつけろ」と言われた場合に反論できなくて困ることになります。 ルールの前提 virtual なメソッドがあるなら、子クラスのポインタは必ず親クラスのポインタとして使用される そもそも virtual なメソッド (仮想メンバー関数)がクラスに定義されているということは、そのクラスは継承した子クラスを作成し、その子クラスのインスタ
C++編で扱っている C++ は 2003年に登場した C++03 という、とても古いバージョンのものです。C++ はその後、C++11 -> C++14 -> C++17 -> C++20 -> C++23 と更新されています。 なかでも C++11 での更新は非常に大きなものであり、これから C++ の学習を始めるのなら、C++11 よりも古いバージョンを対象にするべきではありません。特に事情がないなら、新しい C++ を学んでください。 当サイトでは、C++14 をベースにした新C++編を作成中です。 ここは、Programming Place Plus の C++編のトップページです。C++ の文法機能や標準ライブラリに関する網羅的な情報を、C++03 ベースで扱っています。 C++編は、C言語の知識があることを前提として書かれています。C言語については、C言語編を参照してください
C 言語は 1972年にUSの有名なベル研究所で Dennis Ritchie らが設計・実装した言語だ。 今となっては低水準な言語だが、充分な機能、簡潔な記法とアセンブラに近いパフォーマンスを持ち、 Unix, Windows, Linux 等の OS をはじめ、コンパイラ、テキストエディタ等のツールや、ビジネスアプリやゲームなど多くの各種アプリケーション開発に用いられてきた。 C++ 言語は 1980年頃、やはりベル研究所の Bjarne Stroustrup が開発したもので、C にオブジェクト指向などの機能を追加したものだ。 C との互換性を維持しつつオブジェクト指向が可能で、パフォーマンスも高かったことから、 1990年頃から、ビジネスアプリやゲームなど多くのアプリケーション開発に使用されるようになった。 C++ は、過去の互換性を維持しつつ最先端のプログラミングパラダイムを多く
Welcome cgdb is a lightweight curses (terminal-based) interface to the GNU Debugger (GDB). In addition to the standard gdb console, cgdb provides a split screen view that displays the source code as it executes. The keyboard interface is modeled after vim, so vim users should feel at home using cgdb. Screenshot Features Syntax-highlighted source window Assembly view Visual breakpoint setting Keybo
静的ライブラリ (.a) の作成 ar コマンド で複数のオブジェクトファイル (.o) をまとめて静的ライブラリ (.a) を作成できます。
本サイトcpprefjpは、プログラミング言語C++のリファレンスを提供するWebサイトです。 最新C++バージョンのリファレンスを提供していきます。 運営方針 本リファレンスサイトは、C++言語の最新のリファレンスを常に提供し続けることを目標にしています。 各クラス、関数にはそれぞれ1つ以上のサンプルコードを付けていく方針です。 本サイトでは、他サイトおよび規格書の直接的な翻訳ではなく、編集者の調査と考えに基づいた解説を提供していきます。 HTMLデータのダウンロード cpprefjp.github.io-master.zip ローカルで閲覧できるHTMLを用意しています。 スポンサーシップ cpprefjp - Open Collective このプロジェクトは、持続的な活動のため、ユーザーの方々からのご支援をお待ちしております。上記Open Collectiveのプロジェクトでスポン
C++によるプログラミングの原則と実践 Bjarne Stroustrup(著), 江添 亮(監修), 株式会社クイープ(訳), 遠藤美代子(訳) アスキードワンゴ 6,160円 (5,600円+税) C++の設計者Bjarne Stroustrupが、プログラマーを目指す学生、C++を本格的に学びたい人を対象に書き下ろしたプログラミングの入門書です。 関連サイト本書の関連ページが用意されています。 C++によるプログラミングの原則と実践 - アスキードワンゴ内容紹介◆C++の開発者によるプログラミングの解説書 「本書は、プログラミングの経験はないものの、学ぶ意欲は十分にあるという読者を対象としている。ここでは、C++プログラミング言語を使ったプログラミングの原理を理解し、その実践的なスキルを養うための手助けをする。本書の目標は、最善かつ最新の手法を用いて、単純で便利なプログラミングタスク
今、「C++のためのAPIデザイン」を読んでます。 テンプレートを使用する際の、テクニックについてまとめてみました。 C++のためのAPIデザイン 目次 テンプレートとは? テンプレートの用語 特殊化 部分的な特殊化 非明示的なインスタンス化のAPI設計 明示的なインスタンス化のAPI設計 テンプレートとは? テンプレートとは、コンパイル時にコードを生成する機能です。 型だけが異なる大量のコードを、生成する時など特に役に立ちます。 良く知られている例として、C++のコンテナクラスがあります。 vector<int> int_vector; // int型を扱うVectorクラスのインスタンス vector<float> float_vector; // float型を扱うVectorクラスのインスタンス vector<string> string_vector; // string型を扱う
サイボウズ・ラボの光成です。 先日、社内で主にLinux上でC/C++を用いている開発者向けの講義をしました。 「こんなことができる」と知ってもらい、興味を持てば各自で勉強してもらおうと広く浅くツールを紹介しました。 gtags, ASan, Valgrind, addr2line, cppcheck, SystemTap, perfなどです。 興味があれば講義資料「C/C++プログラマのための開発ツール」をごらんください。 コンパイラオプション 受講者には新人やサイボウズ・ラボユースの学生もいたので基本的なところから紹介しました。 C/C++コンパイラを使うときはできるだけ警告オプションをつけるのが望ましいです。 警告が出るのは自分のコードの書き方に不備があることが多いからです。 gccやclangでは-Wall -Wextraは基本としてそれ以外にも有用なオプションがあります(C++用
_ ハードコアプログラマのためのハードコアプログラミング入門書 アスキーの鈴木さんからC++によるプログラミングの原則と実践をいただいた。うれしい。 重さ1.9Kg、厚さ4.5cm、ページ数1200越え、お値段は7000円だ。 さすがに、こうなると、今更(おれは既にプロフェッショナルなのだ)おれが自分で購入する本ではない。読み切れないのがわかっているからだ(金額については「今更」ということはなく、むしろ今のほうが手に届くので別の話となる)。 まず、きちんとしたネガティブな評価を見ておこう。 幸い、同じアスキー(ではなくドワンゴのほう)の江添さんが「およそ悪書の見本のような本だ」という完全読破されたうえで結論を出されている。 おれはストラウストラップではないのでどうでも良いのだが、しかし一応、あるべき反論は少ししておこう。 「文章は簡潔にすべし」→それは違う。この本は仕様書ではなく、 ・何よ
はじめに¶ このページは,Google Test のドキュメント類を日本語訳したものです.翻訳に関しては,誤りのないように配慮しておりますが,至らない点も多々あるかと思います. 誤訳・誤字・脱字や不適切な表現を発見されましたら, ご連絡頂ければ幸いです( http://opencv.jp/forum ). 原文は英語であり,この訳文はオフィシャルなものではありません.なお,免責事項として,本訳を利用者が利用するにあたり,いかなる損害に対しても訳者はその責を負いません. Google Test プロジェクトページ: http://code.google.com/p/googletest/ ドキュメント¶ Google Test 1.6 のドキュメント このページには,Google Test 1.6 に対するすべてのドキュメントページが挙げられています. Google Test のリリース版を
はじめに¶ このページは,Google Mock のドキュメント類を日本語訳したものです.翻訳に関しては,誤りのないように配慮しておりますが,至らない点も多々あるかと思います. 誤訳・誤字・脱字や不適切な表現を発見されましたら, ご連絡頂ければ幸いです( http://opencv.jp/forum ). 原文は英語であり,この訳文はオフィシャルなものではありません.なお,免責事項として,本訳を利用者が利用するにあたり,いかなる損害に対しても訳者はその責を負いません. Google Mock プロジェクトページ: http://code.google.com/p/googlemock/ ドキュメント¶ Google Mock のドキュメント(SVN trunk 版) このページには,Google Mock の SVN trunk 版 に対するすべてのドキュメントページが挙げられています.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く