タグ

c++とあとで読むに関するfan-tailのブックマーク (13)

  • C++30周年を記念してCFrontのバグ調査をしてみた

    Finding Bugs In The First C++ Compiler - What does Bjarne Think! CFrontの30週年を記念して、C++の設計者にして最初の実装者であるBjarne Stroustrupの実装したC++実装、CFrontに静的解析ツールをかけてバグを洗い出してみた記事が上がっている。 C++の最初のコンパイラーのバグの調査:Bjarneは何考えてたんだ! C++は先月30周年を記念したので、PVS-Studio開発部署は自前の静的コード解析ツールを使って、最初のC++コンパイラーであるCFrontのバグを探してみようと思い立った。これは奇妙なお祝いの仕方のように思われるだろう、とくに、C++の創始者であるBjarne Stroustrupを問い詰めるわけだから。彼の返答も載っている。 C++の30年の歩み、Bjarne Stroustrup

    fan-tail
    fan-tail 2015/11/30
    やっぱり先生とんでもねぇな。
  • C++標準化委員会の文書のレビュー: P0060R0-P0069R0

    P0060R0: Function Object-Based Overloading of Operator Dot operator .をオーバーロード可能にする提案。 この提案は、リファレンスを返す提案とは異なり、コンパイラーが関数オブジェクトを生成する提案となっている。 operator .をオーバーロードしてるユーザー定義型がある。 struct X { // なにもしない template < typename T > void operator .( T && ) { } } そのような型の非staticデータメンバーの名前検索(たとえば.some_name)をして、名前が見つからない場合、コンパイラーは以下のような型を生成し、そのオブジェクトをoperator .のオーバーロード関数の実引数に渡す struct synthesized_function_type { temp

    fan-tail
    fan-tail 2015/11/16
    『[PDF] P0068: Proposal of [[unused]], [[nodiscard]] and [[fallthrough]] attributes』Javaみたいな。よさげ。
  • Effective Modern C++

    C++プログラマから絶大な支持を集めるC++界のカリスマ、スコット・メイヤーズが、優れたC++プログラムはどのように書けばよいのかを指南。C++をすみずみまで知り尽くした著者が、効果的かつ堅牢、移植性の高い優れたC++プログラムを書くノウハウを42項目にまとめています。さらに上を目指したい中上級者必携の一冊です。C++11/C++14対応。 出版社より 謝辞 はじめに 1章 型推論 項目1:テンプレートの型推論を理解する 項目2:auto の型推論を理解する 項目3:decltype を理解する 項目4:推論された型を確認する 2章 auto 項目5:明示的型宣言よりもauto を優先する 項目6:auto が期待とは異なる型を推論する場面ではETII を用いる 3章 現代のC++ への移行 項目7:オブジェクト作成時の() と{} の違い 項目8:0 やNULL よりもnullptr を

    Effective Modern C++
    fan-tail
    fan-tail 2015/09/18
    今日かよ!・・・PDFは?
  • まさか Visual Studio で Android や iPhone のアプリを作れるなんて!

    Visual Studio を知っている人も、昔使っていた人も、全然使ったことがない人もこんにちは。日マイクロソフトの高橋忍です。 ひねりもなく、前回と同じパターンのタイトルで始めてみました。 眉唾でしょ?いやいや当にそうではないんです。Visual Studio 2015 なら Android のアプリや iPhone のアプリを当に作ることが出来るんです。Web でしょ? いやいや ちゃんとネイティブアプリなんですよ。 では、ちゃんとお見せしましょう。 Visual Studio 2015 で開発できるもの Visual Studio といえばもちろん、Windows 用のアプリケーションやWebアプリを作るための開発環境です。これは皆さんも納得ですよね。とくにネイティブアプリで言えば、デスクトップ用のアプリや、Windows 8 のストア用のアプリケーションを作ることができます

    まさか Visual Studio で Android や iPhone のアプリを作れるなんて!
  • Xerces-C++ XML Parser

    Xerces-C++ is a validating XML parser written in a portable subset of C++. Xerces-C++ makes it easy to give your application the ability to read and write XML data. A shared library is provided for parsing, generating, manipulating, and validating XML documents using the DOM, SAX, and SAX2 APIs. For an introduction to programming with Xerces-C++ refer to the Programming Guide. Xerces-C++ is faithf

  • C++14対応のC++ポケットリファレンス 第2版 - Faith and Brave - C++で遊ぼう

    改訂新版 C++ポケットリファレンス - 技術評論社 改定新板 C++ポケットリファレンス - Amazon.co.jp おかげさまでご好評いただいております書籍『C++ポケットリファレンス』ですが、この度、C++規格の最新バージョンC++14(ISO/IEC 14882:2014)に対応した改訂版を出版します。 基文法、ライブラリの各章において、C++14で追加された機能の解説を加筆しました。 また、それ以外の項目についても、解説の加筆や改善を行っています。 ページ数も16ページほど増量し、544ページになっています。そろそろポケットに収納するのは厳しいかもしれません。 コンパイラのC++14への対応も非常に早いので、より多くの方にC++14の機能を使っていただければ幸いです。 『C++ポケットリファレンス』第2版は、2015年6月4日に発売予定です。電子書籍版は、技術評論社のDigi

    C++14対応のC++ポケットリファレンス 第2版 - Faith and Brave - C++で遊ぼう
    fan-tail
    fan-tail 2015/05/18
    欲しい。14どころか11も使えるような状況じゃないけど。
  • Boost.Variant そのいち - KBDAHOLIC - やぬすさんとこ

    http://www.boost.org/doc/libs/1_44_0/doc/html/variant.html 格的に boost を触る前に、というかおれの触りたい Boost.Spirit が data structure として Boost.Variant を前提ぽい感じで使ってて document にも「わかっとけ」的なことが書いてあったのでまずは Boost.Variant から。 とはいうものの多分使うだけなら http://www.boost.org/doc/libs/1_44_0/doc/html/variant/tutorial.html を手を動かしながら読めばいいくらいで。そんなに量も多くないので boost document に慣れるのにもいいかも。 で、これが何かというと、 複数の型をひとつの型に integrate できる それぞれの型に対する acce

    Boost.Variant そのいち - KBDAHOLIC - やぬすさんとこ
    fan-tail
    fan-tail 2015/05/11
    type safe unionと。
  • D4492: Bjarne StroustrupによるC++17の考察の翻訳

    April 2015 : Standard C++ C++WG内部のMLで議論していた内容が、どこからか外部に流れて、様々なフォーラムで話題になっている。 “What will C++17 be?” -- Bjarne Stroustrup on C++17 goals : programming What will C++17 be? | Hacker News C++ Daddy Bjarne Stroustrup outlines directions for v17 • The Register Forums これを受けて、Bjarne Stroustrupは議論をまとめて標準化委員会の論文として公開することにしたが、それも時間がかかるので、ドラフトがC++財団にあがっている。 [PDF注意] D4492 C++17の考察 Bjarne Stroustrup このドラフトはLexe

    fan-tail
    fan-tail 2015/05/11
    翻訳ありがとうございます/先生ブチ切れっ・・・/気になる⇒type safe union
  • C/C++のXML Parserについてよくまとまっているサイト - ぴよログ

    仕事でC/C++のXMLパーサーにどんなもんがあるか調べていたらよくまとまっているサイトに出くわしたので紹介してみる。 Free C/C++ XML Parser Libraries リンク先に飛べばよくわかるけれど、これだけのライブラリについてライセンスや特徴をまとめてくれている。 がっつり目 Xerces Arabica libxml2 libxml++ MSXML あっさり目 expat TinyXml Xmlio XmlLite RapidXml XMLParser library from Frank Vanden Berghen PugiXML libroxml いくつか試したなかではTinyXmlが軽量で導入もしやすくて使いやすかったが、DOM型のパーサーなので読み込むファイルが大きくなるとメモリ不足に陥ってしまう。そういうときはSAX系のパーサーを使う必要があるのでXmlL

    C/C++のXML Parserについてよくまとまっているサイト - ぴよログ
  • コンパイル時Brainfuckコンパイラ ――C++14 constexpr の進歩と限界―― - ボレロ村上 - ENiyGmaA Code

    中3女子です。 この記事は C++ Advent Claneder2014 23日の参加記事です。 constexpr とは この記事を読んでいる層には、いまさら言及するまでもないと思われるので省略する。 必要であれば このあたり の資料を参照のこと。 C++14 シンタックス上の進歩とセマンティクス上の進歩 巷では C++14 になり constexpr が簡単になったという話をしばしば耳にする。たしかに簡単になった。 では何が簡単になったかというと、もっともわかりやすいのは複文とローカル変数、制御構文の制限緩和だろう。 条件分岐やループを if, while, for, switch 等でガリガリ書くことができるようになった(ただし goto は不可だ)。 非常に簡単になったといえるが、これはあくまでシンタックス上の進歩だ。 これによって何ができるかというセマンティクス上の問題について

  • マイクロソフトは、C++でいかにしてMicrosoft Officeのクロスプラットフォームを実現したのか

    マイクロソフトは、C++でいかにしてMicrosoft Officeのクロスプラットフォームを実現したのか マイクロソフトはOfficeソフトウェアのマルチプラットフォーム展開を進め、Windows版、Macintosh版だけでなくWebから使えるOffice Onlineに加え、iPad版、Android版も公開を始めました。 Officeのような大規模なアプリケーションのマルチプラットフォームへの移植は、どのようにして行われているのか。9月に米国で開催されたC++言語のイベント「CppCon 2014」で行われた同社の講演「How Microsoft Uses C++ to Deliver Office (and More) Across iOS, Android, Windows, and Mac, Part I 」がYouTubeで公開されています。 Officeのコア部分はC++

    マイクロソフトは、C++でいかにしてMicrosoft Officeのクロスプラットフォームを実現したのか
  • ソフトウエア研究会in秋葉原

    CHAPTER-1 moveの活用 † moveの活用による恩恵は計り知れません。 とくに、速度とメモリ効率、そしてデバッグ効率を重視するゲームプログラミングにおいて、 moveセマンティクスの導入は大きな効果がありました。 なお、moveに関して十分な知識のある方ば、Chapter-1は読み飛ばしてください。 ↑ 1-1 moveのおさらい † moveを使う前に、右辺値参照について知っておく必要があります。 このプログラムを見てください。 string a = "1"; string b = "2"; string c = a + b; // ~~~~~ // 右辺値 この"a + b"の部分が右辺値です。 右辺値とは、名前のない一時的に生成されるオブジェクトのことです。 この場合、string型で値が"12"の一時オブジェクトが生成されます。 わかりやすくC++03の書式で置き換える

  • プログラミングコンテストで、C++を使って全ての問題を解くのに必要なアルゴリズムは何ですか? | POSTD

    これが私の提案するリストです。必要とされるアルゴリズムや概念のほとんどが挙げられています。いくつかの要素はアルゴリズムではなかったり(フェイクや状態、関心事など)、重複していたりもします。 最後に1つ、アドバイスを。 知識を蓄える前に、まずは思考能力を鍛えることを重要視しましょう。これはコンテストのみならず、あなた自身の将来にも役立ちます。思考能力を鍛えるには、アルゴリズムではなく純粋な思考を必要とする、アドホックを使いこなせるようになりましょう。 topcoderのDiv2とCodeforcesのDiv2の2つに集中することも効果的だと思います。どちらも、低いレベルから問題に取り組んでいきましょう。例えば、Div2-250をマスターしてからDiv2-500に取り組む、などです。

    プログラミングコンテストで、C++を使って全ての問題を解くのに必要なアルゴリズムは何ですか? | POSTD
  • 1