Форум программистов, компьютерный форум, киберфорум
Наши страницы

Использование *& - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Псевдографика http://www.cyberforum.ru/cpp-beginners/thread345670.html
Мне нужно консольное псевдографическое приложение. Функции вроде printf и std::cout выводят информацию с новой строчки. А можно как нибудь в C++ переписать какую нибудь из уже выведеных? Например...
C++ Неудается добавить в автозагрузку! Привет всем! Такая проблема. Пытаюсь средствами С++ добавить прогу в автозагрузку, в итоге не получается, выдает код ошибки 87, смотрел по winerror - это ERROR_INVALID_PARAMETER. В чем проблема?... http://www.cyberforum.ru/cpp-beginners/thread345667.html
Ввести с клавиатуры предложение. Удалить из него все буквы о, стоящие на нечетных местах. C++
Ввести с клавиатуры предложение. Удалить из него все буквы о, стоящие на нечетных местах.
C++ Определить, сколько начальных букв первого слова совпадает с начальными буквами второго слова.
Ввести с клавиатуры два слова. Определить, сколько начальных букв первого слова совпадает с начальными буквами второго слова.
C++ Определить среднее арифметическое всех элементов массива. http://www.cyberforum.ru/cpp-beginners/thread345624.html
Дан двумерный массив. Определить среднее арифметическое всех элементов массива.
C++ Случайным образом заполнить двумерный массив (с++ помогите) Случайным образом заполнить двумерный массив. Каждую строку упорядочить по возрастанию и сохранить получившийся массив в файл. подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
27.08.2011, 10:23
Цитата Сообщение от rigodigo Посмотреть сообщение
void func1(class1*&);//что означает class1*&
В функцию передётся уазатель на адресс переменной принадлежащей class1, вобще для лучшего понимания лучше рассмотреть случай попроще, например:

C++
1
void func1(double &val);
означает что в функцию передаём ссылку на переменную val, указанная конструкция позволяет при изменении значения val внутри функции, изменить значение переменной и вне пределах функции
C++
1
2
3
4
5
6
7
8
9
10
11
12
void func1(double &val);
{
    val += 3.5;
}
 
int main()
{
    double a = 0;
    func1(a);//аналогично а += 3.5;
    cout<<a;
    return 0;
}
Т.е передавая параметр по ссылке можем делать тип функции void и не писать вконце её тела return. Это может показаться не нужным, но иногда функция должна возвращать сразу несколько параметров, причём разнотипных, а вот вернуть return можно лишь 1-у переменную (1-н указатель на массив))

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
bool func1(double &val1, int &val2);
{
    bool ret = false;
    if((val = val1 / val2) < 2)
          ret = true;
    val2 = 1;
    return ret;
}
 
int main()
{
    double a = 3;int b = 2;
    bool c = func1(a,b);//а
    cout<<a<<" "<<b<<" "<< c ? 1 : 0<<"\r\n";
    //Вывод будет a = 1,5 b = 1, c = 1
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru