生きる

助けて

関数テンプレートの明示的実体化と実体の宣言

明示的実体化を説明する前に実体化の意味をはっきりさせておく必要がある。似た言葉に特殊化があるが、特殊化と実体化は異なる。まずはその違いを説明する。 以下を例に考える。 template<typename T> T calc(T a, T b) { return a + b; } 実体化の方がわかりやすい。実</typename>…

合成関数の微分

関数 $f, g$ が微分可能であるとする。このとき、関数 $f(g(x))$ の点 $x=a$ における微分係数は $f'(g(a))g'(a)$ である。このことは合成関数の微分の公式として知られ、高校数学の教科書にも載っているが、そのよくある証明には厳密でない部分がある。この…

C言語で可変長引数を取る関数を定義する

可変長引数とは、printf関数が取るような、あらかじめ個数が決まっていない形式の引数のことである。 例えば、自分用のprintfを新たに定義したいとすると、引数の部分は次のように書く。 void myprintf(char *fmt, ...) { } こう書くと、fmtに続く引数が可変…

Gistのコードを貼ってみるテスト

マークダウンのコードブロックより見やすいかも

VSCodeのC/C++拡張(ms-vscode.cpptools)のデバッグ機能がM1 Macに対応していない件

2ヶ月ぐらい前に届いたMacBook Air (M1, 2020)をやっと使い始めている。VSCodeがもうApple M1チップにネイティブ対応しているらしいので、設定をすることにした。今のところプロコンぐらいしか使い道が思い浮かばないので、すごく本格的なことができる必要は…

競プロ典型90問 001 - Yokan Party

スコアを与えられた数以上にできるかどうかの判定法について。(注意:説明がくどい) 目次 目次 問題と解説 解法のポイント 判定のしかた 例 判定法の正しさ 問題と解説 問題はこちら→https://atcoder.jp/contests/typical90/tasks/typical90_a 出題者によ…