вопросы по chrono::duration
От: sergii.p  
Дата: 10.08.19 09:47
Оценка:
накопилось несколько вопросов по реализации chrono::duration. Может кто видел в стандарте, или знает почему именно так?
Отредактировано 12.08.2019 7:49 sergii.p . Предыдущая версия .
Re: вопросы по chrono::duration
От: reversecode google
Дата: 10.08.19 11:55
Оценка: 2 (1)
не стесняйтесь погуглить
https://stackoverflow.com/questions/46402944/how-does-stdchronoduration-default-constructed
Re[2]: вопросы по chrono::duration
От: sergii.p  
Дата: 12.08.19 07:42
Оценка: +1
Здравствуйте, reversecode, Вы писали:

R>не стесняйтесь погуглить

R>https://stackoverflow.com/questions/46402944/how-does-stdchronoduration-default-constructed

чем дальше, тем больше не понимаю идиомы "don't pay for what you don't use" Два тика процессора сэкономили, а сколько людей уже забыли проинициализировать std::chrono::duration и убили время на поиск ошибки, их не волнует.
Re[3]: вопросы по chrono::duration
От: reversecode google
Дата: 12.08.19 08:21
Оценка:
насколько я помню в совеременном языке С++
не реккомендуется использовать не инициализированные переменные

т.е.
int a;
a = run();
муветон
должно быть
int a = run();

соответственно, не платите за то что не используете
это именно про первый случай, когда "a" не инициализируется при объявлении
Re[4]: вопросы по chrono::duration
От: sergii.p  
Дата: 12.08.19 10:31
Оценка:
Здравствуйте, reversecode, Вы писали:

R>насколько я помню в совеременном языке С++

R>не реккомендуется использовать не инициализированные переменные

да, конечно не рекомендуется. Но когда вы используете производный тип с дефолтным конструктором, вы ожидаете что он произведёт какие-то инициализирующие действия. Например:
std::string s; // ожидаем, что s проинициализировано. На произвольный участок памяти строка не указывает
std::vector<int> v; // тоже самое. Но это конечно всё примеры с контейнерными типами. У них конечно своя специфика. Но теперь возьмём другой "не контейнерный" тип
std::complex<float> c; // вуаля, по нулям. Получается разработчик std::complex согласен взымать с вас плату за то, что вы не используете.
Отредактировано 16.08.2019 7:25 sergii.p . Предыдущая версия .
Re[5]: вопросы по chrono::duration
От: reversecode google
Дата: 12.08.19 10:40
Оценка:
напишите вопрос напрямую walter-у brown-у
он по моему имеет отношение к дизайну chrono библиотеки
мне он когда то отвечал по моим вопросам
и когда ответит вам, поделитесь с нами результатом
Re: вопросы по chrono::duration
От: Erop Россия  
Дата: 12.08.19 12:26
Оценка: +2
Здравствуйте, sergii.p, Вы писали:

SP>накопилось несколько вопросов по реализации chrono::duration. Может кто видел в стандарте, или знает почему именно так?

SP>
код вроде
std::chrono::seconds buffer[MAX_BUFFER_LENGTH]
в отличии от кода
long long buffer[MAX_BUFFER_LENGTH]
будет занимать Овер дофига времени, что несколько неожиданно...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[5]: вопросы по chrono::duration
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 12.08.19 17:14
Оценка:
Здравствуйте, sergii.p, Вы писали:

SP>да, конечно не рекомендуется. Но когда вы используете производный тип с дефолтным конструктором, вы ожидаете что он произведёт какие-то инициализирующие действия.


Я не ожидаю и считаю, что STL зря во многих других типах инициализирует данные в конструкторах по умолчанию.
Ce n'est que pour vous dire ce que je vous dis.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.