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

Как использовать указатели при работе с массивами? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Динамический массив http://www.cyberforum.ru/cpp-beginners/thread393896.html
Подскажите, как создать двумерный массив mxn, пожалуйста!
C++ Массив строк... Здравствуйте, помогите пожалуйста, дан файл .txt, в нем неизвестное кол-во символьных строк, надо вывести все строки на экран поочередно, не сразу весь файл вывести! на Си. http://www.cyberforum.ru/cpp-beginners/thread393895.html
C++ построение графика f(x)=x^4+3x-20
Дали задание в универе, График из Mathcad'a нужно нарисовать в C, но для такого нужен Visual C или C#, а я такого уже не знаю. Помогите написать программу или дайте толковый самоучитель как оно делается. f(x)=x^4+3x-20
Как завершить цикл в OpenMP C++
Использую OpenMP для параллельных расчетов очень нужно при определенном условии экстренно завершить цикл break; с OpenMP не работает можно ли как то завершить цикл не дожидаясь его окончания ??
C++ Сделать событие изменения переменной в классе http://www.cyberforum.ru/cpp-beginners/thread393869.html
в классе есть переменные в области паблик. Надо сделать так что при изменении переменной ,выполнялось какое то событие. Ну например если кто прогал в билдере. Там есть компонент Edit. И событие OnChange. При изменении значение в Edit срабатывает OnChange. Что -то подобное для переменной класса сделать можно? паттерн какой то рубить надо?
C++ Упорядочить массив, начиная с элемента с номером К, методом "пузырька" Задан массив U(N) и натуральное число К. Сортировать элементы, начиная с элемента с номером К, за ростом. Для решения задачи применим метод "пузырька" #include <iostream.h> #include <stdio.h> #include <conio.h> int main(void) { подробнее

Показать сообщение отдельно
Гоблин
 Аватар для Гоблин
1 / 1 / 0
Регистрация: 17.10.2010
Сообщений: 29
01.12.2011, 15:34     Как использовать указатели при работе с массивами?
Цитата Сообщение от Bers Посмотреть сообщение
это ссылка)
Несовсем. Ссылку вернет &s, а вот s в теле функции будет работать как указатель.
Цитата Сообщение от taras atavin Посмотреть сообщение
Нифига подобного. Явный - это тот, который прописан в исходнике, а неявный - тот, что в коде существует, но в исходнике его не видно. И ни каких условностей.
Ну так верно ведь говорите! О чем тогда спор?..
Цитата Сообщение от taras atavin Посмотреть сообщение
Ну и где ж оно у тебя неявное то, когда оно явно прописано в теле функции?
Поясняю. Поправьте, если буду неправ.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <conio.h>
#include <stdio.h>
 
void func(int *A, int &s) {
  s = A[1];
}
 
void main() {
  int s = 0;
  int *A = new int [2];
  A[0] = 0;
  A[1] = 1;
  A[2] = 2;
  func(A,s);
  printf("%d",s);
  getch();
  delete []A;
}
В этом примере функция func изменит значение s. А как, если у функция ничего не возвращает и в саму функцию мы передаем только адрес переменной?
Насколько я понимаю, в строке s = A[1]; компилятор как раз будет обращаться к указателю на переменную s, то есть разыменовывание будет происходить неявно. То есть в шапке фактически написано *s = &ToChtoPeredanoVFunkciоu. Или я не прав? В конечном счете значение массива заносится по адресу переменной переданной в функцию, а не в переменную. Со ссылкой насколько я помню такой прием не пройдет.

Добавлено через 2 минуты
Цитата Сообщение от taras atavin Посмотреть сообщение
Ты где это вообще откопал?
Насколько я понимаю как раз об этом речь и шла: классы это всего лишь программные конструкции, в конечном итоге объект это ссылка на начало объекта в памяти.
 
Текущее время: 12:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru