タグ

cppに関するtsukkeeのブックマーク (144)

  • Cinder

    Download Cinder is available under the BSD License for macOS and Windows. The latest version is 0.9.2 Cinder for macOS Visual C++ 2015 All Cinder Versions Github To keep up-to-date with Cinder’s development, consider working from the github repository directly. This guide walks you through getting setup with Cinder and Github. Cinder on GitHub Sponsors Cinder is developed by the generous contribut

  • クリエイティブなC++ライブラリ "Cinder" の紹介 - Preferred Networks Research & Development

    こんにちは、人恋しい季節になってきましたね。 研究開発チームの祢次金(@nejigane)と申します。 エントリではCinderというクリエイティブなコーディング向けのライブラリについてご紹介したいと思います。 Cinderとは Cinderとは、画像、音声、動画等を簡単に処理&可視化できる、主にビジュアルデザイン向けの強力なC++ライブラリであり、The Barbarian GroupのAndrew Bell氏が中心となってオープンソースとして開発が進められています。 同様の思想を持つProcessingやopenFrameworksによく似ており、C++で簡単に記述できるうえ、WindowsMacOSX、iOS(iPhone/iPad)といった複数のプラットフォームをカバーしています。 細かい機能/特徴の紹介は家サイトに譲るとして、Cinderを極めるとどのぐらいクリエイティブな

    クリエイティブなC++ライブラリ "Cinder" の紹介 - Preferred Networks Research & Development
  • gccにconstexprが実装された

    GCC 4.6に、constexprが実装された。constexprについては、特に難しいことはない。単に、関数やクラスを、コンパイル時定数にできるというだけの話である。ともかく、せっかくなので使ってみる。この機能は、細々と解説するより、実際にコードを示したほうが分かりやすいであろう。 まずは、constexprな変数である。 int main() { constexpr int a = 0 ; // OK int value = 0 ; constexpr int b = value ; // エラー const int c = value ; // OK } constexpr指定された変数は、必ずコンパイル時定数になる。変数の初期化子は、定数式でなければならない。constとの違いは、constはコンパイル時定数でなくてもよいのである。constは、初期化子が定数式の場合、定数式にな

  • C++の落とし穴 - Stories of Your Life and Others

    C++の落とし穴 このドキュメントは下記URLのサイトを翻訳したものです。 10年以上前に作成されたドキュメントですが、いくつか新たな気づきを与えてくれた原に感謝して、翻訳してみました。 やや見づらいところもあるかもしれませんが、誰かのお役に立てれば幸いです。 C++ Pitfalls Copyright (C) Cay S. Horstmann 1997 Translated by shnya (unofficial)

    tsukkee
    tsukkee 2010/12/04
  • wav file の data を扱う - KBDAHOLIC - やぬすさんとこ

    もう更新する気はないとかいっといて ( http://d.hatena.ne.jp/janus_wel/20100530/1275206953 ) さっそくうそついた感じなんだけどいわゆる sampling data を扱う class を定義して istream_iterator や ostream_iterator で使えてうれしい形にした。 http://github.com/januswel/cpplib/commit/bb91894e7121a593db9e423e22eb33c5bcee9da2 http://github.com/januswel/cpplib/blob/master/header/wav.hpp http://github.com/januswel/cpplib/blob/master/sample/wav/main.cpp sample code の pr

    wav file の data を扱う - KBDAHOLIC - やぬすさんとこ
    tsukkee
    tsukkee 2010/11/01
    以前お世話になった
  • 可変引数テンプレートでfizzbuzz - Okiraku Programming

    やっぱりBoost.MPLのstringを使う以外に手はなさそうだ…. C++0xなら…というわけで可変引数テンプレートでfizzbuzzしてみました。 「普通(?)に boost::mpl::string でいいじゃん」という気がしますが、15くらいまでしか無理らしいので。 mpl::stringの制限のため、1〜15のみ計算しています。 っていうかまあ普通に可変引数テンプレートの練習用です。といっても型じゃなくてただの数値列だけど。 書いたコードはgist(またはエントリの末尾)です。 vtstring (Variadic Template Stringのつもり) とかいう文字列を扱うテンプレートを作って使ってます。 コードのmainにもありますが、Hello worldだったら // Hello world typedef vtstring::vtstring<'H','e','l

    可変引数テンプレートでfizzbuzz - Okiraku Programming
  • Boost.勉強会#2を開催したよ - Faith and Brave - C++で遊ぼう

    9/11(土)は、Boost.勉強会#2でした。 会場をご提供いただいたIIJ様、ありがとうございました。 Ustの配信をお願いしていた方が急遽来れなくなるというトラブルもありましたが、 IIJさんの計らいにより、なんとか配信/録画できました。以下に動画への各URLを記載しますので、来れなかった方はチェックしてみてください。 Boostライブラリ一周の旅(id:faith_and_brave, @cpp_akira) 動画 : http://www.ustream.tv/recorded/9486579 資料 : Boost tour 1_44_0View more presentations from faithandbrave. Boost tour 1_44_0_allView more presentations from faithandbrave. 今回は差分のみで量も少なかっ

    Boost.勉強会#2を開催したよ - Faith and Brave - C++で遊ぼう
  • printfやscanf、std::coutなどの入出力先をファイルに変更する - Programming Magic

    標準入力に何かを入力させて処理をするプログラムをデバッグする場合、何度も同じ入力を繰り返すことがよくある。そんなときには入力データをファイルとして用意して、パイプとリダイレクションを使ってファイルに入出力をすると便利だが、それ以外にもfreopen関数を使う方法もある。Windows上でVisual Studioのような統合開発環境を使って開発をしている場合には、こちらの方が便利かもしれない。 例えば、以下のように、標準入力から数値を読み込んで計算結果を出力するプログラムがあったとする。 #include <stdio.h> int main(){ int n; while(scanf("%d", &n)){ printf("%d * %d = %d\n", n, n, n*n); } return 0; } このプログラムは以下のようにfreopen関数を使うことで、data.txtから

    tsukkee
    tsukkee 2010/09/23
    stdin, stdoutをfreopenする
  • C++の便利ツール・ライブラリ - DO++

    フルタイムで働きはじめて4ヶ月。 いろんなことがありました。 今日はインターンが来ているということもあり日頃のC++コーディングライフの中で大変重用しているツールを紹介します。といってもどれも有名なツールでググれば解説がでてくるとは思いますので、一言ずつだけ紹介してみます。みなさんも何かよさげなライブラリ・ツールがありましたら教えてください。 - valgrind/callgrind/cachegrind プログラムの実行結果を解析するツール群。まぁ、王道であえて紹介する必要はないかもしいませんが.。valgrindはプログラムのどこかでメモリが漏れているかどうかのチェックに使います.コードのどの部分で確保した領域がどこで漏れているかまで追跡することができます valgrind --leak-check=full command プログラムのどのが計算量的にボトルネックになっているかを調べ

    C++の便利ツール・ライブラリ - DO++
    tsukkee
    tsukkee 2010/08/17
  • Visual C++ - Visual Studio 2010 の C++ と MFC での新機能の詳細

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 Visual Studio 2010 での C++ と MFC の新機能の詳細 Sumit Kumar Visual Studio 2010 は、C++ の開発者に大きなメリットをもたらします。Windows 7 で提供される新機能を利用する機能から、大規模コード ベースで作業するために強化された生産性機能まで、あらゆる C++ 開発者向けに新機能が導入され、機能強化が施されています。 今回の記事では、C++ の開発者がこれまでに直面した一般的な問題のいくつかを、マイクロソフトがどのように解決したかについて説明します。具体的には、Visual Studio 2010 では、近々リリースされる C++0x 標準

    Visual C++ - Visual Studio 2010 の C++ と MFC での新機能の詳細
  • 原文Bjarne Stroustrupへのインタビュー

    新しいプログラミング雑誌、プログラミングの魔導書 vol.1では、C++の設計者にして最初の実装者であるBjarne Stroustrupへインタビューを行った。インタビューは、英語が使われた。その英語は、日語に翻訳されて、雑誌に載せ、すでに発行されている。 しかし、翻訳というものを信用していない人もいるだろう。第一、ほかならぬ私自身でさえ、翻訳は嫌いなのだ。このたび、Bjarne Stroustrupが、自信のWebサイトで、原文を公開した。以下で落として読むことができる。 Stroustrup: Interviews Interview by Royo Ezoe C++0x from now to the release of the Standard for a new Japanese mazagine called Programmers' Grimoire. April 20

    tsukkee
    tsukkee 2010/08/17
  • GC in C++0x

    2. 自己紹介  氏名: 新 康孝 (あたらし やすたか)  Twitter ID: yak_ex  Web: http://yak3.myhome.cx:8080/junks  C++ / Perl が主戦場  某自動車部品メーカーから某自動車メーカーへ出向中  現在、仕事でコードに触れていない  競技プログラミングTopCoder、Codeforces)で 潤い補充  GC は「ど素人」 3. 渡る世間は GC ばかり  Google Code Jam 2010 Qualifier 使用言語 1位 C++ 4911 6位 Ruby 221 2位 Java 2762 7位 PHP 170 3位 Python 1459 8位 Perl 146 4位 C 751 9位 Haskell 118 5位 C# 648 10位 Pascal 95 4. 渡る世間は GC ばかり

    GC in C++0x
    tsukkee
    tsukkee 2010/08/11
  • C++の class template を使えば static メンバの実体がヘッダファイルに書けるカラクリ - higepon blog

    C++の class template を使えば static メンバの実体がヘッダファイルに書けるというテクニックがある。考えてみると不思議な動作に思える。だって分割コンパイルしたら実体が複数個出来そうじゃない?。この裏側で起こっている事を実験前に予想して試したところ、予想通りだったのでうれしかったのでメモを残す。 以下実験。 環境 g++ (Ubuntu 4.4.3-4ubuntu5) 4.4.3。Windows は試してない。 Hoge.h class template で static メンバの実体をヘッダに書く。 #include <stdio.h> template <typename T> class Hoge { private: static int counter; public: void incrementAndShow() { printf("counter =

    C++の class template を使えば static メンバの実体がヘッダファイルに書けるカラクリ - higepon blog
  • GoogleTest をいろいろ使ってみる - Natural Software

    Visual Studio で GoogleTest を使う - かおるんダイアリー 先日試したGoogleTestをもう少し触ってみました。 Primer - googletest - Getting started with Google C++ Testing Framework - Google C++ Testing Framework - Google Project Hosting このページにあるものが一通りだと思うのでサンプルっぽく仕上げてみました。 ソースはgithubにあります。 http://github.com/kaorun/gtestSample GoogleTest で使える項目(説明ページより抜粋とサンプルコード) Basic Assertions true/falseで判定する 致命的な判定 致命的ではない判定 判定条件 ASSERT_TRUE(condi

    GoogleTest をいろいろ使ってみる - Natural Software
  • モダンなC, C++の開発環境の構築方法 - 考える人、コードを書く人

    まだC, C++がないようなので書いてみた。主にLinux(DebianとかUbuntu)での環境構築について。 コンパイラ まずはapt-getでコンパイラをインストールする。UbuntuやDebianなら以下のコマンドでgccやg++および標準ライブラリ等がインストールされる。 $ sudo apt-get install build-essential デバッグツール デバッガおよびデバッグツールは少なくとも以下の三つは入れる。(あとltraceも欲しいかな?) GDB 言わずと知れたGNUのデバッガ Valgrind メモリリークや不正メモリアクセスの検出 strace システムコールのトレース $ sudo apt-get install gdb valgrind strace ビルドツール C, C++のビルドツールといえばまずmakeが浮かぶけど、最近ではSConsやCMak

    モダンなC, C++の開発環境の構築方法 - 考える人、コードを書く人
    tsukkee
    tsukkee 2010/08/09
  • https://kikairoya.hatenablog.com/entry/20100718/1279465696

  • 本の虫: 邪悪なC形式のキャストにしかできないこと

    注意:邪悪で汚らわしいC形式のキャストは、いやしくもC++プログラマたる者は、使うべからず C++では、玉虫色のC形式のキャストの機能を、三つに分割した。static_cast、reinterpret_cast、const_castである。しかし、この三種のキャストでは、C形式のキャストを完全に代替できないという声をよく聞く。曰く、「どうしても書けないキャストがある」と。 それはよく聞く話だが、では実際にどのようなキャストなのかということは、誰も審らかにしない。誰も知らないキャストであれば、特に使えなくても問題ないはずだ。ただし、「C形式のキャストならばできるキャストが、新しいキャストを組み合わせてもできない。どんなキャストかは知らないが、とにかくできないと聞いている。故に新しいキャストはクソだ」などという論調で、C++の改良されたキャストを使わぬC畑の外道がしゃしゃり出てくるのも困る。そ

    tsukkee
    tsukkee 2010/07/15
  • C++でパターンマッチ - Faith and Brave - C++で遊ぼう

    Boost.Variantについて調べていたらすごいものを見つけてしまった。 http://archives.free.net.ph/message/20090406.185710.d34aa406.el.html こういうvariantがあったときに variant< int , pair<int,double> , pair<int,int> , pair<double,int> > var; Visitorを書かないといけないのはめんどくさい。 そこで、Vairantにどんな型が格納されているかパターンマッチしてしまえ、というライブラリの提案がかなり前にあったようです。 switch_(var) |= case_< pair<_1,_1> >(...) // matches pair<int,int> |= case_< pair<int,_> >(...) // matches p

    C++でパターンマッチ - Faith and Brave - C++で遊ぼう
  • C++で論理型言語コンパイラを書いてみる

    C++ で、論理型言語(GHC)コンパイラを書く 論理型言語コンパイラを作る理由 基ポリシー: いろいろ諦める GHC の基 実装関連 C++ を使う理由 論理変数を実装する ゴールのコンパイル ゴールキューと疑似マルチタスク 疑似マルチタスクから当のマルチタスクへ 最適化 ガベージコレクション Boehm GC を C++ で使うための調査 ガベージコレクションの実装 JavaScript で GHC [JavaScript] 8-queen [JavaScript] Canvas を使った描画 [JavaScript] 組み込み述語の書き方 (メモ) KLIC との比較 GraphViz と GHC オブジェクト構造の可視化(案) GraphViz によるグラフィカルデバッグ GHC プログラミング 入出力と順序制御 竹内関数と遅延評価 [JavaScript] wait/1 と

  • vim-refからcpprefを引けるようにしてみた - walf443's blog

    vim-refを愛用しているのですが、cpprefを引けるようにしたいなということでやってみました。 vim scriptはあまり得意ではないですが、見様見真似でいくつか関数を書くだけで他と同様の感覚で使えるようになるというのがvim-refはとても便利ですね http://github.com/walf443/dotfiles/blob/579b2070c4f6152df51fbf99061473989e6294d8/vim/autoload/ref/cppref.vim 元々cpprefは落としてきたHTMLのリンクを置換することでリファレンスを辿ったりするようになってたような気がしますがvim側に出力される時点でその辺の情報が抜けおちてしまうっぽかったのでリファレンスを読んでるモードのときにキーワードを取得する段階でContextを考えつつクラス名を補完したりしてがんばってます。 一

    vim-refからcpprefを引けるようにしてみた - walf443's blog