人間の見た目で、賢い頭を持ち、コミュニケーションを図ることができ…

人間の見た目で、賢い頭を持ち、コミュニケーションを図ることができるAIは今後現れる?

上記の解決策の問題点は、ユーザが関数を呼び出して結果を得ることを期待されていることです。 関数を呼び出す代わりに、ユーザは関数ポインタを使用してget_result()を呼び出すことが期待されている。 extern int do_get_result(int n); extern int get_result(int n); ユーザーはdo_get_resultを呼び出し、その結果となるintを渡すことが期待されている。 しかし、この解決法には問題がある。この関数をいろいろな方法で、いろいろな入力引数でテストしたいかもしれない。例えば、この関数が返す数値が1か0かをチェックしたいかもしれない。これを行うもう一つの一般的な方法は、変数を作ってget_resultに代入することである。 void do_get_result(int n); do_set_arg_int(1, get_result, n); 上記の方法はどちらも冗長で、コードが乱雑になることに注意してほしい。また、正しい方法でやったとしても、関数を使うことができなくなるので、信頼できる解決策にはならない。 これらの問題は、intで呼び出され、結果を返す関数を1つ実装することで解決できる。 struct get_result { void operator()(int n) const; }; この関数は2つの引数を持ち、1つはintである。番目の引数には、関数が結果を返します。 次に、call_resultを実装します。

Photo by Mairie de Gennevilliers

この作品の出来はいかがでしたでしょうか。ご判定を投票いただくと幸いです。
 
- 投票結果 -
よい
わるい
お気軽にコメント残して頂ければ、うれしいです。