Линейный шум в этой вещи огромен. Также ужасно читать.
Дайте мне знать, они объяснили, что новое синтаксическое дополнение с любыми примерами? Например, у них есть несколько программ, которые уже используют 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» -keyword может быть оправданным, хотя, возможно. Но давайте возьмем только C ++, потому что это лучше, чем C ++ 0x в этом аспекте.
std::complex<double> val = std::complex(0, 3.14);
Это как .. это просто. Даже подумал, что все std и pointy brackets просто хромые, если вы используете его везде. Я не начинаю гадать, какой синтаксис существует в C ++ 0x для превращения std :: 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); не спасает вас много времени в целом, за исключением нескольких супер-особых случаев.