Прежде всего, это связано с удобством использования. Если вы используете наследование, класс Team
будет выставлять поведение (методы), которые предназначены исключительно для манипулирования объектами. Например, методы AsReadOnly()
или CopyTo(obj)
не имеют смысла для объекта команды. Вместо метода AddRange(items)
вы, вероятно, захотите получить более описательный метод AddPlayers(players)
.
Если вы хотите использовать LINQ, реализация универсального интерфейса, такого как ICollection<T>
или IEnumerable<T>
, имеет смысл .
Как уже упоминалось, композиция - это правильный путь. Просто реализуйте список игроков как приватную переменную.
Можно сделать, это с делает - с гну, делают, это - флаг-j (это также поможет на однопроцессорной машине).
, Например, если Вы хотите 4 параллельных задания от, сделайте:
make -j 4
можно также выполнить gcc в канале с
gcc -pipe
, Это конвейерно обработает этапы компиляции, которые также помогут заставить ядра напряженно трудиться.
, Если Вы имеете дополнительные машины в наличии также, Вы могли бы проверить distcc, который сдаст компиляции в аренду тем также.
Нет такого флага, и наличие выполнений того против философии Unix наличия каждого инструмента выполняет всего одну функцию и выполняет его хорошо. Порождение процессов компилятора является концептуально заданием системы сборки. То, что Вы, вероятно, ищете, является-j (задания), флаг к GNU делает, а-ля
make -j4
, Или можно использовать pmake, или подобная параллель делают системы.
Люди упомянули make
, но bjam
также поддержки подобное понятие. Используя bjam -jx
дает bjam команду создавать [до 113] параллельные команды.
Мы используем те же сценарии сборки в Windows и Linux и использующий эту опцию половины наше время изготовления на обеих платформах. Хороший.
make
сделает это для Вас. Займитесь расследованиями -j
и -l
переключатели в странице справочника. Я не думаю g++
, parallelizable.
Я не уверен в g ++, но если Вы используете GNU, Делают тогда, "делают-j N" (где N является количеством потоков, делают, может создать), позволит, делают для выполнения multple g ++ задания одновременно (пока файлы не зависят друг от друга).