タグ

C++に関するreponのブックマーク (19)

  • ヘッダーファイルは慎重に扱わないと危険です

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

    repon
    repon 2014/06/02
    「#pragma once」ディレクティブです。これは、1度読み込まれたヘッダーファイルを記憶しておいてくれます。2回目以降にヘッダーファイルが呼ばれた時には、その読み込み自体を無視してくれます。」
  • 14.3.1 iostream を使用した出力 (Sun Studio 12 Update 1: C++ ユーザーズガイド)

    repon
    repon 2014/05/30
    ある値をバイナリ形式のままで出力するには、次の例のようにメンバー関数 write を使用します。cout.write((char*)&x, sizeof(x));
  • C++ のお勉強 - IT戦記

    とりあえず daytime のクライアント ほとんどこれの写経 #include <iostream> #include <boost/asio.hpp> int main () { // io_service を介して OS の IO を使う boost::asio::io_service io_service; // ソケットを作る boost::asio::ip::tcp::socket socket(io_service); // 名前解決をする // (ホスト名とサービス名から、 IP とポートを求める) std::cout << "resolving hostname ..." << std::endl; boost::asio::ip::tcp::resolver resolver(io_service); boost::asio::ip::tcp::resolver::qu

    C++ のお勉強 - IT戦記
    repon
    repon 2014/05/30
    読み込んだデータを std::cout に出力 std::cout.write(buf.data(), len);
  • C++とのつきあい方(15)

    続・実行時のクラス判定 以前、実行時のクラス判定として、 MFCの場合に使える方法を紹介しました。 今回は、もっと汎用的な、typeidや dynamic_castを使う方法を紹介します。 ここでは概要しか紹介しませんので、実際に使ってみる場合にはコンパイラーの 付属文書等もご覧ください。 型名を調べる まずは、型を文字列として取得する方法。変数varがあったとすると、 const char * ty = typeid(var).name(); という具合に書くことができます。tyには、 "class CHoge *"などといった具合に 型名(ここではクラス名)が入ります。 もっとも、型が想定通りであるか確認するのに assert(strcmp(ty, "class CHoge *") == 0); と書くのはいかがでしょうか。もっとこみいった型で、文字列での書き表し方が 幾通りもあるよう

    repon
    repon 2014/05/30
    「型を文字列として取得する方法。」
  • C++マニアック,ヘッダファイルの作り方,How to make header file

    C++ のソースコードは、*.cpp ファイルとヘッダファイル *.h に記述されます。これらは、それぞれ、役割分担があるわけですが、C++ のコンパイルのメカニズム的には、ヘッダファイル *.h は、#include によって、*.cpp にインクルードされるということが決まっているだけで、その記述方法のポリシーについては、完全にプログラマーに任されています。このため、ヘッダファイルには、*.cpp に記述できるものは何でも記述できてしまうのですが、だからといって何を書いても良いというわけではなく、正しいポリシーに従って記述しないと、コンパイルエラーの山に悩まされるということになります。 そこで、C++ を正しく楽しむためには、ヘッダの記述方法について、そのポリシーを明確にしておくことは大いに意味があるでしょう。 ヘッダファイルの作り方は、ヘッダの中にテンプレート関連のコードを入れるかど

    repon
    repon 2014/05/29
  • picojsonの使い方メモ – taichino.com

    JSONなデータをスクリプト言語から触るのは相当簡単ですが、C++とかでだとそれなりに大変です。なのでライブラリ使うのが良いかという話になります。最初はboostのPropertyTreeを使っていたのですが、DOMにしては中途半端だし、treewalkもできないし、コンパイル重いし、ソース読めないしでイライラは頂点に達していたのですが、picojsonが良いらしいと小耳に挟みまして試してみたら、大変使いやすかったのでメモ書きです。 実際に以下のJSONデータをpicojsonから触ってみます。 { "key1": [ "val1", "val2", "val3" ], "to_delete": "delete val" } 大まかな使い方は以下のような感じでしょうか。ツリーの内部ノードは、object型(map<string , picojson::value>)とarray型(vect

    repon
    repon 2014/05/27
  • サービス終了のお知らせ

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

    repon
    repon 2014/05/23
    webサーバとのデータは、標準の文字列ストリームとしてやりとりされる。
  • C++でCGIを

    はじめに CGI といえば Perl というのが最近の主流で、普段は C や Java でプログラミングをする人も、 CGI になると Perl を使ってプログラムを組んだりしています。なぜでしょうか? それは、 Perl での文字列の処理が非常に楽だからです。 CGI の質は(現在のところ)結局は文字列処理なわけで、文字列が単に配列として定義されている C にはできない様々な芸当をやってのけるからなのです。特に日人だと文字コードの問題もあって、jcode.pl や Jcode.pm などのライブラリが豊富にそろっている Perl を使いたくなるでしょう。 でも、最近の C++ は、Perl に負けないくらいの文字列処理を、比較的簡単にプログラミングできるようになっています。もちろん、Perl より遙かに高速に動作します。また、プログラムのコードをサーバーに置く必要がないので、万が一プ

    repon
    repon 2014/05/22
  • C言語、C++言語でCGI

    c/c++CGIを作るメリットは、何より速度とサーバへの負荷軽減です。他の言語とは比較にならないくらい高速で動作し、また、マシンへの負荷も軽いです。 サーバの処理能力は限界に近いけど、買い換えるお金もない・・なんて場合、PHPPerljavaなどのサーバー側処理をc/c++に変更するだけで、劇的に変化します。 以下、c/c++言語でCGIを利用するためのトピックスです。 ( 環境:windows + Apache2 + CGI )

    repon
    repon 2014/05/22
  • C/C++言語 開発環境

    gistfile1.md Windows/Linuxで両方で動作する成果物を想定。 有償のツールは理解が得られる方が稀なので除外。 仕様書 外部仕様 Word/Excelが手軽だけど差分が追いにくい。 Markdown+PandocかSphinxでPDF提出がいいかな? Pandoc - About pandoc Sphinx-Users.jp :: ドキュメンテーションツール スフィンクス Sphinx-users.jp 内部仕様 きちんと書いてあればDoxygenで十分だと思う。 Cしか対応していないみたいだけどdocuriumの方がgitとの親和性が高くて(tag付された結果をまとめて解析してくれるみたい)出力結果も今風にできてる。 Doxygen github/docurium インセプションデッキ 作っておくと上司/部下/協力メンバで方針を合わせやすい。 ネスケラボ » インセプ

    C/C++言語 開発環境
    repon
    repon 2014/04/22
  • C++マニアック,enum の使い方,列挙型の使い方,how to use enum,C++言語講座

    このページでは C++ の enum(列挙型) の使い方について解説し、enum の文字列化クラス作成ツールを公開します。 enum(列挙型)とは 文字列化クラス(構造体)の自動生成 enum(列挙型)と switchC++ 関連 enum(列挙型)とは ページの先頭へ 列挙型とは、ざっくり言ってしまえば、「選択肢」を表す整数の定数を定義するための変数型です。 列挙型を使わなくても整数の定数は様々な方法で定義できます。例えば、「左と右」という二つの状態を表すために、#define を使って、次のような定義を行うことが出来ます。 #define LEFT 0 #define RIGHT 1 別の方法として、const int 型の変数を定義するということも可能です。 const int iLeft = 0; const int iRight= 1; しかし上記は、「選択肢」を表すとい

    repon
    repon 2014/04/21
  • 「知恵ノート」は終了いたしました - Yahoo!知恵袋

    平素よりYahoo!知恵袋をご利用いただきありがとうございます。 2017年11月30日をもちまして、「知恵ノート」機能の提供を終了いたしました。 これまでご利用いただきました皆様にはご迷惑をおかけすることとなり、誠に申し訳ございません。 長年のご愛顧、心よりお礼申しあげます。 引き続き、Yahoo!知恵袋の「Q&A」機能をご利用ください。 Yahoo!知恵袋トップ 知恵ノートサービス終了のお知らせ プライバシー - 利用規約 - メディアステートメント - ガイドライン - ご意見・ご要望 - ヘルプ・お問い合わせ JASRAC許諾番号:9008249113Y38200 Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.

    「知恵ノート」は終了いたしました - Yahoo!知恵袋
  • http://www.g-ishihara.com/c_dt_01.htm

    repon
    repon 2014/04/18
    ポインタがさす文字列が書き換えられない
  • http://www.g-ishihara.com/c_po_01.htm

    repon
    repon 2014/04/18
  • C++11: Syntax and Feature

    C++11の文法と機能(C++11: Syntax and Feature) Copyright (C) 2013 江添亮. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GN

  • kkaneko.com

    kkaneko.com 2024 著作権. 不許複製 プライバシーポリシー

  • ロベールのC++教室

    repon
    repon 2014/04/16
  • オフライン版ダウンロード | Programming Place Plus

    申し訳ありません。お探しのページが見つかりません。 ページが削除されているか、将来作成される予定のページに対するリンクを選択されたかもしれません。 以下のリンクから、目的に近いページへ移動されるか、検索窓を使ってページをお探しください。 Programming Place Plus のトップページ C言語編のトップページ (旧)C++編のトップページ 新C++編のトップページ アルゴリズムとデータ構造編のトップページ 用語集のトップページ 参考書籍のトップページ

    オフライン版ダウンロード | Programming Place Plus
    repon
    repon 2014/04/16
  • C++マニアック,よくわかるC++言語プログラミング講座

    What's new 2008/06/30 Google 検索窓をつけてみました。 2008/06/14 身長や体重など複数の基準でソートする例 を追記。 2008/06/14 英文字文書を読んで、文字数の頻度順にソートする例 を追記。 古い What's new 当サイトで提示するサンプルコードは、あまりにも単純明快で、一見つまらないぐらいに見えるはずです。しかし、もしあなたがそう感じたのであれば、それは、ねらいどおりで、大成功と言えます。ちょっと難解と思われている C++ が、つまらなく見えるほど平易に解説されているということですから。 基礎(入門)編 その他(非 C++ 的) エッセー C++ はアセンブリ言語のように軽快であるにもかかわらず、仮想クラスやクラスの継承、オペレータのオーバーロード、そして、テンプレートと、高級言語のプログラミングテクニックを余すところなく駆使で

    repon
    repon 2014/04/14
  • 1