2013-04-23 4 views
2

Когда я использую только короткие целые числа в моей программе, это лучше использовать:C++ аргумент, внутр короткий

void printVars(int x1, int x2, int x3) 

или

void printVars(short int x1, short int x2, short int x3) 

в качестве аргумента для моих функций?

Благодарим вас заблаговременно.

+6

лучше в каком смысле? –

+0

Почему ваша программа используется только коротко? Вы знаете, как влияет его скорость на использование 'short', а не' int'? У вас так много данных, что вы абсолютно должны это сделать, чтобы поместить его в память? Не забывайте, что «int» является «естественным» размером для архитектуры, поэтому, если вы не ограничены памятью, нет веских оснований для использования «короткого». –

ответ

3

Если вы на 100% уверены, что никогда не будете использовать более крупные целые числа, чем короткие, лучше использовать его, так как он может сэкономить 2 байта (в большинстве случаев, в большинстве систем, но не обязательно). Это действительно идея бога, чтобы не использовать больше ресурсов, чем вам нужно. Разница, вероятно, будет пренебрежимо малой для приложений.

+0

Это ** может ** сохранить два байта. «Int» требуется не меньше, чем «короткий», но он не должен быть больше. –

+0

Спасибо за точность, я отредактировал свой ответ :-) –

0

Если вы используете только short s, то нет никаких вреда при прохождении short параметров функции, так как вы ничего не потеряете, но это не сэкономит много с точки зрения объема памяти или производительности, используя short.

0

Если вы хотите подчеркнуть допустимый диапазон значений, я предпочел бы short int. Это экономит пространство, и он дает четкое/лучшее представление о допустимых значениях.

int может быть лучше в смысле производительности, но я не рассчитывал на это.

Мой совет: если вы уверены, что short int - это тип с наилучшим подходящим диапазоном, используйте его.

0

Я бы использовал short, поэтому ваш код более согласован. Также лучше сделать typedef, если вы хотите изменить свой тип в будущем. Просто сделайте typedef short int Short и используйте его в своей программе. Позже вы сможете изменить тип Short только в одном месте.

0

Самое важное, что нужно сделать с вашими параметрами, - это сообщить, что ваша функция нуждается в качестве входных данных и будет выводиться как выход. Если ваша функция будет работать только по номерам в диапазоне коротких, то используйте для этого типа short. То, что вы должны спросить, - это то, что произойдет, если вы допустили короткие числа, превышающие максимальное значение? Это ошибка?

Эффективность воздействия коротких замыканий или цепей, вероятно, будет незначительной или вообще отсутствовать. Не беспокойтесь о производительности, если это не станет проблемой.

Смежные вопросы