Будет ли у C ++ есть ключевое слово, такое как «for_parallel»? [закрыто]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Будет ли у C ++ есть ключевое слово, такое как «for_parallel»? [закрыто]

Сообщение Anonymous »

Во время изучения параллелизма я узнал, что C ++ поддерживает параллелизм с помощью таких функций, как std :: for_each, std :: transform и политика выполнения. Так что, если, например, мы хотим разделить элементы некоторых векторов vec на какой -то двойной r parallelly, мы можем написать

Код: Выделить всё

std::for_each(std::execution::par, vec.begin(), vec.end(), [r](int &i) { i /= r; });
< /code>
лично мне это не нравится (или, может быть, недостаточно знакомо с C ++, чтобы понравиться). Необходимость #Include  
просто вызовет выполнение :: par , необходимость создавать объект лямбда и иметь все это, обернутое в другую функцию, чувствует себя ... странно. Почему у c ++ нет ничего подобного < /p>

Код: Выделить всё

for_parallel (int &i : vec) i /= r;
, что легче читать (по крайней мере для меня)?

Код: Выделить всё

for_parallel (int i = 0; i < vec.size(); i += 2) {
// apply transformations to elements with custom indexes
}
for_parallel (int i = 0; i < vec.size(); i++) {
// apply transformations to many vectors
vec_sum[i] = vec[i] + vec2[i];
}
уже есть #pragma omp , поэтому я предполагаю, что было бы не так сложно добавить эту функцию. Я также не могу придумать причину, чтобы не реализовать это, кроме (что мне сказали) реализация новой функции проще, чем реализация нового ключевого слова, следовательно, For_each родился вместо for_parallel . Но, может быть, новые версии C ++ будут иметь for_parallel и создавать for_each устареть так же, как std :: print является новым std :: cout ?

Подробнее здесь: https://stackoverflow.com/questions/797 ... r-parallel
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»