タグ

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

    以下の例では、関数へのポインタとしてfunc_ptrが宣言され、そこへ関数my_functionのアドレスを割り当てている。そしてfunc_ptrを通じて関数を呼び出している。 #include <stdio.h> static int my_function(int a) { printf("my_function: %d\n", a); return 2 * a + 3; } int main(void) { int (*func_ptr)(int a) = my_function; /* あるいは以下でも可能 */ /* int (*func_ptr)(int) = &my_function; */ int x; x = (*func_ptr)(10); /* あるいは以下でも可能 */ /* x = func_ptr(10); */ printf("main: %d\n", x);

    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++の話(本当にあった怖い話)

    The document discusses C++ and its history and features. It describes C++ as an extension of C with object-oriented features like classes. It provides information on the creator of C++, Bjarne Stroustrup, and the evolution of C++ since its introduction as a way to add object-oriented programming to C. It also includes sample C++ code demonstrating the use of arrays and includes from the Boost libr

    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 を読もう '24 03/25 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

    はじめに 前回に引き続き、まだ諸々の事情により開発の時間が取れておりませんので GitHub の現状についての雑談記事です。 現在の状況 uRaymarching に続いて今月は uLipSync と UnityFurURP のお気に入り数が 1000 を超えました!皆さんありがとうございます。今のトップページがこんな感じになりました(嬉しい): uLipSync github.com 大昔に書いた記事でリップシンクのプラグイン作成を試みたのをきっかけに、いろいろなモデルのセットアップに対して簡単にリップシンクを適用できるように汎用的なものにしようと開発を始めたのがきっかけのライブラリです。元の記事が 2013 年、uLipSync を作り始めたのが 2021 年なのでだいぶ息の長いプロジェクトですね。 tips.hecomi.com tips.hecomi.com 最近はもっぱらこちらの

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

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

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

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

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

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