is(typeof({}()))

投稿ツリー


このトピックの投稿一覧へ

なし is(typeof({}()))

msg# 1
depth:
0
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2010/4/7 3:07
tama  一人前   投稿数: 111
Andreiがstd.rangeとかで使っているこれ,「delegateを呼び出して,それが動けばOK」と思ってたんですが
#code(d){{{
template hasFoo(T)
{
enum bool hasFoo = is(typeof(
{
T t;
t.foo;
}()));
}

struct A { void foo() {} }
class B { void foo() {} }

hasFoo!(A); // true
hasFoo!(A*); // true
hasFoo!(B); // true
hasFoo!(B*); // true
}}}
となって分からなくなりました(Rangeは構造体だけなので気付かなかった).これってどういう原理なんですかね?
投票数:64 平均点:5.31
返信する

この投稿に返信する

題名
ゲスト名
投稿本文

  条件検索へ


メインメニュー

ログイン

ユーザー名:


パスワード:





パスワード紛失  |新規登録

Menu