Decremented Blog

プログラミング、釣り、工作など、ジャンルを特に定めず、適当に書かれたブログです。

ヤドカリがあぁぁぁぁぁぁぁぁぁぁ

2008-03-15 08:11:28 | 趣味・その他
一ヶ月くらい水槽の掃除を忘れていたら、飼っていたヤドカリがほとんど居なくなってしまいました・・・
5匹飼ってた筈なのに、確認できるのは一匹のみ。
どうやら、他の奴は死んでしまい、食べられてしまったようです。
エサやり機のエサが無くなってしまっていたので、共食いでもしちゃったのかなあ・・・
ごめんよ、おまいら・・・

飼っているのは、丘ヤドカリではなく、海水で飼育するイソヨコバサミ(多分・・・)です。
ペットショップで購入したのではなく、潮干狩りで、甥っ子と姪っ子が見つけてきたものを飼っていました。
フィルタとヒーター、自動エサやり機を備えた水槽で飼育しているため、世話は月に1~2度すれば十分で、手間もあまりかかりません。

寂しくなってしまったので、今度小さな海タナゴでも釣ってこようかなあ・・・
メバルが可愛くて好きだけど、根魚はヤドカリとケンカしそうだし、そもそも小さなメバルは狙ってはつれそうに無いしね。


C++のテンプレート引数に文字列を使う方法・・・無理やりです

2008-03-15 01:04:56 | プログラミング・開発
C++のテンプレート引数に文字列を使いたくなったのですが、なかなかうまくいきません。

template<CString STR>
class hoge{};

や、

template<const char *STR>
class hoge{};

は、コンパイルエラーになってしまいます。
調べた結果、どうやっても、文字列を直接持っていくことは無理そうです。

結局、下のリストのような方法で無理やり実現しました・・・
CStaticStringTemplate<'T', 'e', 's', 't'>
とかやって利用します。
あんまりだなあ・・これ・・・orz
/*!
	スタティック文字列テンプレート
*/
template<	char s0=0, char s1=0, char s2=0, char s3=0, 
			char s4=0, char s5=0, char s6=0, char s7=0, 
			char s8=0, char s9=0, char s10=0, char s11=0, 
			char s12=0, char s13=0, char s14=0, char s15=0 >
class CStaticStringTemplate
{
public:
	CStaticStringTemplate()
	{
		if(s0 != 0)
			m_name += s0;
		else
			return;
		if(s1 != 0)
			m_name += s1;
		else
			return;
		if(s2 != 0)
			m_name += s2;
		else
			return;
		if(s3 != 0)
			m_name += s3;
		else
			return;

		if(s4 != 0)
			m_name += s4;
		else
			return;
		if(s5 != 0)
			m_name += s5;
		else
			return;
		if(s6 != 0)
			m_name += s6;
		else
			return;
		if(s7 != 0)
			m_name += s7;
		else
			return;

		if(s8 != 0)
			m_name += s8;
		else
			return;
		if(s9 != 0)
			m_name += s9;
		else
			return;
		if(s10 != 0)
			m_name += s10;
		else
			return;
		if(s11 != 0)
			m_name += s11;
		else
			return;

		if(s12 != 0)
			m_name += s12;
		else
			return;
		if(s13 != 0)
			m_name += s13;
		else
			return;
		if(s14 != 0)
			m_name += s14;
		else
			return;
		if(s15 != 0)
			m_name += s15;
		else
			return;
	};

	//	文字列
	CString	m_name;
};