ちくしょう今時フルFM音源の仕事とか裏山過ぎるだろ。と思う32bit世代の音屋
はどれだけいるんだろうか。かくいうぼくも、気がつけばゲーム機がPCM一色に
なってしまっていた世代ですが。
……ちょっと改変してみるか。
ちくしょう今時フルMC68000(と見せかけてZ80もオマケでついてるよ!)の仕事
とか羨ましすぎるだろ。と思う64bit級世代のプログラマはどれだけいるんだろ
うか。かくいう(以下略)
まぁ「今敢えてそれをやる」チャンスを掴む運もあるとして、あと大事なのは、
実績をちゃんと残すってことなんだろうな……。
pig typing というのはどうか。
この用語の名前は「ピッグ・テスト」に由来する。
The pig which does not fly is just a pig.
(飛行しない豚は、まさしく豚である。)
--
gcc拡張のweak属性が使えないかなと思った。
#include <iostream>
class pig
{
public:
__attribute__ ((weak)) virtual void fly() const = 0;
};
class just_only_a_pig : public pig
{
public:
};
class porco : public pig
{
public:
void fly() const {
std::cout << "I'm just not a pig." << std::endl;
}
};
template <typename Piggy>
void fly(const Piggy& piggy) {
if (&Piggy::fly) piggy.fly();
}
int main(void)
{
just_only_a_pig pig1;
porco pig2;
fly(pig1);
fly(pig2);
}
pig.cpp: In function 'int main()':
pig.cpp:29: error: cannot declare variable 'pig1' to be of abstract type 'just_only_a_pig'
pig.cpp:10: note: because the following virtual functions are pure within 'just_only_a_pig':
pig.cpp:6: note: virtual void pig::fly() const
見事に目論見失敗!
ていうか肝心なことを見落としていたんだけど、スタート地点が「純粋仮想関数
の実装めんどくせ」なので、そもそも仮想関数を純粋にしなければ全て解決する
んじゃないか。俺はアホか。どこまで与太なんだこの日記は。