Вы не применяете ключ к родительскому фрагменту.
Вы можете использовать <> так же, как и любой другой элемент, за исключением того, что он не поддерживает ключи или атрибуты. ~ https://reactjs.org/docs/fragments.html#short-syntax
blockquote>Вы используете короткий синтаксис <>, который не поддерживает ключи. Использование:
{isValidated ? 'x' : index + 1}
Никакое отражение в C++, таким образом, необходимо сделать это вручную, например, (использующий iostream, для simplicty):
dump_A(std::cout, "A", a);
void dump_A(std::iostream& os, const char* name, A const& a)
{
os << "Structure " << name << '\n'
<< name << ".one = " << a.one << '\n'
<< name << ".two = " << a.two << '\n';
}
C++ не является самосозерцательным. Таким образом, это ничего не знает о содержании его структур. Необходимо использовать своего рода ручную разметку или отражательную систему, чтобы сделать это.
Конечно, если Вы соглашаетесь с информацией о жестком кодировании о структурах, можно вывести информацию с любым методом ввода-вывода.
Например:
struct A
{
int member1;
char member2;
};
void PrintA (const A& a)
{
std::printf ("member1: %d\n", a.member1);
std::printf ("member2: %c\n", b.member2);
}
Поскольку Вы видите, что это утомительно, потому что это требует глубоких знаний структуры и не будет обновлено автоматически, если структура изменяется. Но издержки отражательной системы, чтобы сделать это "правильно" может быть недостатком, особенно если Вы учитесь.
Я имел успех с библиотеками сериализации повышения. Его простое в использовании и естественный выбор для сериализации и десериализации структур данных C++.
Вот ссылка на учебное руководство: http://www.boost.org/doc/libs/1_38_0/libs/serialization/doc/index.html
Это применяется больше к C, чем C++, но примите во внимание, что, если Вы действительно пишете структуру непосредственно в файл (или сетевой буфер) затем, результатом будет зависимый компилятора и машина. Целые числа будут записаны в порядке байтов хоста, и компилятор, дополняющий байты для структуры, будет также включен. Попытка считать буфер на машине с другим порядком байтов или различными директивами компилятора не будет работать
Это произошло бы с чем-то как (быть прощающим на синтаксисе): запишите (f, &A, sizeof (A));
ЕСЛИ это - просто структура, простой тип данных C-compatible, без виртуальных методов и НИКАКИХ указателей, то как краткосрочный клудж Вы могли просто использовать:
struct Foo { int a, b; char c, d, e[50]; } f;
write( fd, & f, sizeof(f) );
Однако не ожидайте, что это будет межплатформенным, или даже изменения кросс-компилятора на той же платформе.