タグ

C++に関するwamanのブックマーク (90)

  • 日本語のC++参考書の行く末

    C++11の参考書をGitHubで公開したことはすでに発表した。 GitHub: EzoeRyou/cpp-book GitHubからzipでダウンロード GitHub Pagesでの閲覧:C++11の文法と機能 の虫: C++11参考書の公開:C++11の文法と機能 私はもう時間切れで、三週間後にはインターネット接続はおろか、コンピューターすら失う身だが、日語のC++参考書の行く末について案じてみたいと思う 日では、全国どこでも日語が通じる。日にいる限り、日語以外の言語を使う必要がない。法律の書かれている言語から日常生活の言語から教育で使う言語まで、すべて日語で行われている。 これは、凄いことでもあるが、悲劇でもある。日人は英語を学ぶ必要性を実感できないのだ。にもかかわらず、プログラミングは、英語を必要とする。 英語は、文法的にはあまりよろしくない言語である。例外的な文法

    waman
    waman 2013/10/28
    『私の書いたC++11の参考書は、これまでに比べるものがないほどに素晴らしく規格準拠なC++の参考書である。』
  • C++11参考書を公開した後の予定

    の虫: C++11参考書の公開:C++11の文法と機能で宣言したように、C++11の参考書をGitHubで公開した。 GitHub: EzoeRyou/cpp-book GitHubからzipでダウンロード GitHub Pagesでの閲覧:C++11の文法と機能 未完成ではあるし、一部昔のドラフト準拠で、正式な規格に追随できていない箇所もあるが、C++11のコア言語はほぼ解説している。 惜しむらくは、もっと早く、まだ状況が逼迫していない時に公開すべきだったということだ。GitHubに公開してから、修正のpull requestがかなりやってくる。多くは誤字や、単純なタグ間違いだ。そのような問題はあると分かっていたのだが、いちいち調べるよりも、一通り書くことを優先して、この数年間やってきたのだ。 もし、私のレポジトリにpull requestを送るつもりならば、急いでもらいたい。というの

  • C++11参考書の公開:C++11の文法と機能

    C++11の参考書をGitHubで公開する。 GitHub: EzoeRyou/cpp-book GitHubからzipでダウンロード GitHub Pagesでの閲覧:C++11の文法と機能 序 書はC++11のコア言語の文法と機能を、標準規格書に従って解説したものである。正式なC++規格書として発行された後の、ひとつ後のドラフト規格、N3337 を参考にしている。ドラフト規格を参考にした理由は、正式なC++規格書は、個人での入手が煩わしいためである。読者に入手が困難な資料を元に記述された参考書は価値がない。そのため、読者が容易に入手できるドラフト規格のうち、正式なC++規格書とほとんどかわらないN3337を参考にした。 書の対象読者は、C++を記述するものである。C++実装者ではない。そのため、サンプルコードを増やし、冗長な解説を増やし、C++コンパイラーを実装するための詳細な定義

    waman
    waman 2013/10/26
  • Using JNA with Groovy

    A collection of interesting code snippets, workflows or stuff that I'm worried I might forget before I need it. Given this embarassingly simple C program which takes a name parameter and a buffer to write the result into, and writes "Hello %s" into this buffer: Note:  We could have used malloc to generate a return buffer, printed into this and returned it, but then there would have been no way to

    Using JNA with Groovy
  • 興味深い記事

    江添亮 自由ソフトウェア主義者 C++ Evangelist C++標準化委員会の委員 ドワンゴ社員 C++11を執筆した。 株式会社ドワンゴで働いている。 Mail:boostcpp@gmail.com Twitter:@EzoeRyou GitHub: https://github.com/EzoeRyou 江添亮のマストドン@EzoeRyou 筆者にブログのネタを提供するために、品物をアマゾンお気に入りリスト経由で送りたい場合: Amazon.co.jp: 江添亮: 江添のほしい物リスト 筆者にブログのネタを提供するために、直接に品物を送りたい場合、住所をメールで質問してください。 View my complete profile ► 2020 (31) ► December (2) ► November (2) ► September (2) ► August (4) ► Jul

  • Apache C++標準ライブラリが終了したそうだ

    江添亮 自由ソフトウェア主義者 C++ Evangelist C++標準化委員会の委員 ドワンゴ社員 C++11を執筆した。 株式会社ドワンゴで働いている。 Mail:boostcpp@gmail.com Twitter:@EzoeRyou GitHub: https://github.com/EzoeRyou 江添亮のマストドン@EzoeRyou 筆者にブログのネタを提供するために、品物をアマゾンお気に入りリスト経由で送りたい場合: Amazon.co.jp: 江添亮: 江添のほしい物リスト 筆者にブログのネタを提供するために、直接に品物を送りたい場合、住所をメールで質問してください。 View my complete profile ► 2020 (31) ► December (2) ► November (2) ► September (2) ► August (4) ► Jul

  • GCCの最適化オプション

    郷に入っては郷に従えというが、GNU/Linuxのプログラミング環境にはまだまだ慣れない。とりあえず今のC++執筆作業には、最新のClangでコンパイルできればそれで用が足りるので、Clangのビルドが楽なGNU/Linux環境は悪くない。欲を言えばlibc++もまともに動くようになってほしい。Ubuntu 12.10でlibsupc++を使ってlibc++をビルドしてみたところ、RTTI周りのABIに問題があるらしく、virtual関数呼び出しすらできなかった。 しかし、GNU/Linuxにおけるプログラミングはどうにも学ぶことが多すぎる。GNUのgdbの使い方もそろそろ覚えたいし、Autotoolsの使い方も覚えたいものだ。幸い、GNU/Linuxで一般的なテキストエディターであるVimは、特に何も学ばなくても使えるので楽だ。たかがテキスト編集作業に、多数のキーボードショートカットを

    waman
    waman 2013/07/08
  • 例外中に例外を投げるとか二重例外はエラーという俗説について

    いよいよC++の参考書の執筆も例外にまで到達した。例外は、規格の文面量だけで言えば短いが、詳細を解説するのは難しい。なにせ、まともに日語で解説しているは皆無だからだ。ついでに、規格の文面のバグも発見した。これはすでに報告済みなので、次のC++規格では修正されるはずだ。 ちなみに、"C++ 例外"で検索して出てくる情報の大半が間違っているか、十分な詳細を解説していない。責任は規格違反な実装、特にMSVCにある。MSVCの挙動が全てだと信じる愚者が、規格を参照せずMSVCの挙動をもとに解説を書いているからだ。 たとえば、例外をハンドルしていない状態でオペランドのないthrow式を実行すると、std::terminateが呼ばれる。 int main() { throw ; // std::terminateが呼ばれる } あるC++解説サイトでは、何故かstd::bad_exception

    waman
    waman 2013/04/29
  • 極端な一様乱数ジェネレーターを作る

    C++11の乱数ジェネレーターは、自前で実装できる。要件さえ満たしていればいいのだ。 一様乱数ジェネレーター(Uniform random number generator)は、ディストリビューションで使う最低限の要求であり、これさえ満たしていれば、ディストリビューションで使える。より広いエンジンの要求は、初期化方法とかのディストリビューションからの利用には必要ない要件を定義している。 ジェネレーターに必要な要件は以下の通り Gをジェネレーターの型、gをGの値とする。TをGのresult_typeの型とする。 式G::result_typeの結果はT、Tは符号なし整数型(コンパイル時) g()はG::min()とG::max()の間の値を返す(償却定数時間) G::min()はGのoperator()が返す最低値(コンパイル時) G::max()はGのoperator()が返す最大値(コン

    waman
    waman 2013/03/22
  • C++グランドマスター認証

    注意:この記事はとても怪しいWebサイトを紹介している。眉につばをつけて読むべし。 C++ Grandmaster Certification [CPPGM] C++グランドマスター認定というオンライン講座が、2013年の3月から始まるそうだ。 これは、12ヶ月から18ヶ月ほどかけて、C++11でフルセットのC++11コンパイラーツールチェインを実装するというコースで、修了の暁には、C++のグランドマスターであることを認証するそうだ。 読むと、文字通りC++11のフルセットのツールチェインを実装するという、にわかに信じがたいオンライン講座らしい。最初のブートストラップを除いて、サードパーティのソフトウェアに依存しない、プリプロセッサー、コンパイラー、アセンブラー、リンカーを作るのだそうだ。もちろん、セルフホスト可能なコンパイラーとなると豪語。 問題を簡単にするため、環境はLinux x86

    waman
    waman 2013/02/21
    『というわけで、このC++グランドマスター認証は、非常に怪しい。』