std::pair<int, int> divide(int dividend, int divisor)
{
// :
return std::make_pair(quotient, remainder);
}
std::pair<int, int> answer = divide(5,2);
// answer.first == quotient
// answer.second == remainder
std :: pair - это, по сути, ваше структурное решение, но уже определенное для вас и готовое к адаптации к любым двум типам данных.
Ранние версии unix измеряли системное время с интервалами 1/60 с. Это означало, что 32-битное целое число без знака могло представлять только промежуток времени менее 829 дней. По этой причине время, представленное числом 0
(называемое эпохой ), должно было быть установлено в самом недавнем прошлом. Поскольку это было в начале 1970-х годов, эпоха была установлена на 1971-1-1.
Позже системное время было изменено на приращение каждую секунду, что увеличило промежуток времени, который мог быть представлен 32-битным беззнаковым целое число около 136 лет. Поскольку уже не было так важно выжать из счетчика каждую секунду, эпоху округлили до ближайшего десятилетия, превратившись в 1970-1-1. Надо полагать, что это считалось немного более аккуратным, чем 1971-1-1.
Краткий ответ: Почему бы и нет?
Более длинный ответ: Время само по себе не имеет значения, если все, кто его использует, согласны с его значением. Поскольку 1/1/70 используется так долго, его использование сделает ваш код максимально понятным для максимально возможного количества людей.
Нет большого достоинства в выборе произвольной эпохи только для того, чтобы отличаться.
История .
Самые ранние версии Unix time имели 32-битное целое число с приращением частота 60 Гц, которая была скоростью системные часы на оборудовании ранние системы Unix. Значение 60 Hz все еще появляется в некоторых программах интерфейсы в результате. Эпоха также отличается от текущего значения. первое издание Руководство программиста Unix от 3 ноября 1971 г. определяет Unix time как "время с 00:00:00, 1 января 1971 г., измеряется шестидесятыми долями. включая сложность настоящего определения, результат того, что время Unix было определено постепенно путем использования, а не полностью определено с самого начала.
История .
Самые ранние версии времен Unix 32-битное целое число с приращением частота 60 Гц, которая была скоростью системные часы на оборудовании ранние системы Unix. Значение 60 Hz все еще появляется в некоторых программах интерфейсы в результате. Эпоха также отличается от текущего значения. первое издание Руководство программиста Unix от 3 ноября 1971 г. определяет Unix time как "время с 00:00:00, 1 января 1971 г., измеряется шестидесятыми долями. второй ".