Стандарт C++ не определяет размер целочисленных типов в байтах, но он определяет минимальные диапазоны, которые они должны быть в состоянии содержать. Можно вывести минимальный размер в битах от необходимого диапазона. Можно вывести минимальный размер в байтах от этого и значения CHAR_BIT
макрос, который определяет число битов в байте (во всех кроме самых неясных платформ, которые это 8, и это не могут быть меньше чем 8).
Одно дополнительное ограничение для char
состоит в том, что его размер всегда - 1 байт, или CHAR_BIT
биты (отсюда имя).
Минимальные диапазоны требуемый стандартом (страница 22):
и Диапазоны Типа данных на [1 128] MSDN:
signed char
:-127 к 127 (примечание, не-128 к 127; это размещает 1's-дополнение и платформы знака-и-величины) unsigned char
: от 0 до 255 char
: тот же диапазон как signed char
или unsigned char
, определенный реализацией signed short
:-32767 к 32 767 unsigned short
: от 0 до 65 535 signed int
:-32767 к 32 767 unsigned int
: от 0 до 65 535 signed long
:-2147483647 к 2147483647 unsigned long
: от 0 до 4294967295 signed long long
:-9223372036854775807 к 9223372036854775807 unsigned long long
: от 0 до 18446744073709551615 C++ А (или C) реализация может определить размер типа в байтах sizeof(type)
к любому значению, целых
sizeof(type) * CHAR_BIT
оценивает достаточно к многому битов высотой для содержания требуемых диапазонов, и sizeof(int) <= sizeof(long)
). определенные для фактической реализации диапазоны могут быть найдены в [1 121] заголовок в C, или
в C++ (или еще лучше, шаблонными std::numeric_limits
в [1 124] заголовок).
, Например, это - то, как Вы найдете максимальный диапазон для [1 125]:
C:
#include
const int min_int = INT_MIN;
const int max_int = INT_MAX;
C++ :
#include
const int min_int = std::numeric_limits::min();
const int max_int = std::numeric_limits::max();
Если вы собираетесь написать веб-страницу, нет необходимости в постоянном соединении. Это требует слишком много ресурсов. Используйте mysql_connect. Сведите к минимуму время, в течение которого ваше соединение с базой данных открыто и не используется, насколько это возможно. Откройте, принесите то, что хотите, закройте. Необязательно оставаться открытым, пока пользователи просто читают. В конечном итоге соединение будет использовано, если они ответят - ВСТАВИТЬ / перейти на другую страницу.
Здесь приведены некоторые положительные моменты о НЕ ИСПОЛЬЗОВАНИИ постоянного соединения в веб-приложениях
Когда вы блокируете table, обычно он разблокируется, когда соединение закрывается, но поскольку постоянные соединения не закрываются, любые таблицы, которые вы случайно оставить заблокированным останется заблокированным, и единственный способ разблокировать их - дождаться тайм-аута соединения или убить процесс. Та же проблема с блокировкой возникает и с транзакциями. (Видеть комментарии ниже от 23 апреля 2002 г. и 12 июля 2003 г.)
Обычно временные таблицы удаляются при закрытии соединения, но, поскольку постоянные соединения не закрываются, временные таблицы не так временно. Если вы не удаляете временные таблицы явно при готовы, эта таблица уже будет существовать для нового клиента, повторно использующего такое же соединение. Та же проблема возникает при настройке сеанса переменные. (См. Комментарии ниже от 19 ноября 2004 г. и 7 августа 2006 г.)
Если PHP и MySQL находятся на одном сервере или в локальной сети, время соединения может быть незначительным, и в этом случае нет преимущества. к постоянным соединениям.
Apache плохо работает с постоянными соединениями. Когда он получает запрос от нового клиента, вместо использования одного из доступные дочерние элементы, у которых уже открыто постоянное соединение, имеет тенденцию порождать нового потомка, который затем должен открыть новую базу данных подключение. Это вызывает лишние процессы, которые просто спят, тратя ресурсы и вызывая ошибки, когда вы достигаете максимума соединений, плюс это сводит на нет все преимущества постоянных соединений. (См. Комментарии ниже от 3 февраля 2004 г. и сноску на http://devzone.zend.com/node/view/id/686#fn1 )
Вам также следует посмотреть mysqli и pdo . mysql-extension довольно старое и не поддерживает подготовленные операторы mysqli. А pdo поддерживает несколько баз данных без изменения запросов.
You should use mysql_pconnect on highly loaded sites, thus the connection would be reused. This may improve speed up to twice...
But, if you do not expect high loads; use normal connect for reasons Svetlozar Angelov mentioned above.