プログラミング

C++ クイズの解説

先日、こんな投稿があり、C++ 界隈で話題だったようです。C++ quiz time! Without checking, what does this print (assume an LP64 / LLP64 system):short a = 1;std::cout << sizeof(+a)["23456"] << std::endl;— Richard Smith (@zygoloid) March 18, 201…

【C++】デストラクタが呼ばれる/呼ばれない

すごく久しぶりの記事更新になってしまいました。 デストラクタ備忘録です。 派生されるクラスのデストラクタは仮想関数にしなければならない 純粋仮想デストラクタには定義が必要 placement new により構築されたオブジェクトは明示的にデストラクタを呼び…

【C++】デフォルトコンストラクタを持たない型の配列を初期化する

class X { public: explicit X(int) {} }; 上のような、デフォルトコンストラクタのないクラスについて考えてみます。 このようなクラスのオブジェクトは、明示的にコンストラクタを呼ばなければ生成できません。 X x1; // NG X x2(99); // OK X xarray1[3];…

Python の環境変数でハマった

最近いろんなプログラミング言語を触ってみたりしています。 Python もそのひとつなのですが、環境変数のせいでうまく動かなかったので備忘録的なメモ。 前提として、Windows 環境でなおかつ Cygwin も入れています。 Windows でも動く Python と、Cygwin 上…

Haskell はじめました

2月になりましたが、2015年初記事でございます。あけましておめでとうございます(遅い)。ブログタイトルが技術系っぽい(つもり)のに、それらしい記事をほとんど書いてませんね。 今回はそれっぽい内容です。 とは言っても、勉強始めたばかりで詳細を語る…

Vimマニュアル(基本編)

span.cursor { color: #000000; background-color: #cccccc; } span.ex_back { color: #e0e0e0: background-color: #333333; } 前回の記事で、Vimを使う上で最低限必要だと思われる操作を紹介しました。しかし、Vimにはまだまだたくさんの機能があります。今…

Vimマニュアル(入門編)

プログラミングにはテキストエディタが必須ですが、私は、数あるエディタの中でも、特にVimを気に入って使っています。今回は、Vimの使い方について簡単にまとめてみたいと思います。 Vimのインストール Vimの起動 モードについて 基本操作 1文字移動 モード…

【C/C++】char型の話

せっかくブログを開設したので、なんか書いてみようと思います。 以前どっかで書いた内容と大体同じだけど。 char 型とは C/C++ で文字を表す整数型。文字"列"ではないことに注意が必要。