2016-01-01から1年間の記事一覧

計算行為と物理の話

先日大学で開かれていたセミナーに出席していたのだが、非常にわかりやすく面白く、楽しい時間を過ごすことができた。そこで聞いた話から思い出したことがあった。

variadic templateで遊ぶ

C++

この記事は、C++ Advent Calendar 2016の5日目の記事です。 まえがき C++11以降、C++では可変長テンプレートなるものが使えるようになった。要するに0個以上の任意個の型引数を取れるテンプレートである。std::tupleなどでお馴染みだろう。 この記事では、可…

variadic templateのその後

この前書いていたvariadic templateでreverseの話について、少し考えてみるともっと綺麗にできることが分かったので、調子に乗って他にも色々書いてみた。そしてどうせなのでそれをまとめた記事をC++アドベントカレンダーに参加することにした。記事が誰かに…

C++11とC++98 & boostの切り替え

C++

現在、21世紀なので普段はC++11を基本的に使っているのだが、たまにC++98でないといけないケースは存在する。共用のサーバにC++11対応コンパイラが入っていない、などだ(なぜ入っていないかは謎である)。かといって石は何の変哲もないXeonだったりするので非…

意味とニューラルネットワーク

まず初めに、私はその手の技術や学問分野の専門家ではないし、体系立った学習も行っていないことを告白しておく。つまり以下の文章は素人の妄想だ。 最近Google翻訳にニューラルネットが導入されたようで、いろいろな文章が翻訳にかけられては様々な人が意見…

問題2

C++

この前の問題2が少し気になっていた。 交互に要素を取ることで、2つのリストを結合する関数を記述せよ。例えば [a, b, c]と[1, 2, 3]という2つのリストを与えると、関数は [a, 1, b, 2, c, 3]を返す。 というやつである。 というわけで、std::array<char, 3>とstd::ar</char,>…

variadic template で reverse

C++

今日、ふと思ってこのようなものを実装できないか考えてみた。 template<template<typename ... T> class target, typename ... T_args> struct reverse { typedef target</* reversed T_args... */> type; }; 例えば、 typename reverse<std::tuple, int, double, std::string>::type t = std::make_tuple("foo", 3.14, 42); みたいなことができてほし</std::tuple,>…

ソフトウェアエンジニアなら1時間以内に解けなければいけない5つの問題 in C++

C++

何気なく調べ物をしていると、全然関係なかったのだが「ソフトウェアエンジニアなら1時間以内に解けなければいけない5つの問題」なる記事が目に入った。流行ったのは去年の夏前頃のようだが、遅ればせながら参戦してみた。一番よく使っている言語、C++で。結…

何度目になるのだろう

自分が考えたことを公開するための場を持つのは。始めた後少しの間は続くのだが、数ヶ月くらい経つと放置するようになってしまい、半年も経ってから見ると書いていた当時と感覚が変わってしまっていたりして、何となくそこに自分の作った何かを追加すること…

動作の主について

何かしら危ない目に遭ったり、スポーツをしているときなど、思考が非常に素早く流れるように感じられることがある。いまさっき、台所で包丁を落としかけてその現象に遭遇した。しかし今回体験してみて、自分が「とても早くものを考えていた」ということを認…