All streams
Search
Write a publication
Pull to refresh
0
0
Евгений @MarkusD

Chief Software Engineer in Game Development

Send message

До стандарта C++17 совместимым с C++ стандартом был C98. Не C99.

Начиная со стандарта C++17 совместимым с C++ стандартом стал C11.

Стандарт C, при этом, и обновляется, и улучшается. Многие спорные практики из ранних стандартов C сейчас или утратили силу, или получили титул опциональных.

Зачем чинить инструмент, который не сломан? Как исправлять инструмент, который достаточно эффективно покрывает задачи своего применения?

Относительно функции calculatePositionsAndBounds есть предложение использовать std::transform. Так можно избавиться от ссылки на контейнер в замыкании и еще больше прояснить смысл творящегося.

Нечто вроде такого:
vector<Shape> calculatePositionsAndBounds(float const dt, vector<Shape> const shapes)
{
	vector<Shape> updatedShapes;
	updatedShapes.reserve(shapes.size());
	
	transform(shapes.begin(), shapes.end(), back_inserter(updatedShapes), [dt](Shape const shape)
	{
		return Shape{shape.id, shape.vertices, calculatePosition(shape, dt), shape.velocity, shape.bounds, shape.cellsRange, shape.color, shape.massInverse};
	});
	
	return updatedShapes;
}

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity

Specialization

Game Developer
Lead
From 600,000 ₽
C++
Game Development
C
Python
C#
Java
Git
SVN
Android development