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

Разница между объявлениями указателя - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Разработать функцию f(x), вычисляющую значение по заданной формуле http://www.cyberforum.ru/cpp-beginners/thread1132572.html
Разработать метод f(x), который вычисляет значение по следующей формуле: f(x)=x^3-sin x. Определить, в какой из точек а или b, функция принимает наибольшее значение. Помогите с кодом. Нужно с помощью функции.
C++ Typedef и функция есть такая функция void implicitCurve(const double* x, double* y, double* Df) { // funkcyja f(a,b,c) = (1-a^2-b^2-c^2,(a+b+c)/(a^2+b^2+c^2)-1) // const double n = x*x + x*x + x*x; const double s = x + x + x; y = 1. - n; y = s/n - 1.; http://www.cyberforum.ru/cpp-beginners/thread1132566.html
C++ Убрать элемент строки
Как правильно убрать элемент строки? fileName.erase(i, i) - не работает почему-то
Стоит ли изучать как устроена ЭВМ для эффективного программирования C++
Всем дробового времени суток (пятница!!!) Стоит ли изучать как устроен ЭВМ для эффективного программирования на плюсах ?
C++ Посчитать количество заданных последовательностей http://www.cyberforum.ru/cpp-beginners/thread1132549.html
Помогите решить следующую задачу: Посчитать количество последовательностей из 0, 1, 2 длины n, в которых не менее a0 нулей, a1 единиц и a2 двоек.
C++ Не работают команды switch блин самая простая и элементарная программа, компилируется без ошибок, но не работает #include <cstdlib> #include <iostream> #include <conio.h> using namespace std; int main(int argc, char *argv) { char act; подробнее

Показать сообщение отдельно
GetVariable
 Аватар для GetVariable
163 / 119 / 5
Регистрация: 17.03.2013
Сообщений: 283
28.03.2014, 21:31     Разница между объявлениями указателя
C++
1
Rectangle  *a = new Rectangle;
оператор new - выделяет память.

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

Также указатель может указывать на другой объект класса.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
int main()
{
    int var = 123; // инициализация переменной var числом 123
    int *ptrvar = &var; // указатель на переменную var (присвоили адрес переменной указателю)
 
    std::cout << "&var    = " << &var << std::endl;// адрес переменной var содержащийся в памяти, извлечённый операцией взятия адреса
    std::cout << "ptrvar  = " << ptrvar << std::endl;// адрес переменной var, является значением указателя ptrvar
    std::cout << "var     = " << var << std::endl; // значение в переменной var
    std::cout << "*ptrvar = " << *ptrvar << std::endl; // вывод значения содержащегося в переменной var через указатель, операцией разименования указателя
 
    return 0;
}
Результат работы:

Код
&var    = 0x22ff08
ptrvar  = 0x22ff08
var     = 123
*ptrvar = 123
Пример работы с указателями:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
 
int main()
{
    std::cout << "Enter massive size: ";
 
    size_t size;
    std::cin >> size;
 
    int* mas = new int[size];
 
    for(size_t i = 0; i < size; ++i)
        mas[i] = rand();
 
    for(size_t i = 0; i < size; ++i)
        std::cout << mas[i] << ' ';
 
    std::cout << std::endl;
 
    return 0;
}
Мы выделяем заданное количество памяти под массив и производим над ним операции.
 
Текущее время: 23:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru