C++の創始者Bjarne Stroustrupによる『プログラミング言語C++』の第4版、その日本語版が出ます。この版では、C++11への対応が行われています。
SBクリエイティブ社のページはまだないようですが、Amazonでは、2015年1月26日発売になっています。
C++の創始者Bjarne Stroustrupによる『プログラミング言語C++』の第4版、その日本語版が出ます。この版では、C++11への対応が行われています。
SBクリエイティブ社のページはまだないようですが、Amazonでは、2015年1月26日発売になっています。
Emscriptenにpull requestをして取り込んでもらえたので、そのレポートです。
C言語とC++で書いたコードを、LLVMを使ってJavaScriptにコンパイルするコンパイラです。 標準ライブラリの範囲だけでなく、OpenGLのコードを書くとWebGLに、OpenALやSDLのAPIでオーディオ関係のコードを書くとWeb Audioにコンパイルされたりもします。
直した内容としては、たったの1行です。
Emscriptenのドキュメントを眺めていたら、リリースノートへのリンクが切れていたので、正しいリンクに直しました。
最初のpull request。
やり直したpull requestが以下:
これを送ったら、10分後くらいにすぐ取り込んでもらえました。
Emscriptenでのpull requestでまず感じたのは、開発者を育てる文化があっていいな、ということでした。pull requestにさらに修正を依頼するのはコントリビュートのハードルを上げることになるので、pull requestに多少問題があっても、開発者がマージしてから手直しをする、ということが事例として多いです。しかし、実際に修正を依頼されてやってみて、自分の成長が感じられたのでやってよかったと思います。
また、AUTHORSに名前を載せてもらえたこともうれしかったです。1行コミットしかしていないのに恐縮ですが、Emscriptenはコントリビュータを大事にしていることがわかりました。
もし今後Emscriptenにコントリビュートする方がいたら、何らかの参考になれば幸いです。
C++17、およびTechnical Speficicationに採択された提案文書。
const
修飾を許可する。std::nullptr_t
からヌルポインタへの変換、std::nullptr_t
からヌルメンバポインタへの変換。template<typename... Args> bool f(Args... args) { return (true + ... + args); }
noexcept
の指定を整理reference_wrapper
をTriviallyCopyable
(memcpy
可能)であると規定するtry_emplace()
とinsert_or_assign()
を追加する。template <class... Args> pair<iterator, bool> try_emplace(const key_type& k, Args&&... args); template <class... Args> pair<iterator, bool> try_emplace(key_type&& k, Args&&... args); template <class... Args> iterator try_emplace(const_iterator hint, const key_type& k, Args&&... args); template <class... Args> iterator try_emplace(const_iterator hint, key_type&& k, Args&&... args); template <class M> pair<iterator, bool> insert_or_assign(const key_type& k, M&& obj); template <class M> pair<iterator, bool> insert_or_assign(key_type&& k, M&& obj); template <class M> iterator insert_or_assign(const_iterator hint, const key_type& k, M&& obj); template <class M> iterator insert_or_assign(const_iterator hint, key_type&& k, M&& obj);
size()
、empty()
、data()
を追加する。transform_reduce()
, transform_exclusive_scan()
, transform_inclusive_scan()
を追加する。basic_string_view
からclear()
メンバ関数を削除。ostream_joiner
クラス。observer_ptr
を追加する。exempt_ptr
(所有権を保持しないポインタ)という名前だったのが、名称変更された。namespace A::B::C {}
と書けるようにする。意味としてはnamespace A { namespace B { namespace C { }}}
を短く書けるようにしただけ。auto x{y};
の意味を変更し、y
の型を推論するようにした。これまでは驚くことに、x
はinitializer_list
と推論されていた。auto_ptr
、bind1st
/bind2nd
、ptr_fun
/mem_fun
/mem_fun_ref
、random_shuffle
、その他いくつか。これまで、boostjpとcpprefjpの両サイトはGoogle Sites上で運営を行っていましたが、GitHub Pagesに移行しようと思います。
旧サイト (Google Sites):
新サイト (GitHub Pages):
GitHubリポジトリでMarkdownドキュメントを編集すると、GitHub Pagesのhtmlに即時変換して反映されるようにしてあります。 その運営ツールは、cpprefjpのGitHubリポジトリにあります。用意してくれた id:melpon に感謝です。
移行の詳細は、cpprefjp GitHubリポジトリのアナウンスIssueを参照してください。
また、それに伴い、boostjp Google Groupの運営を終了しました。
今後とも、boostjp、cpprefjpの両サイトをよろしくお願いします。皆さまのコントリビュートをお待ちしております。
東京のC++忘年会を12/20(土)に行います!
Scott Meyersの著書『Effective C++』のC++11とC++14対応である『Effective Modern C++ (略称EMC++)』の予約が開始しました。発売は12月4日になっています。
副題は「42 Specific Ways to Improve Your Use of C++11 and C++14」、日本語だと「C++11とC++14の使い方を改善する42の方法」といったところでしょうか。
おもしろそうな本が出るなぁと思ってなんとなく読んでいたら、共著者の一人がAlexander Stepanovでした。STLの設計者です。
そういえば彼の著書である『Elements of Programming (邦訳:プログラミング原論)』もまだ読んでなかった。
Boost 1.57.0のBetaがリリースされ、本リリースが近づいてきているので、恒例のリリースノート翻訳を開始します。
現在、boostjpサイトは作業環境をGitHubに移行中のため、まだサイトの方に反映はできないのですが、ひとまずboostjp/siteリポジトリにMarkdownでリリースノートを書き、GitHub上のプレビューで読めるようにしようと思います。
リポジトリは以下です:
Boost 1.57.0のリリースノートは以下です:
push権限を持っていない方は、pull requestをいただければ、そのあとに権限をお渡しします。GitHub上でこのファイルを直接編集するとpull requestを作成できるので、GitとGitHubに慣れていない方でも、気軽に編集していただければと思います。
1文字の誤字修正から、気軽にご参加ください。