タグ

c++とProgrammingに関するchorinskyのブックマーク (11)

  • Stroustrup: Programming -- Principles and Practice Using C++

    Programming -- Principles and Practice Using C++ (Second Edition) This is the support site for Stroustrup: "Programming: Principles and Practice using C++ (Second Edition)" Addison-Wesley 2014, ISBN 978-0-321-99278-9. support for the first edition of PPP This book is aimed at beginners taking a programming course and people learning C++ as self study. For details, see these samples: Preface Table

  • C++を知らないゲームプログラマ達 - Ideals and Reality

    マルチプラットホームライブラリを作ってみた。 ※リンク先pdf 有名なSEGAの著者、平山さんによる今年のCEDECでの講演内容である。 ゲームプログラマになる前に覚えておきたい技術 作者: 平山尚出版社/メーカー: 秀和システム発売日: 2008/11/14メディア: 単行購入: 112人 クリック: 3,473回この商品を含むブログ (193件) を見る 内容的には十分読み応えのあるのだが、一部釈然としないところもある。 主に4.9章の「標準ライブラリや言語機能について」というところから。 何故標準が嫌なのか ゲームプログラマはなぜかC++標準ライブラリを使わない。 いや、使おうとする人もいるが何かと理由をつけて使わない。 その理由が大体困ったような内容が多い。 リンク先でも書かれているが、vectorにはpush_back()やerase()がある。 そしてこれは安全性と性能の両

    C++を知らないゲームプログラマ達 - Ideals and Reality
  • iorate's blog

    has_xxx とは型 x にネストされた名前 name があるかどうか調べるメタ関数の総称です。名前空間またはクラスのスコープでクラステンプレート has_name を定義し、その上で has_name<x>::value などとして使います。 の虫: C++11におけるモダンなhas_xxxの実装 しかし、一発で has(x, name) と書けると素敵です。C++14 で入るであろう Generic Lambdas (N3559) を使ってそれを書いてみました。 ※ Concept Lite (N3580) の requires expression が来れば、素直にそれを使うべきです。 // 下準備... namespace has_xxx_detail { template <class F, class G> struct overload_result : F, G { o

    iorate's blog
  • FAQ形式でデストラクタにvirtualを付ける理由をまとめてみた - かせいさんとこ

    Q1: デストラクタにvirtualをつけろとよく言われるけど、なんで? 挙動が未定義のdeleteを呼び出す可能性があるから Q2: 挙動が未定義だと駄目なの? 超駄目。何が起きても文句は言えない Q3: どんな時に挙動が未定義のdeleteが呼び出されるの? こんなとき // NoVirtualBaseClass : デストラクタにvirtualを持たない // NoVirtualSuperClass : NoVirtualBaseClassを継承 NoVirtualBaseClass * ptr = new NoVirtualSuperClass(); // 挙動が未定義 delete ptr; Q4: 何でそうなるの? delete時点で、ptrは自分がNoVirtualBaseClassのインスタンスだと思ってるから Q5: 何で?NoVirtualSuperClassでnewし

    FAQ形式でデストラクタにvirtualを付ける理由をまとめてみた - かせいさんとこ
  • ヘッダーファイルは慎重に扱わないと危険です

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

  • C++コミュニティーの中心でC++をDISる

    2. 自己紹介 • 田中 英行 (@tanakh, id:tanakh) • (株)Preferred Infrastructure 勤務 • Haskell好き/C++嫌い • C++歴13年 – 主にWindowsゲームを作ったりしていました – 最近は仕事でコンソールアプリ書いてます

    C++コミュニティーの中心でC++をDISる
  • MinGW+MSYS+GDBでWindows上にC言語開発環境を構築する: 御手洗特急途中下車

    2010年01月(1) 2009年12月(4) 2009年11月(1) 2009年08月(1) 2009年07月(2) 2009年03月(4) 2008年11月(2) 2008年10月(2) 2008年09月(6) 2008年08月(14) 2008年07月(4) 2008年06月(5) 2008年05月(7) 2008年04月(3) 2008年03月(9) Windowsでgccを使用するためには一般的に以下の2通りの方法がある。 MinGWをインストールする。 Cygwinをインストールして、gccやgdbを動作させる。 今回はMinGWを使用してWindows上でgccを動作させることを目標とする。MinGW(Minimalist GNU for Windows)とは、その名前の通り必要最小限のGNU開発環境をWindows上に実装したものであり、またMSYS(Minimal SYS

  • ソースファイルとヘッダーファイル

    VCで初めてC言語に触れた人にとって、「ソースファイルとヘッダーファイル」という概念はかなーり難しいものだと思います。特に「インクルードしてるのになんで”定義されていない識別子です。”なんて言われるのーっ!?」と苦しんでいる方もいるのではないでしょうか。 そこで、今回はこの2ファイルの関係について見ていこうと思います。 まず「ソースファイル」について見てみましょう。 コンパイラはソースファイルをコンパイルします。コンパイルを行うプログラムCL.exeは、引数としてソースファイルひとつを取り、そのファイルをコンパイルします。つまり「ヘッダーファイル」はコンパイルしません。これが重要。ただし、「インライン関数」と「テンプレート関数」については別。これはあとで解説します。 また、ソースファイルはひとつずつコンパイルされます。複数のソースファイルがくっつけられてまとめてコンパイルされることはなく、

    chorinsky
    chorinsky 2010/11/08
    なるほど。参考になります
  • 近藤妥の C言語で始める Windowsプログラミング

    近藤妥の C言語で始める Windowsプログラミング ようこそ、Windowsプログラミングの世界へ ここでは、Windows上で動くアプリケーションを開発するもっとも原始的でもっともパワフルな方法の基礎を説明します。そう、WindowsのWIN32APIをC言語でダイレクトに用いる方法を説明するのです。 VBなどのRADツールがもてはやされる昨今、なぜC言語でWindowsプログラミングなのでしょうか?たしかに、VBなどのRADツールは、データベースとのやり取りをするユーザーインターフェースを作るのには十分です。また、MFCなどを用いる事により、高速なアプリケーションを容易に組むことは可能です。しかし、筆者の経験から極端な例を挙げると、ネットスケープナビゲーターのプラグインの開発には、いかなるRADツールやMFCなどのクラスライブラリーも役に立ちませんでした。つまり、R

  • cygwinでWindowsアプリを作るためのメモ - cygwinを使って、

    コンパイルしてそのまま実行形式を作る場合 g++ -mno-cygwin appli.cpp とか g++ -mno-cygwin appli.cpp -o appli.exe コンパイルとリンクを分ける場合 g++ -c appli.cpp g++ -mno-cygwin appli.o -o appli.exe リンクのほうに「-mno-cygwin」をつけます。 ↑ 「-mwindows」オプション gccやg++でそのままビルドして作ったものをマウスのダブルクリックあどで実行すると、 GUIベースのアプリでもコマンドプロンプトやDOSプロンプトが表示されます。 コンソールアプリを作りたい場合や、 コマンドプロンプトとかが表示されても別にかまわないのであればそれでいいですが、 そうでないなら「-mwindows」オプションをつけて コマンドプロンプトとかが表示されない実行形式を

  • ひきぷろぐ - FC2 BLOG パスワード認証

    ブログ パスワード認証 閲覧するには管理人が設定した パスワードの入力が必要です。 管理人からのメッセージ 閲覧パスワード Copyright © since 1999 FC2 inc. All Rights Reserved.

  • 1