Форум программистов, компьютерный форум 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) { подробнее

Показать сообщение отдельно
Сыроежка
Заблокирован
30.11.2011, 02:01     Как использовать указатели при работе с массивами?
Bers,

По поводу explicit pointer, то я ошибся. Я просто искал по заданному ключевому сочетанию и нашел его использование, но слово explicit в той фразе не относится именно к слову pointer, а относится к группе слов, разделенных запятыми.

"Except by using explicit pointers, references, and object names, declarations in a nested class can use only..."

То есть имеется в виду что "за исключением явного использования указателей, ссылок, имен объектов объявления во вложенном классе могут использовать только ..."

Добавлено через 5 минут
Цитата Сообщение от Bers Посмотреть сообщение
Вот например:

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
struct Some 
{  
    int a; 
    void View() { std::cout <<"ля-ля-ля\n";}
};
 
int main()
{
 
    STD;
 
    Some test; test.a;
    Some* ptr= &test;
 
    ptr[0].View(); //яж массив не создавал,
                        // но тем менее это работает
 
    ptr[100].View(); //хи-хи-хи
 
    //И кстати, работа с указателем посредством индекса
    //Предполагает создание временного объекта
    //Тобишь, доступ к данным, через неявный указатель. 
  
    EndProgramm();
}
Добавлено через 2 минуты


Я конечно понимаю, что тарасовская терминология, которую я нахожу не столько терминологией, сколько "называнием вещей своими именами" может быть упоротая)))

Но вопрос остаётся в силе: почему ж тогда семантика работы с "массивом" на с++ и семантика работы с "указателем" на с++ - абсолютно идентичная?

Чем тогда вообще массив принципиально отличается от указателя на первый элемент блока данных?
Нет, семантика на самом деле не совсем одинаковая. Рассмотрите пример

C++
1
2
3
4
5
6
7
8
9
10
void f( int ( &a )[1] ) {}
 
int main()
{
   int a[] = { 1 };
   int p = a;
 
   f( a );
   f( p );
}
Просто в выражении из вашего примера ptr[100], а это выражение, ptr преобразуется в указатель на первый элемент массива. Оно эквивалентно в частности выражению 100 + ptr
 
Текущее время: 06:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru