Шум линии в этой штуке огромен. Также читать ужасно.
Дайте мне знать, они объясняли это новым синтаксическим добавлением какими-либо примерами? Например, есть ли у них пара программ, которые уже используют C ++ 0x?
Для меня эта часть:
auto val = 3.14_i
Не оправдывает эту часть:
std::complex<double> operator ""_i(long double d) // cooked form
{
return std::complex(0, d);
}
Даже если бы вы использовали i-синтаксис в 1000 других строках. Если вы пишете, вы, вероятно, также напишите 10000 строк чего-то еще. Особенно, когда вы все еще, вероятно, будете писать в основном везде:
std::complex<double> val = 3.14i
'auto' - ключевое слово может быть оправдано, но только возможно. Но давайте возьмем только C ++, потому что в этом аспекте он лучше, чем C ++ 0x.
std::complex<double> val = std::complex(0, 3.14);
Это как ... так просто. Даже мысль, что все стандартные и заостренные скобки просто хромают, если вы используете их повсюду. Я не начинаю догадываться, какой синтаксис есть в C ++ 0x для превращения std :: complex в complex.
complex = std::complex<double>;
Возможно, это просто, но я не верю, что это так просто в C ++ 0x.
typedef std::complex<double> complex;
complex val = std::complex(0, 3.14);
Может быть? > :)
В любом случае, суть в том, чтобы написать 3.14i вместо std :: complex (0, 3.14); не экономит много времени в целом, за исключением нескольких супер особых случаев.