タグ

C++に関するsh4869のブックマーク (11)

  • これでほぼ完璧! C++シングルトン基底クラスの決定版! - 株式会社CFlatの明後日スタイルのブログ

    シングルトンパターンは、デザインパターンがさっぱりわからないプログラマーでも聞いた事があるかもしれないくらい有名であるにもかかわらず、真面目に実装しようと思うと様々な問題が発生してしまいます。 具体的には、 static変数の初期化順序が未定義であるために、予期せぬ値を参照してしまう。 複数のスレッドから同時に初期化処理を行なった際、適切な同期を行なえない。 シングルトンクラスのコンストラクタでシングルトンを参照した際、無限ループが発生する。 このうち最後だけはどうにもなりませんので何とか気をつけることとして、他の2つはできれば「シングルトン基底クラス」的なクラスを継承すれば自動的にどうにかしてくれる……というのが理想的です。 なので作ってみました。 #include <memory> template <class T> class Singleton { public : static

    これでほぼ完璧! C++シングルトン基底クラスの決定版! - 株式会社CFlatの明後日スタイルのブログ
  • コンセプトは滅びぬ!何度でもよみがえるさ!コンセプトの力こそC++erの夢だからだ! - spinorのブログ

    有名なあのセリフをいじってみたら、結構ハマっていたので、そのまま記事のタイトルにしました。過度な期待をされた方、ごめんなさい。ネタはタイトルだけです… はじめに これはC++11 Advent Calendar 2011の16日目の記事です。17日目の担当は、@yak_exさんです。Advent Calendarに参加するのは、これが初めてです。よろしくお願い致します。 この記事では、C++11の主要な機能の1つになるはずだった、コンセプトの入門的な紹介をします。皆さんもご存知のとおり、2009年7月のフランクフルト会議においてコンセプトは委員会草案から削除され、C++11ではコンセプトを使用できません。なので、ただ単に業務でC++11を使えるようになりたい方にとっては、コンセプトを勉強する価値はあまり無いかもしれません。ただ、コンセプトの概念を知ることによって、C++プログラミングの、更

    コンセプトは滅びぬ!何度でもよみがえるさ!コンセプトの力こそC++erの夢だからだ! - spinorのブログ
  • ネットワーク - TCP - boostjp

    インデックス 接続 接続待機 メッセージ送信 メッセージ受信 名前解決して接続 タイムアウトを設定する 接続 同期バージョン 同期バージョンの接続には、boost::asio::ip::tcp::socketクラスのconnect()メンバ関数を使用する。 接続先の情報はtcp::endpointに、IPアドレス文字列と、ポート番号の2つを指定する。 connect()の第2引数としてerror_codeを渡した場合には、接続失敗時にエラー情報がerror_code変数に格納される。 error_codeを渡さなかった場合には、接続失敗時にboost::system::system_errorが例外として投げられる。 #include <iostream> #include <boost/asio.hpp> namespace asio = boost::asio; using asio:

  • corbieのブログ:automakeの使い方 (1)

    2011年06月10日 automakeの使い方 (1) 自分でプログラムを作っていて、Makefileも手で書いてましたが、ソースやヘッダファイルの構成が変わったときに依存関係をMakefileに反映するのが面倒になってきました。第一、間違えやすい。 そこで、./configure && makeできるようにするため、automake/autoconfの使い方を勉強します。 以下、備忘録。 まずは簡単な例で、既存のCソースファイルに対してconfigureスクリプトとMakefileを生成する手順です。 必要なソフトウェア automake 1.11 autoconf 2.67 例題のプログラム構成 3つのCソースファイルと2つのヘッダファイル、それとREADMEがあります。トップディレクトリ(以下、top_dir)の下にサブディレクトリsrcを作り、ソースとヘッダファイルはsrcに置く

  • Vim で C++ を書くときの逆引きリファレンス - はやくプログラムになりたい

    この記事は C++ AdventCalendar 2013 の 10 日目の記事です. 記事では VimC++ を書いている人を対象として,逆引きで Vim の機能やプラグインについて紹介していきます. すべてについて細かく書いているとキリが無いので,基的な使い方とプラグインのリポジトリへのポインタ,主要な記事へのリンクを載せています. より詳しく知りたい場合はリポジトリ内の README やドキュメント(/doc内にあります),プラグインインストール後の :help コマンドを利用してください. また,何か問題が発生した場合など,助けが必要な場合は Lingr というチャットサービスの Vim 部屋でも対応してもらえることがあります. http://lingr.com/room/vim 目次 シンタックスハイライト C++11 のシンタックスハイライト(cpp-vim) 補完す

    Vim で C++ を書くときの逆引きリファレンス - はやくプログラムになりたい
    sh4869
    sh4869 2015/04/22
  • Google C++スタイルガイド 日本語訳

    Text Drop 翻訳、プログラミング、写真、カメラなどについて書いてます。スタイルガイド/コーディング規約やチートシートなど、ちょっと便利なものを翻訳しています。 TEXTdropでは、C++プログラマーも利用できるパワフルな機能を搭載。C++のコードを書く際に行う手順や避けておきたい工程などを詳しく説明しています。コードスタイルラインの日語版では、日語訳やJ P Yへの換金もサポート。話題性があるオンラインカジノ 日円変換や入金の際のバグにも対応しています。統一性のあるコードを書くためのポイントや規約の種類を参考にする事ができます。

    sh4869
    sh4869 2015/04/21
  • WebSocket++ | Zaphoyd Studios

    WebSocket++ is a cross platform open source (BSD license) header only C++ library that implements RFC6455 (The WebSocket Protocol) and RFC7692 (Compression Extensions for WebSocket). It allows integrating WebSocket client and server functionality into C++ programs. In its most common configuration full featured network I/O is provided by the Asio Networking Library. Design Philosophy WebSocket++'s

  • LinuxにおけるTCPソケット通信を利用したプロセス間通信 - MyEnigma

    マスタリングTCP/IP 入門編 第5版posted with カエレバ竹下 隆史,村山 公保,荒井 透,苅田 幸雄 オーム社 2012-02-25 Amazonで最安値を探す楽天市場で最安値を探すYahooショッピングで最安値を探す 目次 目次 プロセス間通信の必要性 TCPを使用したプロセス間通信 C++でTCP通信用ライブラリの使い方 Javaでのソケット通信 ソケット通信のエラーの確認方法 Address already in use というエラーが発生した場合 C++TCP通信用ヘッダライブラリ (Linux) 参考資料 MyEnigma Supporters プロセス間通信の必要性 大規模なソフトウェアを作成しようとすると、 プロセス間通信の機能が欲しくなります。 複数のソフト(プロセス)を同時に走らせ、 それらのプロセスがデータを通信しあうことによって、 複数のプログラムによ

    LinuxにおけるTCPソケット通信を利用したプロセス間通信 - MyEnigma
    sh4869
    sh4869 2015/04/09
  • Porting clock_gettime to windows

    I have the following code running on qnx momemntics. #define BILLION 1000000000L; struct timespec start_time; struct timespec stop_time; void start MyTestFunc() { //Initialize the Test Start time clock_gettime(CLOCK_REALTIME,&start_time) // ... additonal code. cout << "The exectuion time of func "<< calculateExecutionTime(); } double calculateExecutionTime () { clock_gettime(CLOCK_REALTIME,&stop_t

    Porting clock_gettime to windows
    sh4869
    sh4869 2015/01/06
    めっちゃ笑ってる
  • Windows用Pthreadインストール用メモ

    Linuxで作成したプログラムをWindowsでコンパイルする必要があり,そのときのメモ.開発環境はWindows7,  Codeblocks 10.05 + MinGW. CodeblocksはMinGW付きのパッケージを選択できるのでそれを利用.g++,  make, gdbなどの開発環境は入っているが,Pthreadが必要なのでWindows用のものをダウンロードする.それをMinGWのディレクトリにコピーして終わり.以下はその具体的な作業. Pthread関係で必要なファイルをsourceforgeのmingwプロジェクトのpthreadのページから次のファイルをダウンロードする. libpthread-2.8.0-3-mingw32-dll-2.tar.lzma pthreads-w32-2.8.0-3-mingw32-dev.tar.lzma lzmaで圧縮されているので,7z

    Windows用Pthreadインストール用メモ
    sh4869
    sh4869 2015/01/06
  • How to install C++ plugin to Eclipse?

  • 1