タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

ProgrammingとprogrammingとC++に関するtyosuke2011のブックマーク (75)

  • Linus「C++ はひどい言語だ。これは、多くの平均以下のプログラマーが使ってるために さらに輪をかけてゲロゲロになっていて、どうしようもないゴミが 簡単に生産されるようになってる」

    /15 [4] (21:54) 原文: http://lwn.net/Articles/249460/ From: xxx To: xxx Subject: Re: [RFC] builin-mailinfo.c をマシな文字列ライブラリを使うようにすること Date: Thu, 6 Sep 2007 18:50:28 +0100 (BST) Message-ID: <alpine.LFD.0.999.0709061839510.5626@evo.linux-foundation.org> On Wed, 5 Sep 2007, Dmitry Kakurin wrote: > > Git のソースコードを最初に見たとき、ヘンだと思ったこと: > 1. C++ じゃなくてただの C を使ってる。理由は謎。移植性がどうとか言わないで、 > そんなのウソに決まってるから。 *あんた* のほうこそ

  • ゲームプログラミングのページ

    ゲームプログラミングのページへようこそ。 あなたは、30169(旧ページ)+ 人目の訪問者です。 旧・ゲームプログラミングのページ(http://hikari-hinomoto.hp.infoseek.co.jp/)は、 iswebのサービス終了に伴い、閉鎖されてしまいました。 このページは、XNA, Windows, DirectX, Android, Star, DoJa, BREW, GBA, NDSで ゲームを作成したい人向けに、PDF資料を公開しています。 古い資料が多いですが、なんらかの役に立つことを祈っています。 (一太郎で作っていますので、申し訳ないのですが、すべてPDFとなっています) XNA Andorid GBA NDS ES Game Libraryでゲームプログラミング超入門 オブジェクト指向でつくるゲームコンポーネント C++ Windows    Direct

  • sprintf

    書式指定変換した出力を文字列に格納します 【書式】 #include <stdio.h> int sprintf(char *str, const char *format, ... ); 【説明】 書式formatにしたがって、printf関数と同様の変換を行った出力を、文字列strに格納します。 この関数を知っているのと知らないのとでは、文字列を編集する効率が全然違います。知らないと、文字列を編集するのに、strcat関数などを用い、とんでもない長文を書く羽目になってしまいます。 【引数】 char *str : 変換した出力を格納する文字列。 const char *format : 書式指定文字列。 詳しくはprintf関数を参照のこと。 ... : 可変個引数。この引数を書式指定に従い変換します。書式指定文字列はこの引数と同数必要です。 【戻り値】 成功時 : strに格納した文

  • ->、*、&、[]演算子って奥深いっすよ

    ホーム < ゲームつくろー! < C++踏み込み編 < ->、*、&、[]演算子って奥深い その1 ->、*、&、[]演算子って奥深い 「->」「*」「&」そして「[ ]」演算子は、ポインタ関連を扱う演算子です。これらの関係を曖昧に捕らえていると、関数の引数や戻り値、演算子のオーバーロードなどで大混乱を起こします。私は・・・起こしました(笑)。そこで、これら演算子の振る舞いをまとめてみました。頭で箱と矢印を描きながらご覧下さい。 ① メンバ選択演算子「->」は右辺値が大事 「->」これはメンバ選択演算子というのだそうです(MSDN)。アロー演算子と呼ぶ人もいます。これは「後置演算子」、つまり演算子の左側の値(左辺値)を使います。 メンバ選択演算子の左辺値に来ることが出来るのは通常「クラスのオブジェクトへのポインタ」です(「通常」じゃない場合については後述)。一般的なポインタ変数(int*型

  • charとUnicodeとワイド文字をごっちゃにしないために

    ホーム < ゲームつくろー! < C++踏み込み編 < charとUnicodeとワイド文字をごっちゃにしないために その4 charとUnicodeとワイド文字をごっちゃにしないために Visual Studio 2003あたりになってから、ちらほらと出てきたのが「Unicode」や「ワイド文字」という言葉。DirectXでもたびたびこれに苦しめられたりします。どうも世の中従来の1バイト文字からUnicodeへ過渡しそうな気配です。これらの文字の仕様については色々なサイトや辞書に詳しく説明されています。しかし、しっかりまとめないとやっぱり混乱してしまうもんなんです。「バイト文字をUnicodeに変換するのと、マルチバイト文字をワイド文字に変換するのは何が違うのか?」と聞かれたときに、すっと回答できますでしょうか?できる方はすばらしい。迷った方も大丈夫。世の中そんなもんです。 ここでは、c

  • OpenGL

    OpenGL は SGI (Silicon Graphics 社) が開発した 3 次元用の グラフィックパッケージ (あるいはソフトウェア・インターフェース) です。もともと OpenGL は SGI のマシンの付録で, C 言語および Fortran から呼び出して XWindow 上で 3D グラフィックスを実現するためのものです。 しかし MESA と呼ばれる OpenGL 互換ライブラリーがフリーで インターネット上で手に入ることや, マイクロソフトウィンドウズ (Windows 95/98/NT/Xp) で使用できることの理由からも, 今では OS に依存しない標準のグラフィック・インターフェースになっているようです。 ここでは、Windows Xp 上の Visual C++.NET 2003 で OpenGL を使用する方法を解説しています。 最近

  • 参照とポインタ

    この文章はプログラマでもプログラミング言語の専門家でもないただのプログラミング好きの私が適当に書きつづったものです。よってこの文章には正しい箇所もあるでしょうが、間違っている箇所もかなりあるはずです。ご指摘いただけたらと思います。また、この文章を読んでも内容を鵜呑みにしないでください。鵜呑みにした結果何か起きても知りません。 "諸悪の根元"-ポインタ Cの特徴の1つとして、また初心者が必ずつまずく(*)とされる難所としてポインタがあげられるわけだが、ポインタはどうも最新流行のプログラミング手法の中では諸悪の根元として忌み嫌われているようだ。 (*) 自慢するわけではないのだが、私は別にポインタでつまずいた記憶はない。もちろん、効果的な使い方などはその後いろいろなコードを読んでいく中で身に付いていったわけだが。 ポインタは確かに諸刃の剣である。非常に便利な反面、危険でもある。例えば次のような

  • EffectiveC++入門

    C++プログラマにとって、『Effective C++』はバイブルのような存在です。どれくらいバイブルかというと、皆さんの使っているGNUのGCCコンパイラには、EffectiveC++のコーディングガイドラインに従っているかどうかチェックするためのコンパイラオプション『-Weffc++』が、あるくらいです。 しかし、その内容は決して初心者向きではなく、実際に買ったはいいが、書棚の肥やしになっているような人たちも多いと思います。そこで、そのような初心者の人たちに EffectiveC++ を読み解くために各章のエッセンスをまとめたガイドラインを書いてみました。 C++はもう時代遅れとよく言われますが、組み込み系からビジネスシステムまで、幅広くカバーできる言語は、C++以外にありません。C++を知っていれば、おそらくどのような業界にも通用するでしょう。ITプログラマを自負するのであれば、C+

  • C++のクラスをマスターしよう(前編)(1/5) - @IT

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

  • 「プログラミングの魔導書」の情報公開 - Faith and Brave - C++で遊ぼう

    http://longgate.co.jp/products.html 弊社、株式会社ロングゲートで、プログラミング雑誌を作るというプロジェクトが進行しています。 書創刊の目的は、プログラミングの入門記事が巷に溢れる今、プログラマのさらなる成長のため情報発信を行い、業界全体の技術力を向上させることです。 雑誌といっても、記事の質を保つために不定期刊行としていることから、実際には雑誌ライクな書籍となります。 書籍名は「プログラミングの魔導書〜Programmers' Grimoire〜」です。 創刊号となる今回のテーマは、サブタイトルにも含まれている「C++」です。全ての記事がプログラミング言語C++に関するものとなっています。 Vol.1のテーマをC++としたのは奇をてらったものではありません。 C++は習得の難しい言語と言われておりますが、近年はBoost C++ Librariesに

    「プログラミングの魔導書」の情報公開 - Faith and Brave - C++で遊ぼう
  • 64ビットプログラミングのポイント

    64ビット環境へ移行する際の注意点 ここでは、従来の32ビット環境に慣れてしまったプログラマがしばしば犯してしまうミスを交えつつ、32ビット環境から64ビット環境へ移行する際に注意すべき代表的なC言語のプログラミング例を紹介します。 もちろん、32ビット環境でプログラムを書いたことのないプログラマにも有用な情報です。 ポインタをint型やlong型変数に代入しない ポインタをint型やlong型変数に代入し、それを操作してはいけません。 アセンブラまたはインラインアセンブラを使った経験のあるプログラマは、C言語のポインタを整数型変数に代入してアドレスの計算を行うようなコードを書くことがあります。例えば、List1のようなコードです。 long a[N]; long *p; long addr; ... addr = (long) a; addr += sizeof(long) * x; /

    64ビットプログラミングのポイント
  • C++14 のラムダ式 完全解説 前編 - 野良C++erの雑記帳

    C++14 の Committee Draft が公開された. C++14 は基的には C++11 のマイナーバージョンアップであるが,バグフィックスのみを行っている訳ではなく, C++11 の時点で微妙に使いにくかった機能,特にラムダ式については,大きな機能追加が行われている. そこで, blog では,このエントリから数回に分けて, C++14 のラムダ式について説明してみることにする. 拙い文章になるかとは思うが,読者の理解の助けになれば幸いである. なお,これらの記事を書くにあたって,読者に対して C++11 のラムダ式に対する知識を要求しないように心がけたが, もしかしたら,説明不十分であり,分かりにくい部分があるかもしれない. そのような場合には, の虫: lambda 完全解説 等, C++11 のラムダについて書かれた記事は多いので, それらの記事を読んでみることを

    C++14 のラムダ式 完全解説 前編 - 野良C++erの雑記帳
  • [迷信] とりあえず memset で初期化 | 株式会社きじねこ

    よく見かけるコードですが、上のコードは、必ずしも期待した結果になるとは限りません。なぜなら、double 型やポインタ型は、これらを構成する全ビットが 0 になったとしても、オブジェクトの値が 0 になるかどうかは分からないからです。 確かに、ほとんどの処理系では上記のコードでも問題なく、そして期待通りに動作します。しかし、それはあくまでも"たまたま"動いているに過ぎません。そうした不安定な要素をなくすために行った初期化が、かえってコードを怪しくしてしまっているのです。 単に、集成体の全要素をゼロクリアしたいだけであれば、 とすれば十分です。こう書くと、おそらく次のような反論が返ってくることでしょう。「その方法では、構造体の詰め物がゼロクリアされない」と。しかし、構造体の詰め物にアクセスして、言語仕様上保証される結果を期待することには無理があります。 構造体の詰め物をゼロクリアしたい理由は

  • C++の基礎 : C++ の基本知識

    C++の基礎 : C++ の基知識 はじめに このチュートリアルでは、C 言語は知っているが C++ 言語については知らない方を対象に、 C++ 言語の基的な使い方を解説していきます。 C++ テンプレートのような高度な言語機能については解説しません。 それらについては専門書をご参照ください。 このチュートリアルでは、C 言語の知識があることを前提としています。また、所々に Java 言語との比較について言及していますので、Java 言語の知識があることが望ましいですが、必須ではありません。

  • C++の基礎 : const 修飾子

    BREW C++ ライブラリ & GUI フレームワーク & XML ミドルウェア / 携帯 Java アプリ圧縮ツール : 株式会社 ソフィア・クレイドル English FAQ C++の基礎 : const 修飾子 const 修飾子 C++ 言語には、定数を表現するための const 修飾子が用意されています。ここでは const 修飾子のさまざまな使い方について説明します。 const 修飾子を使う目的は、コンパイラによる最適化を促進するためと、プログラムの意味をより明確にすることです。 const 変数 変数の宣言に const をつけることで、その変数の値が書き換えられないようにできます。 const SIntN max_foods = 120; max_foods = 130; // コンパイル エラー const 引数 関数の引数に const を指定すると、その関数の中で

  • C++マニアック,ポインタ,pointer の使い方(クラスメンバへのポインタ)

    ポインタの使い方 ここでは C 言語と C++ 以外の言語ではあまり見かけないポインタについて解説します。 C 言語にはなく、C++ にはある、マニアックなポインタといえば、クラスメンバへのポインタです。クラスメンバへのポインタを知らない人も多いのではないでしょうか。これについては、このページの後半で解説します。前半は、通常のポインタについて解説します。 ポインタは難しいといわれることがありますが、そんなことはありません。C 言語と C++ がアセンブリ言語のように軽快であるのは、ポインタのおかげといっても良いでしょう。ここで、明快に理解してください。 ポインタは、必要なのか、使わない方がよいのか、という議論 組み込み型変数とポインタ 配列の先頭アドレスとポインタの関係 関数へのポインタ ポインタと整数の加減算(ディスプレースメント) ポインタ同士の引き算 クラスメンバへのポインタ <-

  • ISO/IEC JTC1/SC22/WG21 - The C++ Standards Committee - ISOCPP

    2025-07-18: standards | projects | papers | mailings | internals | meetings | contacts News 2025-07-17: The deadline for the 2025-08 mailing is Friday 2025-08-15 15:00 UTC News 2025-07-17: The 2025-07 post-Sofia mailing is available (14 MB tar.gz), individual papers News 2025-05-20: The revised (replacements for P3086R4 & P3100R2) 2025-05 pre-Sofia mailing is available (19 MB tar.gz), individual p

  • 龍神録プログラミングの館

    管理人の新作ゲーム「四聖龍神録2」公開開始! ※現在はより適切な設計手法で紹介した龍神録2プログラミングの館があります。 ============================================================================ 龍神録プログラミングの館では、誰にでも龍神録(東方のようなSTG)が作れるような解説を行っています。 難しい構文は使わず、初心者にもわかり易い構文のみで紹介しているので 基的なC言語の知識と、DXライブラリの知識さえあれば、誰にでも龍神録は作れます! ゲームプログラミングの館でDXライブラリに慣れたら、今度は格的なゲームを作ってみましょう! ↓ゲーム紹介動画↓ ご存じない方は是非四聖龍神録Plusを遊んでみて下さい! 全ての章のプロジェクトを一括ダウンロードする場合はこちらをクリック ※ 配布しているプロジェクト

    tyosuke2011
    tyosuke2011 2015/04/14
    これが所謂東方というやつ西方でも南方でも北方でもいいわ最近はタイトーステーションがVRSTG化しそう
  • キャスト演算子

    動的キャスト C++では、C言語の型キャストをそのまま使うことができますが それ以外に、C++特有の型キャスト演算子が用意されています その中でも、とくに重要なのが dynamic_cast でしょう この演算子は、C++のポリモーフィッククラスに対応しているもので 実行時型変換を行い、有効であれば型を変換します dynamic_cast < type-id > ( expression ) type-id には、変換する目的の型を指定します 必ずポインタ型か参照でなければいけません expression は、目的の型に変換する式を指定します type-idがポインタ型ならポインタ、参照ならば変数を指定します #include<iostream> using namespace std; class Kitty { public: virtual void func() { cout <<

  • 『コンストラクタで書かれるコロン「:」って何?』

    C++ フリーでぷろぐらみんぐ 逆引きリファレンス。 C++のやりたい事から引ける逆引きメモを書いています。 何かコメントなどいただけると嬉しいです! クラスのコンストラクタのコードを書くときに、コロン「:」が良く使われます。 これって何でしょう? 最初の頃、これが良く分からなくて調べてみると、 メンバー変数や親クラスを初期化するものだと分かりました。 <コンストラクタ1> XXClass() : m_str("###") {}; こんな具合に記述されると、m_strがstringならば以下のコードが呼ばれたのと同じことです。 string m_str("####"); それだと、コンストラクタで次のように書くのと同じだと思いません? <コンストラクタ2> XXClass() { m_str = "###"; }; 私もかつてそう思ってました。 コロンは見づらいので、{}の中で記述するほう

    『コンストラクタで書かれるコロン「:」って何?』