На основе предложенного выше варианта:
лучше используйте this_thread sleep_for
Ещё добавьте перед этим std::cout << std::flush(), чтобы из буфера текст выкинуть "на печать".
Когда будете знакомится потоками, помните, что оператор << не гарантирует последовательное срабатывание, лучше писать на каждой новой строке с одним аргументом: cout << "a: "; cout << a;
У вас ещё ничего не вызывается. У вас происходит ошибка при инстанцировании шаблона класса 'lib::LinkedList::Node::Node(const T&)', который требует от параметра шаблона учавствовать в инстанцировании конструкторов для класса 'lib::LinkedList::Node::Node(const T&) [with T = Item]'
Собственно, все же написано, что происходит
Вам вообще внутри листа нужен только указатель, поэтому определение Node можно убрать из класса. Выглядит, как ошибка дизайна.
cryogenic_phoenix, если говорить про такой продукт как Unreal Engine, то тут только один вариант - собирать единомышленников и делать обёртку самостоятельно, поскольку на данный момент, ни одной из компаний в тусовке с Epic Games это не нужно.
По Бруксу, UE - программный системный продукт, что означает высокую стоимость по всем меркам, в т ч времени.
Строго говоря, размер встроенного в компилятор типа поменять нельзя, не вмешиваясь в код компилятора. Но можно в области видимости своего кода перекрыть идентификатор типа int своим с помощью using / typedef, но это преступление против человечества, и лучше так не делать.
Speakermen, извиняюсь за оффтоп, мой опыт говорит, что подобной чистоты можно добиться только в инструментальном коде - велосипедный, но маленький модуль, библиотека или фреймворк с жёстко ограниченной моделью данных / множеством сущностей. Если код про прикладное решение, то он всегда испорчен отложенным рефакторингом вызывающего контекста, и как правило, оказывается, что нельзя просто так взять и отрефакторить бяку за часок.
Применение паттерна не обязательно улучшает код, а может усложнить, но зато организовывает дальнейшее внесение изменений. Если паттерн применение по делу
У вас есть идея размножить сущности и разделить на другие модули - вы прежде должны найти доказательства в существующей кодовой базе, что это нужно сделать. Если вам просто хочется так сделать, потому что так написано в книге или статье, то это однозначно ухудшение кода.
John Smith, я это понимаю, потому что был в такой стадии тоже, просто хочу склонить вас придерживаться мысли "глупых вопросов не бывает, бывают бесполезные ответы". Не думаю, что объяснить что-то совсем новичку является зазорным. Это можно рассматривать как шанс попрактиковаться быстро, ёмко и понятно изложить свои мысли.
Aleksey, я не помаю, почему чье-то мнение об авторе является ответом на вопрос "посоветуйте книгу про написание игрового движка или графической библиотеки".
Если у вас вызывает негатив такие вопросы,
что на самом деле странно, то вы можете поставить себе фильтр на простые вопросы, а лучше - вообще убрать тег книги.
Такие вопросы будут и дальше возникать, пока будет существовать проблема "слишком много информации".
freeExec, мне кажется, не корректно ставить взаимосвязь между Linux и BIOS рядом с абстрактным игровым движком в вакууме и абстрактной ОС. Хотя какая-нибудь самописная ОС без сомнений может рассматриваться такой точки зрения, как просто прослойка над BIOS.
Никто не собирается в одиночку делать убийцу Unreal. Просто мне кажется проблемой, что когда задают простой и конкретный вопрос, в ответ идёт какой-то оффтоп.
лучше используйте this_thread sleep_for
Ещё добавьте перед этим std::cout << std::flush(), чтобы из буфера текст выкинуть "на печать".
Когда будете знакомится потоками, помните, что оператор << не гарантирует последовательное срабатывание, лучше писать на каждой новой строке с одним аргументом: cout << "a: "; cout << a;