なまもの備忘録

気になったことをつらつらと書いていきます

テンプレートフレンド演算子の宣言方法

テンプレートクラスにフレンド演算子を定義しようとした時に嵌ったのでメモ。 新たに作ったテンプレートクラスに対する演算子を定義しようとする時、それらをフレンド演算子にすることはままあると思う。管理人もそのような場面に出くわし、素直に定義しよう…

仮引数が同じメンバ関数のオーバーロード

std::arrayの中身を読んでいたところ、以下のようなコードに出くわした。 template<typename _Tp, std::size_t _Nm> struct array { ... iterator begin() noexcept { return iterator(data()); } const_iterator begin() const noexcept { return const_iterator(data()); } } 仮引数と名前</typename>…

aggregate typeの初期化子リストによる初期化

C++11から統一初期化記法が登場した。それによって、配列やstd::arrayなどを初期化子リストで初期化することができるようになった。 具体的に言うと、下のようなことができるようになった。 #include<array> ... int arr[3]{1, 2, 3}; std::array<int, 3> arr2{1,2,3}; ... </int,></array>…

STL std::arrayの実装を読む(読めていない)

訳あって2次元コンテナの実装を目論んだのだがどのようにすればいいかよくわからない。 何か参考になるようなソースコードを探すことにしたのだが、そこで、STLのarrayは配列を単にラップしただけ、という話を思い出した。 これは参考にするにちょうど良いの…

EmacsからMastodonで遊ぶ

MastodonのEmacsクライアント github.com があったので導入してみた。まずレポジトリをクローンしてくる。 僕の場合、.emacs.dにelispディレクトリを作っているのでそこにクローンしてきた。 $ cd .emacs.d/elisp/ $ git clone https://github.com/jdenen/ma…

Ubuntu16.04でウインドウをディスプレイ間移動させるショートカットの設定

立ち上げたウィンドウが思っていたディスプレイと違う場所に配置されてしまった時、動かしたいけどいちいちマウスに手を伸ばすのは癪、ということはあると思う。 そういう時は下記の方法でショートカットを設定するとストレスがなくなる。ちなみに「Ubuntu …

大腸菌の脂質二重膜組成

大腸菌の脂質二重膜の成分は割と知りたくなる機会が多いのだが、わかりやすくまとめてくれている論文を今まで知らなかった。 今日ちょうど良い具合の論文を見つけたので貼っておく。Atefeh Shokri and Gen Larsson:Characterisation of theEscherichia colim…

typedefで配列型に名前をつける

C++

typedefは基本的に以下のように使う。 typedef int size;//以降size型をint型として使うことができるようになるただ、配列をtypedefしたい場合は表記法が直感に反したものになる 例えばint型の配列をsizesと定義したい時は以下のように表記する。 typedef in…

matplotlibでのオブジェクト指向的な描画

matplotlibには主にpyplotの関数を用いてオブジェクトを明示的に操作せず簡単に描画する方法と、オブジェクトを明示的に操作する方法がある。以下後者の方法について。matplotlibではグラフは一度FigureCanvasに描画され、それがバックエンドのmatplotlib.ba…

matplotlib version2.0.0をインストールした作業記録[Ubuntu 16.04]

Ubuntu 16.04に何も考えずaptでmatplotlibを入れたらversionが1.5.1だった。バージョンの確認は $ python >>> import matplotlib >>> matplotlib.__version__でできる。 最新版は2.0.0なのでこちらに更新したい。また、今まではpythonで使っていたが折角なの…

C++のconst指定子とポインタのややこしい話

C++

C++でよく変更する予定のない変数の型の前にconstを付けるが、あれは唯の目印のようなものではなく、const ホニャララという新しい型を宣言している感覚に近いっぽい。 このconstの仕様はC言語時代からの負の遺産で大分ややこしいものになっているため、ここ…

(C++)大きさ不明の2次元配列データを2次元vectorに読み込む方法

C++

3/22 17:10大きさの分からない2次元配列データを2次元vectorに格納する方法がいくら調べても見つからなかったので、分からないなりに調べつつコードを作成してみた。 下記のコードであれば、データが数値のcsvファイルならなんでも読み込めるはず。 //大きさ…

C++でのファイルの入出力

C++

2/25 17:28 C++でのファイルからの入力、ファイルへの出力の仕様がよく分からなくてもやもやする。検索をしてもどうもC仕様のやり方とC++仕様のやり方があるようで、この二つが混ざって出てくる上に痒いところに手が届かないサイトしかない。あまりにイライ…

OpenCVの環境構築を頑張ってみた(Mac)

TLでOpenCVの環境構築に苦戦している人がいたので、それに刺激されて僕の方も一度放棄したOpenCVの環境構築に再挑戦してみることにした。 とりあえず参考になりそうなサイトとして http://stackoverflow.com/questions/24985713/opencv-undefined-symbols-fo…

El Capitanで日本語の入力速度が我慢ならないほど落ちた場合の対処レポ

Mac

日記をつけている最中に変換の重さが気になり、直す作業をしながらログがてらにとっていた記録をそのままあげているので乱文、かつ序盤は問題を誤認識しています。 それと、今自分はrtdfファイルをテキストエディットで編集してに気をつけているのだが、これ…

時間差で発症した流行性結膜炎の治る時期はどうなるのか

1/16 14:01 少し前から右目に結膜炎を患っていたのだが、今日左目も発症した。大して辛くない割には体の調子は劇的に変わるのでちょっと経過観察をしてみようと思う。 ちなみに、先ほど調べて知ったのだが、結膜とはまぶたの裏側を眼球の白目の上を透明に覆…