タグ

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

  • 関連タグはありません

タグの絞り込みを解除

Programmingとprogrammingとc++に関するtyosuke2011のブックマーク (75)

  • 前置インクリメント vs 後置インクリメント | 闇夜のC++

    後置インクリメントにはひと目で遅くなりそうな処理が見て取れますね。 前置インクリメントがインクリメント処理後、単純に自身の参照を返すのに対し、後置インクリメントではインクリメント前に一時オブジェクトの生成、そしてインクリメント後にはその前に生成した一時オブジェクトを値で返しています。 前置と後置では、単純にオブジェクトをコピーして返す分、普通に考えたら後置の方が遅いよね。というのが従来の認識でした。 「C++ Coding Standards -101のルール、ガイドライン、ベストプラクティス」の中でも、特に後置インクリメントの必然性が無い時は迷わず前置インクリメントを使うことが推奨されてきました。 元の値を必要としないときは前置形式の演算子を使おう __C++ Coding Standards (p50) 新たな主張 「ゲームエンジン・アーキテクチャ第二版」の中の一節を紹介します。 しか

  • UE4とUnrealC++について

    Event for Diverse Game Engineersというイベントで喋った時のスライドです。 Unreal Engine 4のC++環境についての解説です。

    UE4とUnrealC++について
  • 【C++】なぜヘッダと実装はわけるべきなのでしょうか(.hに実装を書くことは邪道か)

    私はC++歴3年の学生趣味プログラマーです。 「C++はなぜヘッダと実装を分けなくてはならないのか/そもそも当に分けなければならないのか」という質問です。 C++といえば、ヘッダー部と実装部を.hファイルと.cppファイルに分けることが一般的とされている言語ですが、 これは同じオブジェクト指向言語のC#やJavaにはない特徴です。 そのせいでC++使いたちは今日もcppファイルとhファイルを行ったり来たりしながらコーディングする羽目になっています。(そしてVS使いはF12とCtrl+-を得意気に連打しています。) 私にとってもそれが当たり前になって久しいですが、 時々C++を学び始めたばかりの後輩から「なぜヘッダファイルに実装を書いてはならないのか」「なぜC++は二度も同じコードを書くことを強いるのか」と質問を受けます。 私はそのたびに「実装の隠蔽化」とか「循環参照の危険が云々」とか「そ

    【C++】なぜヘッダと実装はわけるべきなのでしょうか(.hに実装を書くことは邪道か)
  • Facebook、PHPコードをC++コードに変換して高速に実行する「HipHop for PHP」発表

    米Facebookは米国時間の2月2日、PHPの性能と拡張性を改善するプロジェクト「HipHop for PHP」を発表した。PHPコードをC++に変換するプログラムで、すでにFacebook内で利用されているという。今後、オープンソースプロジェクトとして公開し、開発を進める計画だ。 FacebookはPHPを利用した大規模なソーシャルネットワーキングサイトだが、拡張性という問題に直面していた。HipHop for PHPはこの問題を解決するために数年前にスタートしたプロジェクトで、現在すでにFacebook内で利用されているとのこと。これによりWebサーバのCPU利用率が改善し、性能の改善に役立ったという。開発者によると、CPUの利用率を平均して50%削減可能としている。 HipHop for PHPにはソースコード変換機構とC++向けに再実装したPHPランタイムシステム、高速化のために

    Facebook、PHPコードをC++コードに変換して高速に実行する「HipHop for PHP」発表
  • Doxygen:コードのドキュメント付け

    コードのドキュメント付け 特殊ドキュメント・ブロック 特殊ドキュメント・ブロックは、C または C++スタイルのコメントブロックにマークを付け加えたもので、Doxygenはこれをドキュメント断片と認識して、ドキュメントを生成します。 PythonとVHDLコードについては、別のコメント表記規則があります。セクションPython での特殊ドキュメント・ブロック と VHDL での特殊ドキュメント・ブロック で説明します。 各コード要素について、説明形式が2(3の場合も)種類あり、これらがドキュメントを形成します。それは、要約説明と 詳細説明で、どちらもオプションです。メソッドと関数については、もうひとつの形式があり、いわゆる"文内"説明で、メソッドや関数の体内のコメントブロックの連結からなります。 ひとつ以上の要約説明または詳細説明を指定できます。(ただし、出現順序が指定されていないため

  • Google C++スタイルガイド 日本語訳

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

  • C++ 基底クラスのアクセス指定子 - プログラミングの教科書を置いておくところ

    private 継承や protected 継承がよくわからないということをよく聞きます クラスの継承というと is-a 関係だの is-implemented-in-terms-of 関係だのという言葉が出てきてしまうのが何となく難しそうに感じさせている一因だと思いますが、では当に難しいことなのかというと実は別に難しくも何ともありません private 継承や protected 継承がよくわからないということの原因はただ基底クラスのアクセス指定子が何を意味しているかを理解していないところにあるのだと思います Fig.1 // public継承 class CDerivedClass1 : public CPublicBaseClass { ... }; // protected継承 class CDerivedClass2 : protected CProtectedBaseClas

    C++ 基底クラスのアクセス指定子 - プログラミングの教科書を置いておくところ
  • Amazon.co.jp: C++の設計と進化: 本: ビョーン ストラウストラップ,Bjarne Stroustrup,岩谷 宏,エピステーメ

    Amazon.co.jp: C++の設計と進化: 本: ビョーン ストラウストラップ,Bjarne Stroustrup,岩谷 宏,エピステーメ
  • 本当に怖いC++erとC++という糞言語 - 神様なんて信じない僕らのために

    かつて、ゲームプログラミングはアセンブリが主流で、8bitCPUは掛け算や割り算すらないものでした。割り算がないCPUっていつの時代だよ、っていう人たちもおりますが、ゲームボーイアドバンスに搭載されているARM7TDMIは除算の命令を持っていません。(故に除算を書くと死ぬほど遅いので、乗算で代用したりする) また、浮動小数に対する演算ユニットを持っていないハードウェアもあります。ニンテンドーDSに搭載されているARM946E-Sですら、浮動小数演算ユニットはありません。(CPUの機能としてはオプションで存在する)そのために固定小数点といった技術もあるわけですが、古くさい話です。 これらはCとC++の機能を駆使していかにパフォーマンスを出すかを余儀なくされた時代です。 さておき、最近はスマートフォンでのゲーム開発も進化しており、C++iPhoneAndroidの両方で動くということもあ

    本当に怖いC++erとC++という糞言語 - 神様なんて信じない僕らのために
  • gccを用いたCの共有ライブラリの作り方 - シリコンの谷のゾンビ

    ゆとりなもので,ついこないだまで動的リンクと静的リンクの違いがわかっていなかった.動的リンクというのが理解できた頃,そっかユーティリティライブラリは自分で共有ライブラリ作ってしまえばいいんだ,というごく当たり前のことが理解できた. UNIXをさわりはじめていた初期の頃,mecab.soのシンボリックが〜〜という用なハマりがあったのだけれど,あれは要するに実行時に共有ファイルへのパスを指定してあげればよかっただけのこと. わかると当たり前だけれど,わからないと「何がわからないのかわからない」状態に落ち込むなぁ,と改めて思いました. (幸いなことに,僕の周りには「ゆとり乙ww」と指導してくれる方々がいるので認識できるようになるのですが,少なくとも大学(院)時代はそうでなかったわけで,ゆとりスパイラルの恐ろしさを体感した気がしています.) というわけで自分用共有ライブラリの作り方をきちんと理解で

    gccを用いたCの共有ライブラリの作り方 - シリコンの谷のゾンビ
  • C++11のスレッド、アフィニティ、ハイパースレッディング | POSTD

    背景と導入 何十年もの間、CやC++の標準規格は、マルチスレッディングや並行処理を「その標準の範囲を超えたもの」として扱ってきました。標準規格の目的である”抽象機械”の力が及ばない、”対象依存”という影の世界においてです。メーリングリストやニュースグループの質問には並行処理に関するものが山ほど寄せられましたが、それらにすぐに突き返された回答は「C++はスレッドには関知しません」という何とも冷淡なものでした。この件によって当時のことを思い出す人々は、今後も絶えないでしょう。 しかしC++11の登場で、そんな状況に終止符が打たれたのです。C++標準化委員会は、時代の流れに乗らないと、この先C言語が取り残されてしまうと悟ったのでしょう。彼らはスレッドや同期メカニズム、アトミック操作、メモリモデルなどの存在に、ようやく気付いたわけです。そして標準規格として、C++コンパイラやライブラリのベンダーに

    C++11のスレッド、アフィニティ、ハイパースレッディング | POSTD
  • 各言語におけるtrue/falseまとめ - 昼メシ物語

    たとえば PHP で、 if ($hoge) { ... } とか書いてあったら、 $hoge がどんな値のときに if の中身が実行されるのか即答できますか。 こういう書き方は多くの言語で可能ですが、言語によって何が真で何が偽になるのかが異なるので、それぞれまとめてみました。 C言語 C言語には bool 型が無い。 0 (int) だけが偽となり、それ以外はすべて真となる。 NULL 定数は stddef.h で以下のように ((void*)0) と定義されているため、偽値として使える。 意見が分かれそうなところですが、個人的にはNULLを偽値として使用するは好きじゃないです。 #ifndef __cplsuplus #define NULL ((void*)0) #else #define NULL __null #endif C++ C++になると bool 型が出てくる。C と同

    各言語におけるtrue/falseまとめ - 昼メシ物語
  • Ken Kobayashi CPP10

    C++によるプログラミング入門10 乱数 こんにちは。前回のプログラムはまだまだ未完成ですが、それでもかなり長かったですね。しばらくあんなのはありません。あれを完成させるため、今日から少し地道な勉強をします。 なお、これからの内容の多くはCと共通の内容です。C経験者も退屈しないようにクラスをつくる例も挙げていこうとは思うのですが、、、、。まあ、とばし読みしてください。 今日は、入門9で出てきた「新しいこと」の説明をします。 まず、でたらめな数、つまり乱数の話です。「乱数を発生させる」ということは「さいころを振る」というようなことです。ただ、さいころの場合は1から6の数しかでませんが、プログラムでは自由に選べます。 まず例を見ましょう。次のようなプログラムをコンパイルし実行してみてください。//ransu.cpp #include <iostream> #include <cstdlib> 

  • BohYoh.com - 柴田望洋後援会オフィシャルホームページ by 言語科学研究所

    13,500をこえるページから構成されるサイトは、コンピュータ・プログラミング・情報処理技術者試験対策・中国武術などに関する情報が満載です。また、多くのプログラムや約1,000ページ分のPDFファイルを閲覧・ダウンロードできます。ゆっくりとご覧ください。 What's New 2023/9/5(火) ■ 『新・明解Python入門 第2版』の「索引」のPDF全17ページを公開しました。 2023/8/30(水) ■ 『新・明解Python入門 第2版』のソースプログラムを公開しました。 2023/8/29(火) ■ 著書のコーナーに、新刊『新・明解Python入門 第2版』のページを開設しました。 2023/3/6(月) ■ 著書のコーナーに、新刊『新・明解C言語実践編 第2版』のページを開設しました。 2022/9/29(木) ■ 『新・明解C言語中級編 第2版』の「索引」のPDF全1

  • マルペケつくろーどっとコム

    <BODY> <P>このページを表示するには、フレームをサポートしているブラウザが必要です。</P> </BODY>

  • C++11 では NULL ではなく nullptr を使う - C++ プログラミング

    C++ では NULL は 0 で定義されているため、オーバーロードされた関数を呼び出すようなときに予期しない動作をすることがありました。そんな問題を補うために C++11 では nullptr というキーワードが用意されています。 ここでは、従来の NULL と C++11 で規定された nullptr とを比較しながら、それらの使い方について見て行きたいと思います。 NULL や nullptr の効果 NULL や nullptr は、ポインタに格納されている値が「何もない」とか「空である」といった意味を持たせるためのキーワードです。 このようなとき、最終的にはポインタに 0 が代入されるのですけど、例えば次のように単に 0 を代入しただけでは、プログラムには「0 を代入している」以上の意味が込められません。

  • OpenMP.org

    »OpenMP Tutorial at Supercomputing 2008 Tutorial S08: A Hands-on Introduction to OpenMP (Full day) Sunday, November 16, 2008 »SuperComputing ’08, Austin, Texas Instructors: Larry Meadows, Intel Corporation, Tim Mattson, Intel Corporation If you are planning on attending the 20th Anniversary of the SC Conference, to be held this year in Austin from November 15 through 21, and if you are interested

  • 江添亮とは (エゾエリョウとは) [単語記事] - ニコニコ大百科

    江添亮単語 ニコニコ動画で江添亮の動画を見に行く エゾエリョウ 1.1千文字の記事 6 0pt ほめる 掲示板へ 記事編集 ブログAsk .fmニコニコ動画関連動画関連商品関連コミュニティ関連項目外部リンク掲示板江添亮とは、自称・自由ソフトウェア主義者であり、ブログ上においてC++の国際規格を解説している事で有名である。また、過去にニコニコ動画上にゲーム実況動画や、良く分からない動画を上げている。また、2014年よりドワンゴで勤務している。 ブログ上での態度と異なり、実物はかなりふざけた性格である。 ブログ 江添亮は、C++コミュニティ内ではかなりの有名人であり、自身のブログ上に於いて、C++の国際規格の解説を行っている。 特にC++11の文法と機能という文書は、C++11のISO規格の内、コンパイラ実装の詳細とライブラリ部分を除いたコア言語について詳細に解説しており、プログラマーの評判も

    江添亮とは (エゾエリョウとは) [単語記事] - ニコニコ大百科
  • 3.1 配列の要素数を返す. - C/C++ 関数・マクロ集 ((ほぼ?) 処理系・OS 非依存)

    「C/C++ 関数・マクロ集」というタイトルですが, そのうちのいくつかはC専用だったりします.(苦笑) 2007/06/24(日) 追記 高木さんより, Cの規格上移植性に問題がある点をご指摘いただいたので, 現在修正中です. (たくさんあります….orz) とはいってもその多くは, めったにお目にかかれないような珍しい処理系とか, 「そんなの実在するの?」という処理系に移植する場合の話なので, 実用上ほとんどの場合は問題ないと思います. (一部そうとはいえないものもありますが.) Cの規格に照らして完全に「処理系・OS 非依存」 にするのは困難な場合もあり, 完璧な移植性にこだわるあまりプログラムが書けなくなっては末転倒なので, タイトルに「ほぼ?」を入れました.orz 2007/06/21(木) 追記 このページを含め,私が C/C++ 関連記事を書くに当たりたびたび参考に&リンク

  • noocyte のプログラミング研究室

    「生涯一プログラマ」志望の中年プログラマ noocyte (ヌーサイト) です. 主にプログラミングやアルゴリズムの話題と,自作フリーソフトを扱っています. 自分で考案したことを中心として,なるべくここにしかない情報を書くようにしています. よそに書いてあることは,そこを見ればすむことなので, わざわざここで同じことを書く気力が湧きません. (私はズボラなので.) 自分で考案したアルゴリズムやデータ構造を中心に解説します. メモリ管理 アラインメントの大きなメモリ領域を確保する方法 アラインメントの大きなメモリ領域を用いて, 高速かつメモリ効率の良い多数の集合を実現する方法 幾何学・CG のアルゴリズム集 3点の座標から簡単に角度と回転方向を求める.(2・3・N次元,外積を用いる方法) 多角形の面積,重心(図心),断面N次モーメントの公式と,向き (頂点列の回転方向) の判別方法 (Win