<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://www-he.scphys.kyoto-u.ac.jp/member/odagawa/dokuwiki/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://www-he.scphys.kyoto-u.ac.jp/member/odagawa/dokuwiki/feed.php">
        <title>Goma Wiki programming:cpp</title>
        <description></description>
        <link>https://www-he.scphys.kyoto-u.ac.jp/member/odagawa/dokuwiki/</link>
        <image rdf:resource="https://www-he.scphys.kyoto-u.ac.jp/member/odagawa/dokuwiki/lib/tpl/dokuwiki/images/favicon.ico" />
       <dc:date>2026-04-06T20:16:11+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://www-he.scphys.kyoto-u.ac.jp/member/odagawa/dokuwiki/doku.php?id=programming:cpp:binary&amp;rev=1651340929&amp;do=diff"/>
                <rdf:li rdf:resource="https://www-he.scphys.kyoto-u.ac.jp/member/odagawa/dokuwiki/doku.php?id=programming:cpp:class&amp;rev=1653465690&amp;do=diff"/>
                <rdf:li rdf:resource="https://www-he.scphys.kyoto-u.ac.jp/member/odagawa/dokuwiki/doku.php?id=programming:cpp:container&amp;rev=1651857938&amp;do=diff"/>
                <rdf:li rdf:resource="https://www-he.scphys.kyoto-u.ac.jp/member/odagawa/dokuwiki/doku.php?id=programming:cpp:exception&amp;rev=1651748996&amp;do=diff"/>
                <rdf:li rdf:resource="https://www-he.scphys.kyoto-u.ac.jp/member/odagawa/dokuwiki/doku.php?id=programming:cpp:json&amp;rev=1649687001&amp;do=diff"/>
                <rdf:li rdf:resource="https://www-he.scphys.kyoto-u.ac.jp/member/odagawa/dokuwiki/doku.php?id=programming:cpp:time&amp;rev=1649686961&amp;do=diff"/>
                <rdf:li rdf:resource="https://www-he.scphys.kyoto-u.ac.jp/member/odagawa/dokuwiki/doku.php?id=programming:cpp:unixtime&amp;rev=1662971934&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://www-he.scphys.kyoto-u.ac.jp/member/odagawa/dokuwiki/lib/tpl/dokuwiki/images/favicon.ico">
        <title>Goma Wiki</title>
        <link>https://www-he.scphys.kyoto-u.ac.jp/member/odagawa/dokuwiki/</link>
        <url>https://www-he.scphys.kyoto-u.ac.jp/member/odagawa/dokuwiki/lib/tpl/dokuwiki/images/favicon.ico</url>
    </image>
    <item rdf:about="https://www-he.scphys.kyoto-u.ac.jp/member/odagawa/dokuwiki/doku.php?id=programming:cpp:binary&amp;rev=1651340929&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-04-30T17:48:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>programming:cpp:binary</title>
        <link>https://www-he.scphys.kyoto-u.ac.jp/member/odagawa/dokuwiki/doku.php?id=programming:cpp:binary&amp;rev=1651340929&amp;do=diff</link>
        <description>バイナリ入出力

バイナリ入出力をする方法．

テキスト入出力するよりバイナリ入出力したほうがファイルサイズが小さくなるので使った．

ROOT を使っている限りは気にする必要がないが， emulsion とのデータをやり取りするために必要だった．</description>
    </item>
    <item rdf:about="https://www-he.scphys.kyoto-u.ac.jp/member/odagawa/dokuwiki/doku.php?id=programming:cpp:class&amp;rev=1653465690&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-05-25T08:01:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>programming:cpp:class</title>
        <link>https://www-he.scphys.kyoto-u.ac.jp/member/odagawa/dokuwiki/doku.php?id=programming:cpp:class&amp;rev=1653465690&amp;do=diff</link>
        <description>自作クラス

クラスを自作する必要がある際に考えること

unordered_map などの key に使う際には
'operator==' と hash 関数のオーバーロードが，

ordered なコンテナの key に使う際には'operator&lt;' のオーバーロードが必要</description>
    </item>
    <item rdf:about="https://www-he.scphys.kyoto-u.ac.jp/member/odagawa/dokuwiki/doku.php?id=programming:cpp:container&amp;rev=1651857938&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-05-06T17:25:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>programming:cpp:container</title>
        <link>https://www-he.scphys.kyoto-u.ac.jp/member/odagawa/dokuwiki/doku.php?id=programming:cpp:container&amp;rev=1651857938&amp;do=diff</link>
        <description>コンテナクラス

STL のコンテナクラスを使いこなせれば処理が楽になることは往々にしてある．

時間があれば適切なコンテナクラスを使うことに挑戦してみるのがよい

以下は自分が使ったもの</description>
    </item>
    <item rdf:about="https://www-he.scphys.kyoto-u.ac.jp/member/odagawa/dokuwiki/doku.php?id=programming:cpp:exception&amp;rev=1651748996&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-05-05T11:09:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>programming:cpp:exception</title>
        <link>https://www-he.scphys.kyoto-u.ac.jp/member/odagawa/dokuwiki/doku.php?id=programming:cpp:exception&amp;rev=1651748996&amp;do=diff</link>
        <description>例外処理

try-catch 文を用いることでプログラムのどこでエラーが起こっているかをスムーズに把握することができる．

try で例外処理が発生しうる場合を囲み， catch で例外クラスを把握して確認する，という流れ．</description>
    </item>
    <item rdf:about="https://www-he.scphys.kyoto-u.ac.jp/member/odagawa/dokuwiki/doku.php?id=programming:cpp:json&amp;rev=1649687001&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-04-11T14:23:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>programming:cpp:json</title>
        <link>https://www-he.scphys.kyoto-u.ac.jp/member/odagawa/dokuwiki/doku.php?id=programming:cpp:json&amp;rev=1649687001&amp;do=diff</link>
        <description>JSON

JSON は JavaScript Object Notation 記法のこと．

人間にも機械にもそれなりの可読性を持ったファイル形式である．

JSON ファイルを C++ で読み込むにはいくつかの方法があるが，ここでは picojson を紹介する．</description>
    </item>
    <item rdf:about="https://www-he.scphys.kyoto-u.ac.jp/member/odagawa/dokuwiki/doku.php?id=programming:cpp:time&amp;rev=1649686961&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-04-11T14:22:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>programming:cpp:time</title>
        <link>https://www-he.scphys.kyoto-u.ac.jp/member/odagawa/dokuwiki/doku.php?id=programming:cpp:time&amp;rev=1649686961&amp;do=diff</link>
        <description>計算時間

自分のコードが遅い場合にプログラムの処理のどの部分が遅いかを確認する方法

いくつもあるが，chrono を使ったものを紹介しておく．


#include &lt;iostream&gt;
#include &lt;chrono&gt;

int main ( int argc, char* argv[] ) {

  auto time1 = std::chrono::system_clock::now();

  // 処理1

  auto time2 = std::chrono::system_clock::now();

  // 処理2
  
  auto time3 = std::chrono::system_clock::now();
  
  std::cout &lt;&lt; &quot;処理1&quot; &lt;&lt; std::endl;
  std::cout &lt;&lt; std::chrono::duration_cast&lt;std::chrono::nanoseconds&gt;(time2 - time1).count() &lt;&lt; std::endl;
  std::cout &lt;&lt; &quot;処理2&quot; &lt;&lt; std::end…</description>
    </item>
    <item rdf:about="https://www-he.scphys.kyoto-u.ac.jp/member/odagawa/dokuwiki/doku.php?id=programming:cpp:unixtime&amp;rev=1662971934&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-12T08:38:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>programming:cpp:unixtime</title>
        <link>https://www-he.scphys.kyoto-u.ac.jp/member/odagawa/dokuwiki/doku.php?id=programming:cpp:unixtime&amp;rev=1662971934&amp;do=diff</link>
        <description>UNIX 時間

UNIX 時間は 1970年1月1日午前0時0分0秒を 0 として経過した秒数を示したものである．

多くの PC システム，ソフトウェア上で用いられている．

なお，うるう秒は数えないらしい．</description>
    </item>
</rdf:RDF>
