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

Что значит * при объявлении переменной? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Взаимное расположение треугольников http://www.cyberforum.ru/cpp-beginners/thread1550222.html
Не могу понять как можно вычислить если угол одного треугольника касается стороны другого треугольника, или угол вообще внутри треугольника и если один треугольник в другом. И ещё можете дать какой нибудь документации по "Point"?
C++ Сравнить два предложения и вывести на экран одинаковые буквы этих предложений Вводятся 2 предложения. Их надо сравнить и вывести на экран одинаковые буквы этих предложений. Надо задать 2 массива и через циклы найти одинаковые буквы. ПОМОГИТЕ ПОЖАЛУЙСТА!! Препод ничего толком не объясняет, а С++ изучать только начал. http://www.cyberforum.ru/cpp-beginners/thread1550213.html
C++ Списки добавление перед
Задача. Создать линейный однонаправленный список из вещественных чисел. Вычислить среднее значение элементов списка и вставить число 11 перед каждым числом, большим среднего значения. Моя задача подсчитывает среднее, но проблемы с циклом внизу, который вставляет 11. не знаю, что с ним делать #include<iostream> using namespace std; struct Single_List { int Data; Single_List *Next;
C++ Добавить в класс String реализацию конструктора копирования
Необходимо добавить в класс String реализацию конструктора копирования. Инвариант класса должен остаться тем же (в size хранится размер строки без завершающего 0 символа, str указывает на C-style строку, т. е. с завершающим нулевым символом). #include <cstddef> // size_t #include <cstring> // strlen, strcpy struct String { String(const char *str = ""); String(size_t n, char c);...
C++ Считать из .asc тайлы карты местности в формате ASCII http://www.cyberforum.ru/cpp-beginners/thread1550191.html
Имеются тайлы карты местности в формате ASCII. Нужно организовать подобный приведенному код на С++. Дайте , пожалуйста, дельный совет как это сделать или где об этом почитать. Как считывать и работать с файлами .asc = geotiffread('srtm_47_01.tif'); = geotiffread('srtm_47_02.tif'); GRID_SIZE=size(Z_UP,1); map=; mapref=R_UP; if GRID_SIZE==6000 mapref.RasterSize=; ...
C++ Привести указатель на класс к указателю на void Хай #pragma once #include "list.h"; #include "Print.h"; class Robot { public: подробнее

Показать сообщение отдельно
zer0mail
2187 / 1870 / 187
Регистрация: 03.07.2012
Сообщений: 6,656
Записей в блоге: 1
12.10.2015, 15:02     Что значит * при объявлении переменной?
1. При пердаче массива передается адрес первого элемента, а не сам массив
2. Пишем функцию, которая к первому аргументу прибавляет второй
// так работать не будет, поскольку в вызывающей процедуре i1 не изменится (в параметр функции передается копия i1)
C++
1
2
3
4
   void add (int i1, int i2) 
   {
       i1 += i2;
   }
А так будет, т.к. i2 прибавится к значению переменной, адрес которой в i1:
C++
1
2
3
4
   void add (int *i1, int i2) 
   {
      *i1 += i2;
   }
3. Часто в процедуру передается не сам объект, а его адрес (начала объекта).

Добавлено через 1 час 9 минут
Alex_From_777, "Звездочка" в объявлении стоит не просто так - она обозначает переменную-указатель. А понимание и умение работать с указателями входит в самый-самый базовый минимум Си/Си++ -программиста (как, скажем, понятие производной для математика). Не надо жалеть времени для того, чтобы понять "зачем они нужны, как они устроены, как ими пользоваться". Вот ссылка на главу из учебника: Указатели и массивы.
Часто в объектах поля - не сами объекты, а указатели на какие-то другие объекты, содержащиеся в нашем сложном объекте (или связанные с ним).
Пример: такая вещь, как элемент списка и хранит указатели и использует их как параметры в функциях манипуляции со списком (вставка, удаление элементов). И без них, без указателей - никак.
 
Текущее время: 18:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru