タグ

c++に関するyifeのブックマーク (32)

  • 国際標準規格の紹介 〜ISO国際標準規格プログラミング言語C++について〜

    はじめに こんにちは、C++標準会員の江添です。 今日は普段から表に出ている、閉鎖的なゲーム開発では使われていない開発環境についての紹介をします。 今回紹介するのは、ISO国際標準規格プログラミング言語の「C++」です。 なんと表の世界では、国際標準のプログラミング言語は、コンパイラーベンダーやC++利用企業と行ったC++に利害関係を持つ多数の代表が国際標準規格を制定しているのです。当たり前でしょ? C++は以下のような特徴を持っています。 エラーに気づきやすい静的型付け言語 C++経験者が理解しやすい言語仕様 OSに依存しない移植性の高いC++実装 実行環境に依存しないC++規格準拠の挙動の定義 C/C++の関数・クラスに最初からバインドされている 今でもクローズな実装の詳細のわからないプログラミング言語がたくさんあり、それらを使うデメリットは数多くあります。 国際規格の言語を使うのは様

  • とても賢いコンパイラーの逆襲

    The Hacks of Life: The Dangers of Super Smart Compilers Clangの最適化が未定義の挙動を検出してコード片を消し去ってしまったことに引っかかった開発者の嘆き。 今日初めて、RenderFarmのDSF render(global scenaryを作成するのに使っている内部ツール)をClangで最適化コンパイルして実行した。 結果はsegfaultだった。これは驚きだ(そして自身消失だ)。というのも、最適化していないデバッグビルドは問題なく動くし、GCCでコンパイルされた最適化ビルドも正しく動く。-O0ではバグがない(つまり#if DEVコードのバグではない)ので、「最適化は何をやっているんだ」の時間だ。 大量のprintfと試行錯誤の結果、最適化は以下のようなコード片を丸ごとすっ飛ばしていることが判明した。 for(vector<me

    yife
    yife 2015/12/21
  • C++参考書、C++11/14 コア言語を9月に出版予定

    C++11/14のコア言語の参考書。「C++11/14コア言語」が出版社ドワンゴ、販売KADOKAWAとして、9月に出版される。内容は、以下を書籍にしたものだ。内容としてはすでにすべて読むことができる。 EzoeRyou/cpp-book EzoeRyou/cpp14-appendix アマゾンには情報が掲載されたようだ。 Amazon.co.jp: C++11/14 コア言語: 江添 亮: 紙のの他にも、KindleとepubとPDF版も現時点で出す予定だ。また、もちろんのソースコードも公開される。 ソースコードは、Markdown形式だ。もともとこのはXHTMLで手書きされたが、それでは扱いづらいため、これを一度Markdownに変換した上で修正し、pandoc経由でtexに変換してから各フォーマットを生成している。不自由なフォント以外のソースコードは公開できるだろう。

    yife
    yife 2015/08/04
  • Boost勉強会 #15 札幌に参加した

    Boost.勉強会 #15 札幌が、下記のとおり行われた。 Boost.勉強会 #15 札幌 - boostjp Boost.勉強会 #15 札幌 : ATND 5月22日 「あたし、ガールズバーのホームページ作ってるんだよね」と、三十路過ぎの女が言った。「とにかく、可愛い女の子がいっぱいいますってことにしなくちゃいけなくて、当大変」 「悲惨だな」と筆者は答えた。悲惨としか言いようがない。「そもそも、何故人と話すのに金を払わねばならないのだ。今、私がここでお前に金を払って、会話してくれと頼むのは、おかしいだろう」 「でも、あたしみたいな三十路過ぎの女じゃなくて、二十代だし」 謎だ。筆者には、女の魅力というものを、世間一般が評価するように、正しく評価できない。人の魅力の評価というのは、筆者に欠如した能力であるらしいのだ。この三十路過ぎの女は、その年齢と、そして鍛えていない肥満した体躯から考

    Boost勉強会 #15 札幌に参加した
  • 超チューニング祭

    超チューニング祭開催のお知らせ ニコニコ超会議3内で開催予定のチューニングイベント! ニコニコ動画のスマートフォンサイトをHTML/CSS/JavaScriptフロントエンドチューニングしよう! (表示速度のみの判定ではありません!ユーザー投票あり!) ニコニコ動画史上最速の座を賭けた白熱の2日間・・・ 豪華賞品と名誉は誰の手に!? 協賛 株式会社ドワンゴ 公式ページ Twitter / Facebook 参加スターエンジニア 君はドワンゴの精鋭達に勝つことができるか!? 戀塚昭彦 @koizuka / 世界で最初のニコ厨 江添亮 @EzoeRyou / C++標準化委員会エキスパートメンバー 山田将輝 @masarakki / Ruby界隈で著名なエンジニア 水島宏太 @kmizu / 日Scalaユーザーズグループ 代表 日時・会場 日にち:2014年4月26日(土)・27日

    超チューニング祭
    yife
    yife 2014/04/14
    このひとたちを集めてするフロントエンドチューニングとはいったい
  • 2014-01-pre-Issaquah mailingの簡易レビュー Part 1

    今回は、論文の数が多いのと、ドワンゴに雇われているので、気でじっくりと論文を読んで解説しているし、ライブラリの論文も読み飛ばさずに読んでいるので、いつもより時間がかかる。そのため、いくつかのパートに分けて公開することにした。 今回はドラフトの更新はなし。 今回の新機能の提案の論文には、SG10のためのマクロ名の提案が目立つ。SG10というのは、Cプリプロセッサーによる機能テストのマクロ名を標準化しようという提案のStudy Groupだ。醜悪で将来廃止されるべきCプリプロセッサーに依存する機能をこれ以上増やさないで欲しいのだが。 N3824: make_array std::array<T>を返すmake_arrayの提案。以下のように使う。 // make_arrayの利用例 std::array<int, 3> a = std::make_array( 1, 2, 3 ) ; st

    yife
    yife 2014/02/17
    "[気分を害するPDF] [理論的に美しくないPDF] [PDF不使用原則も提案したい]" トランザクショナルメモリは興味深い
  • C++の歴史

    江添亮 http://cpplover.blogspot.jp/ boostcpp@gmail.com @EzoeRyou GFDL 1.3 with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. Themes Sky - Beige - Simple - Serif - Night - Default Transition Styles Cube - Page - Concave - Zoom - Linear - Fade - None - Default C++の原作者 Bjarne Stroustrup C++のオリジナルの設計者にして最初の実装者 1979年 Stroustrup、ケンブリッジで博士号を取得するべく研究中 分散システム上で動作するソフトウェアの研究 実証のため、大規模なシ

  • ドワンゴに入社した

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

  • C++参考書の販売:C++11の文法と機能

    完成したC++11参考書:C++11の文法と機能の販売をGumroad.comで開始した。 Gumroadで購入:C++11参考書:C++11の文法と機能 直接のGumroadへのURLは:https://gum.co/IwMm 内容はC++11のコア言語の文法と機能を、規格に忠実に解説した自由な参考書だ。すでにGitHubで公開しているものと同一の内容だ。 GitHub: EzoeRyou/cpp-book GitHubからzipでダウンロード GitHub Pagesでの閲覧:C++11の文法と機能 の虫: C++11参考書の公開:C++11の文法と機能 価格は、最低5000円以上の任意の額で購入できる。値段に関しては色々とあるだろうと思うが、筆者は、これでも安すぎると思っている。電子書籍に対価を支払う文化を根付かせなければならない。あまりに安すぎると意味がない。あまりに高すぎると払

  • 歌舞伎座.tech#2 (2013/11/14 18:30〜)

    お知らせ イベントページ内のフィードコメント投稿仕様を変更しました。今後、コメントの投稿は、イベントに参加登録(補欠・抽選を含む)しているユーザー、またはイベント開催関係者(管理者・発表者)のみ可能となります。参加登録をしていないユーザーで、イベントページに関する連絡や質問がある場合は、「イベントへのお問い合わせ」機能をご利用ください。 お知らせ 2024年9月1日より、connpassではスクレイピングを禁止し、利用規約に明記しました。以降の情報取得にはconnpass APIをご利用ください。APIご利用についてはヘルプページをご確認ください。

    歌舞伎座.tech#2 (2013/11/14 18:30〜)
    yife
    yife 2013/10/28
    「本の虫」の江崎さんがくるらしい
  • たのしいバイナリの歩き方

    2013年8月22日紙版発売 2013年8月22日電子版発売 愛甲健二 著 A5判/320ページ 定価3,058円(体2,780円+税10%) ISBN 978-4-7741-5918-8 ただいま弊社在庫はございません。 Amazon 楽天ブックス 丸善ジュンク堂書店 ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle 楽天kobo honto このの概要 「シューティングゲームをチートから守るには?」 「リバースエンジニアリングされないためには?」 「脆弱性を見つけ,権限を奪取するには?」 普通のプログラミングだけでは意識しない低レイヤーの世界は,コンピュータを自在に操れる楽しさでいっぱい。アセンブラの読み方から最新の応用事例まで,技術と考え方が実例を通じてわかります。 こんな方におすすめ コンピュータの仕組み/低レイヤーに興味が

    たのしいバイナリの歩き方
  • https://fumieval.tumblr.com/post/28324791101

  • Cでのポインタの読み方

    Cでのポインタの読み方 Cのポインタの読み方は、ルールを知らないと摩訶不思議です。 ルールを覚えれば、 int (*p[5])[3]; char (*(*fp)(void))(int); なんてのも解読する事ができます。 大事な前程 ポインタを読む際には、「英語で読む」必要があります。 「え~、英語~」 と思う方もいるかもしれませんが、逆に日語で読む方が大変です。 基ルール ルール 後置演算子が優先。 関数の() 配列の[] 前置はあとで。 要は、「後ろに何かあったら、後ろが優先」です。 演算子の英語での読み方 * pointer to ... () function returning ... [] array of ... Lesson 1 まず、演算子が単独で出てくる場合です。 Lesson 1-1 pointer to ... int *p; これは、まずpを見ましょう。 i

  • 小人閑居して: 「ぐへへお姉ちゃんパンツ何色」から始めるクラス解説

    2011年12月6日火曜日 「ぐへへお姉ちゃんパンツ何色」から始めるクラス解説 「ぐへへお姉ちゃんパンツ何色」はこれ以上ないほどオブジェクト指向であり、しかも理想的な実装をしていることに気づきました。これを用いてオブジェクト指向を説明してみようと思います。 ある人が「ぐへへお姉ちゃんパンツ何色」と質問するのは、お姉ちゃんオブジェクトの保持するpants_color変数を取得しようとする手続きと見ることが出来ます。つまり oneechan.pants_color を取得しようとしているわけです。 ではどうすればいいのでしょうか? 考えてみましょう。直接パンツを見ればpants_colorを取得することができますね。 クラスを使わないとすればこんな書き方が考えられます。 struct oneechan{      int pants_color; }; 構造体でひな形を宣言します。

  • 家電を音声コントロールしてみる

    なぜ地球の裏側のコンピュータにワンクリックでアクセスできるのに、部屋のエアコンの温度を変えるのにリモコンを探さないといけないのか

    家電を音声コントロールしてみる
  • 評価戦略 - Wikipedia

    出典は列挙するだけでなく、脚注などを用いてどの記述の情報源であるかを明記してください。 記事の信頼性向上にご協力をお願いいたします。(2014年9月) 評価戦略(ひょうかせんりゃく、英: evaluation strategy)とは、プログラミング言語や、ラムダ計算のような式から成る計算模型において、如何なる手順で、評価すなわち式から値を得るか、という(通常決定的な)規則群である。 プログラミング言語では、その意味のうち、サブルーチン呼び出しや演算子式の評価において引数をいつどういう順序で評価し、仮引数は実引数にどう置換されるのか、サブルーチン呼び出しや演算子式の値への置換はどうなのかといったことが、言語仕様によって、あるいは実装によって定義される(あるいは未定義とされる)。 ラムダ計算(など)における評価すなわち簡約(reduction)においては「(1)入れ子状になった式の最も外側から

  • 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++の話(本当にあった怖い話)
  • Bayonetta 8 Bit browser game “Angel Land” on 404 page.

    System requirements Web Browser (PC) : Chrome (latest), FireFox (latest), Safari (latest), Internet Explorer (9 or above) iPhone : iOS 7 or above COPYRIGHT © PLATINUMGAMES INC. 2015

    Bayonetta 8 Bit browser game “Angel Land” on 404 page.
  • 本の虫: 確率分布の使い方

    C++0xのstd::randomには、様々な分布クラスが存在する。一体どうやって使い分ければいいのか。ここでは、ゲームにたとえて考えてみる。 もっとも簡単な分布は、一様分布(Uniform distributions)である。これは、a ≦ i ≦ b, の範囲の値iを、それぞれ等しい確率で返す分布である。 ゲームでいえば、サイコロやルーレットなどの実装に使えるだろう。 // 六面サイコロの実装 int main() { std::mt19937 rng ; // 一様分布 // 0から5までの数字を等しい確率で返す分布 std::uniform_int_distribution<> dice(0, 5) ; int a[6] = { } ; // 六面サイコロの出た目の回数を記録する配列 // 600回サイコロを振る for ( int i = 0 ; i != 600 ; ++i )

  • FTIRマルチタッチディスプレイの作り方(前編) - arc の日記

    昨日、CV/ARに関する普通じゃない勉強会2.0で「touchBox: マルチタッチできる箱を作ってみた+α」と題して発表してきました。箱を作るのに時間を取られて発表はぐだぐだ気味でしたが、そのフォローアップの意味も兼ねて、マルチタッチディスプレイの作り方を2回に分けて具体的に説明します。 06/26追記; スライド公開しました: http://handsout.jp/slide/1447 前編は原理から素材の購入まで、後編は組み上げからハードウェアの完成、ソフトウェア開発の導入部までを扱います。ソフトウェア側で輪郭抽出をして座標を取って…というあたりはライブラリに頼るか必要に応じて自作することになると思うので、導入に留め、詳しくは書きません。 僕が所属している研究室で初めてマルチタッチディスプレイを組み上げ、基的なノウハウを蓄積したhttp://www-ui.is.s.u-tokyo.

    FTIRマルチタッチディスプレイの作り方(前編) - arc の日記