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

Передача вектора по ссылке - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дано натуральное число <= 9999; верно ли, что оно содержит три одинаковых цифры? http://www.cyberforum.ru/cpp-beginners/thread364205.html
дано натуральное число <=9999 верно ли что оно содержит три одинаковых цифры как например 6676, 4544, 0006?
C++ Запись в blob.Не сохраняет jpeg. БД Paradox 7. Подгружаю в TImage картинку,нажимаю сохранить и она исчезает.В обработчике кнопки следующий код: TMemoryStream* strm = new TMemoryStream(); Image1->Picture->Bitmap->SaveToStream(strm); ((TGraphicField*)Form1->Table1->FieldByName("Photo"))->LoadFromStream(strm); delete strm; С bmp все прекрасно работает. http://www.cyberforum.ru/cpp-beginners/thread364202.html
C++ Нахождение наибольшего общего делителя для 6-и чисел
привет! у меня есть задача на нахождение наибольшего общего делителя для 6-и чисел ... нашел было алгоритм .. #include <iostream.h> int nod(int,int); main() { int x,y,t;
C++ задача не для новичков- сборщик мусора
под сборщиком мусора я понимаю алгоритм который освобождает всю память(динамическое выделение памяти) занятуя в результате работы программы. я люблю работать с оператором new особенно он мне нужен в работе с многомерными масивами и мня часто просто лень или я забываю(а восновном вобще не делаю никогда) освобождение памяти оператором delete можно сделать прогу которая будет освобождать всю...
C++ Вывести на экран только те, у которых сумма первых двух цифер равна сумме двух последних. http://www.cyberforum.ru/cpp-beginners/thread364165.html
Дан массив из n четырёхзначных натуральных чисел. Вывести на экран только те, у которых сумма первых двух цифер равна сумме двух последних.
C++ Функция ltoa здрасти:)цикл подсчитывает количество элементов массива, но не учитывает вложенное условие, т.е если мы переводим 175 в бинарную систему то получаем 10101111, итого 6 единиц, а выходной цикл срабатывает 8 раз, т.е. на количество элементов в массиве; при вводе довачного условия, типа если символ равен 0 то А-- ничего не меняется, пожалуйста подскажите что не так? cin >> param; printf("Перевод... подробнее

Показать сообщение отдельно
Gepar
1175 / 531 / 20
Регистрация: 01.07.2009
Сообщений: 3,517

Передача вектора по ссылке - C++

10.10.2011, 19:14. Просмотров 3361. Ответов 3
Метки (Все метки)

Делаю задание Страуструпа на шаблоны, но столкнулся с тем что передавая вектор по ссылке он передаётся не по ссылке (такая вот тавтология).
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
 
template<typename T>
class Sort
{
    public:
    static bool compare(T& first, T& second){return first>=second; }
};
 
template<typename T,class S>
void Msort(vector<T>& tosort)
{
    if(S::compare(tosort[0],tosort[1]))
     swap(tosort[0],tosort[1]); //обмен удачно совершён, если попытаться вывести tosort[0] здесь то он =1
 
};
 
 
int main()
{
    int ar[5]={4,1,1,6,3};
    vector<int> my(ar,ar+5);
    Msort<int,Sort<int> >(my);
    cout<<ar[0]; //выводит 4, хотя должно вывести 1
}
Собственно в коде я показал лишь сравнение одного элемента, не усложняя код остальными тонкостями так что на названия функций не обращаем внимание.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru