Perlについての質問箱 34箱目
■ このスレッドは過去ログ倉庫に格納されています
0849デフォルトの名無しさん
2008/04/05(土) 22:19:46{
int i = 5;
return &i;
}
int main(void)
{
int *a = hoge();
printf("%d\n", *a);
return 0;
}
Cでこういうのって、関数hogeのローカル変数のアドレスを返して
いるわけで、あきらかに問題ありですよね?(これだと普通に動いちゃう場合が多いけど)
perlの場合の下記のようなコードって、これも一見普通に問題なく動いてるように
見えるのですが、やはり問題ありなのでしょうか? それともperl的にはこのような
コードはOKなのでしょうか?
my $a = hoge();
print "$$a\n";
sub hoge
{
my $i = 5; # 数値でも文字列でも何でもいいのですが
return \$i;
}
■ このスレッドは過去ログ倉庫に格納されています