More Related Content
PDF
勉強か?趣味か?人生か?―プログラミングコンテストとは PDF
PDF
PDF
PDF
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~ PDF
constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだ PDF
PDF
プログラミングコンテストでのデータ構造 2 ~動的木編~ What's hot
PPTX
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」) PPTX
PPTX
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話) PDF
PDF
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料 PDF
PDF
PDF
PDF
競技プログラミングにおけるコードの書き方とその利便性 PDF
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ. PPTX
Long-Tailed Classificationの最新動向について KEY
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
More from 京大 マイコンクラブ
PDF
PPTX
PDF
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの? PDF
PDF
PDF
ドット絵でプログラミング!難解言語『Piet』勉強会 PDF
PDF
ODP
PDF
PDF
PDF
PDF
PDF
PDF
PPTX
PDF
PDF
No SSH (@nojima; KMC関東例会) PDF
PDF
Constexprとtemplateでコンパイル時にfizz buzz
- 1.
- 2.
自己紹介
• KMC ID:dtyazsk
•所属:理学部1回(数学系志望)
• 普段やってること:プログラミング/DTM/お絵描き
• 趣味:弾幕STG(東方project/怒首領蜂シリーズ)/音ゲー(エニビ/BMS)
• よく使うプログラミング言語:C++
• twitterやってます(@DtYaZsK)
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
リテラル型について
• intとかdoubleのような型はリテラル型の元となる
• ポインタ(全て)や参照型(リテラル型のみ)もリテラル型となる
•以下の条件を満たすクラス(または構造体)はリテラル型となる
• trivialデストラクタを持つ
• ユーザー定義デストラクタを作らなければいい話
• 非staticなメンバの初期化子とコンストラクタ呼び出しが全て定数式
• aggregateであるか
またはコピーでもムーブでもないconstexprコンストラクタが1つ以上
• aggregateとはユーザー定義コンストラクタも非staticメンバに初期化子への初期化子も
基本クラスも仮想関数もなく全てのメンバがpublicな配列またはクラスのこと
• 非staticメンバと基底クラスが全てリテラル型
• constexpr定数にできる
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
参考資料その1
• TECHSCORE BLOG
C++で静的配列の要素数を求めるテンプレート関数
•http://www.techscore.com/blog/2013/02/08/how-to-calculate-array-length-in-cand-cpp/
• 本の虫
aggregateと初期化リストの不思議
• http://cpplover.blogspot.jp/2010/09/aggregate.html
• ボレロ村上 – EniyGmaA Code
リテラル型クラスの条件、および「中3女子でもわかる constexpr」の訂正
• http://d.hatena.ne.jp/boleros/20130718/1374155184
- 36.
参考資料その2
• 中3女子でもわかる constexpr
•http://www.slideshare.net/GenyaMurakami/constexpr-10458089
• 中3女子が狂える本当に気持ちのいい constexpr
• http://www.slideshare.net/GenyaMurakami/constexpr-11509325
• Constexpr 中3女子テクニック ー実践と濫用そしてC++14へ
• http://www.slideshare.net/GenyaMurakami/constexpr-23355469
- 37.
- 38.