、いくつかの行があります私を混同:C++自動キーワードと機能? SHA256のcppのコードで
// Compress
auto RND = [&](u32 a, u32 b, u32 c, u32& d, u32 e, u32 f, u32 g, u32& h, u32 i)
{
t0 = h + Sigma1(e) + Ch(e, f, g) + K[i] + W[i];
t1 = Sigma0(a) + Maj(a, b, c);
d += t0;
h = t0 + t1;
};
コードが自動RND後を意味しない何、それは関数または何か他のものでしょうか?それが関数なら、それを呼び出す方法は?
これはλ(http://ja.cppreference.com/w/cpp/language/lambda)です。 – Holt
'RND'はラムダです(' [&] ... 'で始まる等号の後のビットに注意してください)、その型はコンパイラにしか知られていません。 'auto'はここで(ラムダの)型を推論するために使われます。 –
私はなぜこの質問が非常に多くのdownvotesを得ているのか知りません。何年も前にC++を書いた人でも、C++ 11(またはC++ 14)を見ても、同じ靴の中に自分自身があるでしょう!それは実際に言葉がどのくらい変わったか、そしてより良いことを言います! – Nawaz