Форум программистов, компьютерный форум CyberForum.ru

Move Semantic - будет ли утечка? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Из массива вещественных чисел удалить все отрицательные элементы http://www.cyberforum.ru/cpp-beginners/thread1131773.html
Помогите пожалуйста , очень срочно и если можно то попроще , что бы мог разобраться и прокомментировать Из массива вещественных чисел удалить все отрицательные элементы. Найти среднее арифметическое элементов массива до и после удаления. Создать функции для удаления элемента массива и для определения среднего значения.
C++ Определить номер минимального простого числа до и после упорядочивания массива(исправить ошибки в коде) Упорядочить массив целых положительных чисел по возрастанию, определить номер минимального простого числа до и после упорядочивания массива. Создать функции для сортировки массива и определения простого числа. !функции работают исправно, основная программа не всегда выдает верные ответы , помогите доработать , пожалуйста #include <iostream> #include <time.h> #include<stdlib.h>... http://www.cyberforum.ru/cpp-beginners/thread1131752.html
C++ Найти площадь многоугольника, заданного перечислением координат вершин в порядке обхода его границы
Найти площадь многоугольника, заданного перечислением координат вершин в порядке обхода его границы.(используя указатели)
C++ В заданном множестве точек плоскости найти количество точек, находящихся внутри кольца
В заданном множестве точек плоскости найти количество точек, находящихся внутри кольца, ограниченного окружностями с общим центром, радиусы которых r и R (r<R) Добавлено через 6 минут с помощью указателей
C++ Запуск VS с заданным INCLUDE http://www.cyberforum.ru/cpp-beginners/thread1131736.html
Нужно запустить VisualStudio c заданными переменными окружения MY_LIB MY_INCLUDE, значение которых определяется параметрами командной строки. Как это сделать - представления не имею :(
C++ Найдите треугольник максимальной площади.(через указатели) Исправьте ошибку. N треугольников плоскости заданы длинами своих сторон. Найдите треугольник максимальной площади.(через указатели) #include <iostream> #include <math.h> using namespace std; int main() { setlocale(0,""); int a,b,c,n,d,p=0; float s=0,z; подробнее

Показать сообщение отдельно
gromo
 Аватар для gromo
366 / 265 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
28.03.2014, 00:19  [ТС]     Move Semantic - будет ли утечка?
Цитата Сообщение от DrOffset Посмотреть сообщение
Потому что vector не определяет такого оператора:
Да уж, забыл но а если без const и без & ? Вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class ChannelsScaleDraw
{
public:
    void updateLabelsBuffer(std::vector<QString> labels)
          {
                 l = std::move(labels);
          }
private:
    std::vector<QString> l;
};
void someFunc()
{
    std::vector<QString> vec;
    // заполнили vec
    ChannelsScaleDraw obj;
    obj.updateLabelsBuffer(std::move(vec));
}
Добавлено через 7 минут
vec создается на стеке функции someFunc(), может нет смысла его перемещать из нее? просто передать его по обычной lvalue reference в updateLabelsBuffer() и уже там перемещать как первом посте?

Только думал, что разобрался с move семантикой и опять каша в голове

Добавлено через 11 минут
Цитата Сообщение от DrOffset Посмотреть сообщение
А вот про семантику
Спасибо, когда-нибудь почитаю подробнее про это, но сейчас мой мозг пока не готов к <type_traits>-подобному материалу Может через полгодика
 
Текущее время: 16:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru