タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

ProgrammingとC++とtemplateに関するclavierのブックマーク (2)

  • C++ の 再帰template を使ったあまり使えない競プロ用 std::vector 操作テク - koyumeishiのブログ

    template は再帰的に展開されるので工夫次第で色々できます。 出来るってだけで実用的かどうかは知りません。 自分が使っていたり、思いついたりした std::vector 操作テクを紹介します。 C++11です。 GCCです。 目次 vector の 入力を簡単に vector の 出力を簡単に 多重 vector の fill 多重 vector の resize 複数の vector にまとめて入力 vector の 入力を簡単に 競プロではよく標準入力から長さ $N$ の数列 $A$ が与えられたりします。 N A1 A2 ... AN C++競プロやるとこんな感じで受け取ると思います。 #include <iostream> #include <vector> using namespace std; int main(){ int n; cin >> n; vector<

    C++ の 再帰template を使ったあまり使えない競プロ用 std::vector 操作テク - koyumeishiのブログ
  • 構造化『並列』プログラミング - どらの日記

    構造化プログラミング。 といえば、順次、分岐、ループのパターンからなる、シリアルプログラミングにおける基スタイルですね。(これらだけしか使わなくてもシリアルプログラムは書けますっていうね) C++にはあらかじめこれらのパターンを簡単に使えるようにシンタックスが用意されています。 分岐はifやswitch、ループはwhile、for、doといったかんじで。 もちろんこれらのパターンは並列プログラミングでも使えます。 しかし並列プログラミングにおいては、これらのパターンだけで実装を行うことはほぼ不可能です。 そこで、並列プログラミングにおけるパターンとなる構造が考えられてきました。 これらを使うことで、よりパワフルかつ簡潔に並列プログラムのコードを書けるようになります。 1.マップ もっとも基的な並列パターンです。 まず、コードを見てください。 template <class T> voi

    構造化『並列』プログラミング - どらの日記
  • 1