На основе диапазона для Brace initializer по сравнению с неконфектными значениями?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 На основе диапазона для Brace initializer по сравнению с неконфектными значениями?

Сообщение Anonymous »

Я пытаюсь итерации по ряду std :: list s, сортируя каждый из них. Это наивный подход: < /p>

#include
using namespace std;
int main(void){
list a,b,c;
for(auto& l:{a,b,c}) l.sort();
}
< /code>

Производство < /p>

aa.cpp:5:25: error: no matching member function for call to 'sort'
for(auto& l:{a,b,c}) l.sort();
~~^~~~
/usr/bin/../lib64/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/stl_list.h:1586:7: note:
candidate function not viable: 'this' argument has type 'const
std::list', but method is not marked const
sort();
^
/usr/bin/../lib64/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/stl_list.h:1596:9: note:
candidate function template not viable: requires 1 argument, but 0 were
provided
sort(_StrictWeakOrdering);
^
1 error generated.
< /code>

Я правильно догадаюсь, что Brace initializer создает копию этих списков? И есть ли способ не копировать их, и сделать их изменяемыми внутри цикла? (кроме того, чтобы сделать список указателей на них, что является моим текущим обходным пути).

Подробнее здесь: https://stackoverflow.com/questions/317 ... nst-values
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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