タグ

C++に関するfjwr38のブックマーク (70)

  • ドワンゴに入社した

    そう。タイトル通りだ。筆者、江添亮はドワンゴに雇用された。一体、どのような経緯でドワンゴに入社するに至ったのか。また、どんな仕事をしているのか。それを説明するには、時系列を追って書いたほうがいいだろう。 2013年8月21日 ふとみると、以下のようなサブジェクトのメールが届いていた。 【ご相談】ドワンゴ主催の C++11, 14 に関する勉強会にスピーカーとしてご参加頂けないでしょうか C++11? C++14? なんと、日C++14などという単語を知っている企業があったのか。しかし・・・ドワンゴ? SPAMだろうか。いや、こんなにピンポイントなSPAMがあるわけがない。 それにしても解せないメールだ。ドワンゴといえば、もちろん、あの有名なニコニコ動画の企業だ。ニコニコ動画と言えばWebサイトだ。ニコニコ動画やその関連サービスの開発にC++を使っているのだろうか。いやまて、たしか子会社

  • メモリリークとは何か - kuenishi's blog

    メモリリークに悩まされている技術者は多いだろう。メモリリークが嫌でGCという技術が開発されたといっても過言ではないし、歴史的にはC++からJavaへシフトが起きた大きな理由のひとつといっていい。Unix系の簡単な定義でいえば、ヒープ領域を指すポインタ(アドレス)をロストしてしまえばそのメモリはもう漏れたといってよい。たとえばこういったコードだ。 struct { int i; char c; } spam; int main(){ void* p; int i; for(i=0; i<1024; ++i){ p = malloc(sizeof(struct spam)); } pause(); } このコードではpause(3)の時点で約5KBのメモリが漏れている。free(3)を使えばメモリをOSに返却できるが、アドレスが分からないので返却できない。 ところが、ここでいいたいのは、メモリ

    メモリリークとは何か - kuenishi's blog
  • C++11 スマートポインタの話 - ここは匣

    C++にはガーベジコレクタが言語的には存在しないので、動的に確保したオブジェクトのメモリの管理はプログラマが責任を持って管理しなければ、メモリリーク・リソースリークなどの問題を生じてしまいます。 今時のプログラマはこうした問題を引き起こすリスクを減らす為に、記述ミスの起こりやすい生のポインタを使い自力でnewとdeleteを記述する事を避けて、安全なスマートポインタ、即ちオブジェクトの寿命により自動的にメモリ解放を行う便利なポインタを利用するべきです。 しかし、スマートポインタと言っても種類が幾つかあり、落とし穴も存在するのでどういった状況でどれを利用するのが良いのかを考察してみます。 Dynamic memory managementを見てみても C++11から随分増えていますね http://en.cppreference.com/w/cpp/memory std::auto_ptr

    C++11 スマートポインタの話 - ここは匣
  • Announcements

    Cocos Official Forums

  • 関数へのポインタ - Wikipedia

    関数へのポインタ (かんすうへのポインタ、英: pointer to function) あるいは関数ポインタ (かんすうポインタ、英: function pointer) は、C言語, C++, D言語やその他多くのプログラミング言語におけるポインタの一種である。関数へのポインタをデリファレンス (dereference) すれば、そのポインタが指し示す関数(サブルーチン)を呼び出せる。応用例としては、switch文を置き換えるテーブルジャンプを実装する、コールバック関数によるカスタマイズポイントを提供する、などといったものがある。 関数オブジェクト (英: function object) は、関数へのポインタに似ているが、コード領域中のエントリポイントを指す単なるポインタである関数へのポインタと違い、データ領域上に実体を持つオブジェクトであるという点が異なっている(実装の詳細は言語や

    fjwr38
    fjwr38 2013/03/06
  • clangでソフトウェアをビルドしC++を知る - 射撃しつつ前転 改

    clangというのはllvm向けのC/C++/Obj-Cのためのフロントエンドで、最近はGoogle ChromeとかFirefoxもコンパイルできるレベルにまで成熟してきているらしい。 いくつかのブログで紹介されているのを見ても、ふーん、ぐらいにしか思っていなかったのだが、あんな大規模なソフトウェアがコンパイルできるというのは、考えてみるとすごいことである。大事なことなので強調しておくが、すごいことである。十分に実用的なレベルに到達していることだ。ビルドも早いし生成されたコードもg++と同程度には速いというし、試してみる必要がある。 という訳で、いくつか実際にソフトウェアをビルドしてみた。試してみた限りでは、 libstdc++のtr1/unordered_mapがビルドできない C++のコーナーケースで、clangが許容しないものが多い といった問題があったが、割とどれもすんなりとコン

    clangでソフトウェアをビルドしC++を知る - 射撃しつつ前転 改
  • C++名前空間

    [ C++で開発 ] C++名前空間 昔C++をかじった頃は名前空間はありませんでした。Javaに手を染めてから標準C++に入ったときに、名前空間を知って、これはJavaのpackageと同じようなものだなぁと思いました。 クラスが増えてくると、クラス名等の名前定義の衝突が考えられます。古くは、定義名の先頭にプロジェクトなどの名称を接頭辞として付与する方法を取っていましたが、名前空間を使用すると効果的な管理ができるようになります。 また、UMLによる設計をしている場合、パッケージを実装するのに名前空間を使います。 名前空間の使用方法 名前空間の中に型定義を行う 名前空間を指定して関数宣言、定数定義、型定義をする場合、namespace 名前 { ... } で囲います。通常これらはヘッダファイルに記述することになります。 namespace torutk { void clear_list

  • Amazon.co.jp: ゲーム開発のための数学・物理学入門 改訂版 (Professional game programming): ウェンディ・スターラー (著), 山下恵美子 (翻訳): 本

    Amazon.co.jp: ゲーム開発のための数学・物理学入門 改訂版 (Professional game programming): ウェンディ・スターラー (著), 山下恵美子 (翻訳): 本
  • C++の話(本当にあった怖い話)

    constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだGenya Murakami

    C++の話(本当にあった怖い話)
  • Rust (プログラミング言語) - Wikipedia

    Rust(ラスト)は、性能、メモリ安全性、安全な並行性を目指して設計されたマルチパラダイムのプログラミング言語である。C言語、C++に代わるシステムプログラミング言語を目指しており[2]、構文的にはC++に似ているが[3]、「ボローチェッカー」(borrow checker) で参照の有効性を検証することによってメモリ安全性を保証できる。Rustはガベージコレクションなしでのメモリ安全性を達成しており、必要な場面で参照カウントを使うこともできる[4][5] 。 Rustプロジェクトはオープンソースのコミュニティベース開発で進行しており[6]、言語仕様(検討段階含む)、ソースコード、ドキュメントはオープンソースライセンスで公開されている[7]。2006年の開発初期は、Mozillaの従業員のグレイドン・ホアレ(Graydon Hoare)[8]の個人プロジェクトだったが、2009年にMozi

    Rust (プログラミング言語) - Wikipedia
  • C++で静的配列の要素数を求めるテンプレート関数 | TECHSCORE BLOG | TECHSCORE BLOG

    こんにちは、鈴木です。 唐突ですが、C/C++ で静的配列の要素数を求めるときに、どのようなコードを書きますか?

  • kei@sodan

    いろいろ '14 02/15 自己紹介 / [an error occurred while processing this directive] Finland留学 / [an error occurred while processing this directive] 英語 / [an error occurred while processing this directive] フィン語 / '16 07/26 言語の話題 / '14 01/02 思ったこと / '13 04/20 リンク 解説記事 '16 03/21 数学とアルゴリズム '14 02/16 マイコンと組み込みLinux [New!] '11 01/30 Jpeg の仕組み '08 07/12 並列分散処理 '09 06/08 Linux を読もう '04 01/22 LinuxでI/O制御 '04 01/28 O

  • box2dチュートリアル - jarinosuke blog

    第一回 一回目の今回はbox2dについての自分自身での復習も含め、テンプレートのソースを読んでいきたいと思います。 ただ! このテンプレートが、というかBox2dの仕様なのかよく知りませんが、僕は若干ソースを追いにくく全体を把握できませんでした。 なので、今まで使ってきましたがもう一度Box2dのコードを読み進めながら、それを改良していきたいと思います。Chipmunkは今回は無しです。 また、今回のソースは以下に上げてあるので、pullして照らし合わせながら読んで頂けると分かりやすいと思います。 git clone https://github.com/jarinosuke/KuwagataFallsおかしな所などありましたら、githubでコメント頂けると嬉しいです。 まずはWorld box2dは現実と同じように物理の力が働きます。なので「世界」を作らないといけません。 HelloW

    box2dチュートリアル - jarinosuke blog
  • SWF を変換して Cocos2d-x で表示できる Super Animation Converter | Sun Limited Mt.

    Flash の swf ファイルを Cocos2d や Unity で表示するというのは、先日 GREE さんからオープンソースとして公開された LWF が有名ですが、Cocos2d-x では使用できませんでした。ところが去年末に Super Animation Converter というツールが公開されました。 cocos2d-x のフォーラムでのスレッド http://www.cocos2d-x.org/boards/6/topics/19621?r=19711 GitHub https://github.com/raymondlu/super-animation-samples GitHub から落としてくると、中にサンプルプロジェクト(Cocos2d-x と Cocos2d-iPhone)とコンバータ、マニュアル(PDF) などが入っています。PDF にざっと目を通せば使い方はすぐ

  • サルでき.jp

    サルでき.jpは閉鎖しました。 今まで沢山の方々にお越しいただき当にありがとうございました。 新しいサイト「サルでき.com」はこちらです。 また皆様とお会い出来るのを楽しみにしております。 サルでき.jp管理人 カワサキタカシ

  • サービス終了のお知らせ

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

  • 凹みTips

    はじめに uLipSync 周りの不具合修正を行いましたので報告となります。1 つ目の issue では WebGL ビルド時に次の 2 点が問題として報告されていました。 WebGL ビルドでリップシンクが遅れる WebGL ビルドで AudioClip 再生後に口が開いたままになる github.com また、別の issue では BlendShape の値についての報告がされていました。 現在 0 ~ 100 の値で BlendShape が計算されるが、0 ~ 1 の値で設計されたアバターにも適用したい github.com 上記 3 点について解説します。 ダウンロード 最新版は以下になります。 github.com WebGL ビルドでリップシンクが遅れる こちらはリリース記事の「タイミング調整」の項でサラッ書きましたが、Audio Sync Offset Time を利用す

    凹みTips
    fjwr38
    fjwr38 2013/02/03
    アイコンかわいい
  • サービス終了のお知らせ

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

  • Cocos2d xをさらにさわってみよう!

    Cocos2d xをさらにさわってみよう! ・これだけ覚えていればC++は怖くない ・クロスプラットフォーム開発環境構築

    Cocos2d xをさらにさわってみよう!
  • openFrameworks入門(OS X用) | Yasushi Noguchi Class

    openFrameworksとは openFrameworksは、C++で書かれたライブラリ群です。 ですがProcessingと同じように、簡単なコードのみで様々なグラフィックスやインタラクションをデザインすることができます。C++を知らなくてもプログラミングが可能になっています。 その範囲も、グラフィック、インタラクティブ表現、ネットワーク、サウンド、画像処理、フィジカルコンピューティングなど多岐にわたっています。 表現できる内容はかなりProcessingと重なりますが、C++で書かれているため、実行速度は非常に速いというのが特徴です。 この実習では、openFrameworksを使用して、実際の作品制作を体験してみます。 Processingでプログラミングをした経験がある人にとっては非常に学習しやすいです。 まずは、習うより慣れろです。さっそく始めましょう。この実習は以下の環境で