как мне установить существующее время NSDate
?
То есть у меня есть дата (скажем, текущая дата / время), но затем хотите установить это на определенное время (например, 11.23 утра), скажем. Каков самый быстрый способ сделать это в цели C?
Я смотрю на NSCalendar
и вижу такие методы, как dateByAddingComponents: toDate: options:
и dateFromComponents :
, но они, похоже, не совсем подходят для того, что мне здесь нужно. Например:
dateFromComponents:
Это выглядит некрасиво, но компилируется и отлично работает на gcc-4.6
typedef std::tuple<int,char,long> mytuple;
mytuple var = std::make_tuple(4,'c',1000);
char * ptr = reinterpret_cast<char*>(&var);
long * pt = reinterpret_cast<long*>(ptr+tuple_element_offset<2,mytuple>());
std::cout << *pt << std::endl;
выводит «1000».
Я не слишком много знаю о constexpr, поэтому мои вопросы:
- Это законный c ++?
- Что еще важнее, почему мне разрешено звонить
std :: get (не constexpr)
внутри функции constexpr?
Насколько я понимаю constexpr, компилятор вынужден оценивать результат
выражения во время компиляции, поэтому на практике не может произойти разыменование нуля.