タグ

C++に関するyowaのブックマーク (8)

  • C++11スマートポインタ入門 - Qiita

    [2022-06-22] さすがに情報が古くなってきたため、最新の規格に合わせて記事の内容を再編集した記事を新たに書きました。よろしければ、こちらの新記事「C++20スマートポインタ入門」をご参照ください。 C++11では、unique_ptr<T> shared_ptr<T> weak_ptr<T>の3種のスマートポインタが新たに追加された。これらのスマートポインタは、いずれもメモリの動的確保の利用の際に生じる多くの危険性を低減する目的で使用されるが、それぞれ独自の考え方と機能を持っている。3種のスマートポインタを適切に使い分けることで、安全性と開発速度の向上が見込めるだけでなく、プログラマの意図に合わせて「ポインタ」を記述し分けることができる、非常に強力なツールとなる。 解説では、スマートポインタについて初めて学ぶ人を対象に、C++11で追加された3種のスマートポインタの機能と使い

    C++11スマートポインタ入門 - Qiita
    yowa
    yowa 2020/06/19
  • 原理主義的に C++ の文字列の扱いを根本から変えるにはどうするべきか - Togetter

    Akso de la Malbono @Cryolite C++ 初心者なのですが,仮に C++UTF-8 の code unit を保持する型を別個の新しい型として追加するとした場合,この型の invariants は何で,その invariants はどう保証されるんです? 2018-12-23 10:16:10 Akso de la Malbono @Cryolite 「UTF-8文字列である」というinvariantsは文字列のレベルで表現するべきで,「UTF-8のcode unitである」というinvariantsとして補償すべきものがほとんど何もないように思われるので,焦点はUTF-8文字列型をどう実装すべきかであり,UTF-8のcode unitをどう実装すべきかではないように思われる. 2018-12-23 10:25:53

    原理主義的に C++ の文字列の扱いを根本から変えるにはどうするべきか - Togetter
    yowa
    yowa 2019/01/03
  • Google C++スタイルガイド 日本語訳

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

    yowa
    yowa 2012/08/28
  • C++のmapについてのめも - ichirin2501's diary

    速度向上を考える上で、mapの使い方で差が出たのでめも。 mapは[ ]演算子がオーバーロードされているので、演算子の書き方を多用していた。演算子で書くと存在しないkeyを指定した場合、自動で生成してくれる。これが便利なときもあれば不便なときもある。 例えば、メモ化探索にmapを利用していた場合、既に探索した状態かどうかを調べるときに[]演算子で勝手に状態生成してもらっては困る。 なので、今まではこんな感じで書いてた。 map<int,int> mii; int dfs(int S){ if( mii.count(S) ){ return mii[S]; } int ret = 0; /* 処理 */ return mii[S] = ret; } countメソッドはkeyがあるかどうか(0or1)を返す。勝手に状態数は増えない。 でも、どう考えても 探索3回してるよねこれ mapの[]演

    C++のmapについてのめも - ichirin2501's diary
    yowa
    yowa 2011/03/24
  • Google Sites: Sign-in

    Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode

    yowa
    yowa 2011/01/18
  • EASTL から垣間見るゲームソフトウェア開発現場の現状 その 1

    (2016/02/10 追記: EASTL は長らく EAWebKit の一部としてライセンスが不明瞭なまま公開されていましたが、この日 BSD ライセンスで正式に公開されました https://github.com/electronicarts/EASTL) 若干古いものですが、2007 年に発表された、Electronic Arts によるゲーム開発向けの改良を加えた STL、"EASTL" の仕様。 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2271.html 仕様だけで実装が公開されてないのが非常に残念なのですが、それは別として、何故こんなものが必要なのか、どういう事情でこの機能が盛り込まれたのか、といったゲーム開発現場の事情が細かく解説されていて、とても参考になります。特に、既にある程度 C++ に習熟してい

    EASTL から垣間見るゲームソフトウェア開発現場の現状 その 1
    yowa
    yowa 2010/10/16
  • C++,何もしないostream,ロギング - &lt;s&gt;gnarl,&lt;/s&gt;技術メモ”’&lt;marquee&gt;&lt;textarea&gt;¥

    それくらいデフォで用意しとけってーの!なんかboostにはあるとかないとか。 "null ostream"でぐぐるとなんかでる。streambufをちょっと拡張してostreamに渡してやればいいらしい。 null ostream? - C / C++ struct null_streambuf:streambuf { int overflow(int c){return c;} }; で、簡単なロガーを作った。 struct logger { logger(ostream* dest,const char* prefix=""):dest(dest),enabled(true),prefix(prefix){} bool enabled; ostream* dest; const char* prefix; }; template<typename T> ostream& operato

    C++,何もしないostream,ロギング - &lt;s&gt;gnarl,&lt;/s&gt;技術メモ”’&lt;marquee&gt;&lt;textarea&gt;¥
    yowa
    yowa 2010/09/12
  • C++ Reference Project

    C Library The elements of the C language library are also included as a subset of the C++ Standard library. These cover many aspects, from general utility functions and macros to input/output functions and dynamic memory management functions: <cassert> (assert.h)C Diagnostics Library (header)<cctype> (ctype.h)Character handling functions (header)<cerrno> (errno.h)C Errors (header)<cfenv> (fenv.h)F

  • 1