Search
Write a publication
Pull to refresh
0
0
Сергей @dix75

программист

Send message
int i=i+2;
И что тут странного. обычное UB.
Присваивание неиницилизированной переменной.

Не соглашусь с auto_ptr, не все мы живем в идеальном мире, приходится пользоваться и старыми компиляторами.
Переход на новые не всегда возможно, иногда даже вообще невозможно

3 Не инициализированную ссылку создать нельзя, но чтобы она ссылалась в никуда можно.


    int* ab = nullptr;
    int& b = *ab;

Хотя в таком примере это не столь важно, но я предпочитаю всегда писать с целью повторного использования.
4 Согласованность кода.

Занятно, но следует уточнить несколько деталей.


  1. у вас логическая ошибка в расчете разбиения задачи на подзадачи.
    • Предположение основанное на том что, кол-во элементов массива всегда кратно кол-ву ядер верно не всегда.
      (например кол-во задач 10, кол-во ядер 8)
    • также уместно будет расчитывать на то, что кол-во задач может быть меньше кол-ва ядер.
      (например кол-во задач 7, кол-во ядер 8)
  2. Таже ошибка в цикле поиска максимума (последний элемент не учитывается) :(
    Условие item < task.last; не захватывает последний элемент в последнем треде.
  3. Использование не иницилизированной ссылки в структуре не желательно. Хотя компилятор и делает все за нас, но даже банальный resize() не компилируется (и не должен).
    Лучше использовать старый добрый указатель.
  4. Если уж взялись писать auto то пишите его везде где возможно и decltype тоже в помощь.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity