タグ

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

タグの絞り込みを解除

c++に関するma38suのブックマーク (6)

  • C/C++でポインタによる多次元配列を連続したメモリ領域に作成する

    下記のようにC/C++の配列で多次元配列を作れば連続したメモリ領域となるが、動的に大きさを変えられないし、関数に渡したりするのも大変だ。 int a[N][M]; 一方、ポインタを使った下記の方法だと確保したメモリ領域が不連続となる。 int **a = new int*[N]; for (int i = 0; i < N; i++) a[i] = new int[M]; 動的にメモリ確保して連続したメモリ領域にしたい場合、以下のようにすれば良い。 int **a = new int*[N]; a[0] = new int[N * M]; for (int i = 1; i < N; i++) a[i] = a[0] + i * M; ここで、a[i][j] と (*a)[i*M+j] は同じ値を示す。 二次元配列、三次元配列を扱った実際のコード(C/C++)を最後に載せておく。 Cバージ

    ma38su
    ma38su 2009/08/19
  • Google C++スタイルガイド 日本語訳

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

  • 変電工 - Google C++スタイルガイド日本語訳

  • Weffc++、Qeffc++

    説明 このオプションは、Scott Meyers 著『Effective C++』のプログラミング・ガイドラインに基づく警告を有効にします。このオプションを指定すると、コンパイラーは次のガイドラインに基づいて警告を出力します。 #define ではなく、const と inline を使用する。(ユーザーコードのみ。システム・ヘッダー・コードには適用されません。) <stdio.h> ではなく、<iostream> を使用する。 malloc と free ではなく、new と delete を使用する。 C 形式ではなく、C++ 形式のコメントを使用する。システムヘッダーにある C コメントは診断されません。 デストラクターでポインターメンバーに対して delete を使用する。コンパイラーは、delete を使用していないすべてのポインターを診断します。 ポイ

    ma38su
    ma38su 2009/01/09
    Effective C++に基づくコンパイルオプション
  • Worker Thread - melpon日記 - HaskellもC++もまともに扱えないへたれのページ

    デザインパターン(マルチスレッド)まとめ スレッドを起動する時間をケチるのと、スレッド数の管理を行うパターン。 以下は増補改訂版 Java言語で学ぶデザインパターン入門 マルチスレッド編のサンプルを Boost.Thread を使って書いたコード。 これ、request じゃなくて boost::function0 にすれば汎用的な worker_thread クラスが作れそう。 というか namespace worker_thread と class worker_thread で同じ名前なのにちゃんとコンパイルできるのには驚いた。 main.cpp #include <boost/thread.hpp> #include <boost/shared_ptr.hpp> #include "channel.h" #include "client_thread.h" namespace mt

    Worker Thread - melpon日記 - HaskellもC++もまともに扱えないへたれのページ
  • Googleのロギングライブラリgoogle-glogを使ってみる - moratorium

    Googleのロギングライブラリgoogle-glogを使ってみる 2008-10-15 (Wed) 15:23 Google OSS “google glog”で探せないgoogle-glogを軽く使ってみました。Googleからオープンソースで公開されたC++向けのロギングライブラリです。以下のエントリが参考になります。 C++ のプログラムのデバッグを楽にする方法 google-gflags 1.0と、google-glog 0.1をダウンロードしてインストールします。今回はgoogle-gflagsを使用する場合についてのみ記述します。また、glogのマニュアルに一通り目を通してから読まれると良いかと思います。 まずはとにかく動かしてみます。 #include int main(int argc, char **argv) { google::InitGoogleLogging(a

  • 1