Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Lynatik001
38 / 32 / 13
Регистрация: 28.09.2012
Сообщений: 626
#1

Какая разница между разными объявлениями объектов?

27.07.2014, 17:54. Просмотров 857. Ответов 6
Метки нет (Все метки)

чет 4 месяца не писал на С++ а писал на сшарпе немного. Но вот вернувшись к С++ чет вылетело с головы.
Какая разница между обвявлением обьекта.
Map map;
и
Map *asd;
asd = new Map;
Ясно понятно, что указателю выделяю память и тдп. Но какая разница в использовании так и так.

А еще какая разница между указателем и ссылкой в передаче методу.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void change(int &i)
{
    i+=4;
}
 
 
void changee(int *i)
{
    *i+=3;
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    int i = 2;
    int *o;
    o = &i;
    changee(o);
    std::cout<<*o;
    return 0;
}
типа этого, вроде некакой разницы не чуствую
1
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.07.2014, 17:54
Ответы с готовыми решениями:

Разница между разными созданиями объектов. Memory managment c++
Пришёл я из мира java. Есть у меня метод, рекурсия. В нём каждый раз создаётся struct...

Разница между объявлениями указателей
Есть такое: int *p; и такое: int *p = new int; Поясните, пожалуйста, в чём разница между...

Разница между объявлениями указателя
Часто вижу, при создании объекта класса, создают указатель на объект #include &lt;iostream&gt;...

Visual Studio, в чем разница между разными типами проектов?
ATL CLR MFC Win32 Что это все такое, разница, дайте ссылку на обзор, разбор, объяснение -...

Какая Разница между сортировками?
Какая разница между сортировками, если в итоге все виды сортируют одинаково. Т е. Результат...

6
GuGo1991
269 / 263 / 146
Регистрация: 02.08.2012
Сообщений: 609
27.07.2014, 18:04 #2
Цитата Сообщение от Lynatik001 Посмотреть сообщение
какая разница между указателем и ссылкой в передаче методу
Особо никакой, просто в случае с указателем надо делать больше операций.
0
Lynatik001
38 / 32 / 13
Регистрация: 28.09.2012
Сообщений: 626
27.07.2014, 18:14  [ТС] #3
Цитата Сообщение от GuGo1991 Посмотреть сообщение
Особо никакой, просто в случае с указателем надо делать больше операций.
A Какая разница между обвявлением обьекта.
C++
1
2
3
4
Map map;
и
Map *asd;
asd = new Map;
0
CyberSolver
101 / 74 / 17
Регистрация: 23.07.2014
Сообщений: 864
Записей в блоге: 1
27.07.2014, 18:31 #4
В первом случае объект создается на стеке, во втором - в куче.
1
GuGo1991
269 / 263 / 146
Регистрация: 02.08.2012
Сообщений: 609
27.07.2014, 18:39 #5
Лучший ответ Сообщение было отмечено Lynatik001 как решение

Решение

Lynatik001, к слову вы пишете программу, но не знаете сколько объектов будет создано.
Тогда можно использовать new для создания объектов во время выполнения программы.
В случае одного объекта разницы никакой (разве что new вернёт указатель на участок памяти),
только вот после использования new память надо освободить.
1
Lynatik001
38 / 32 / 13
Регистрация: 28.09.2012
Сообщений: 626
27.07.2014, 19:22  [ТС] #6
Цитата Сообщение от CyberSolver Посмотреть сообщение
В первом случае объект создается на стеке, во втором - в куче.
ну это все на словах)) мне разница в использовани была интересна)
0
CyberSolver
101 / 74 / 17
Регистрация: 23.07.2014
Сообщений: 864
Записей в блоге: 1
27.07.2014, 19:25 #7
Lynatik001, да нет, в мире Си++ это как раз очень большая разница. Особенно если кто-то перегрузил operator new для класса. Если вам просто нужно создать объект - создайте его первым способом. Во втором случае обязательно по закону Мерфи утечёт память (да, я понимаю, в шарпе такого нету). Ну а если у вас есть только базовый класс, то наследников вы создадите только по указателю на базовый. Но, повторюсь, разницы в случае конкретного класса никакой, кроме * во втором случае.
0
27.07.2014, 19:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.07.2014, 19:25

Какая разница между cin и getline?
1) Какая разница между cin и getline? 2) Почему будет работать &quot;string s=a+&quot; &quot;+b&quot; (где а и b...

Какая разница между двумя алгоритмами?
Вообщем, как только я свою задачу не упрощал, но в указанные ограничения она так и не входит....

Какая разница между аргументами и параметрами?
#include &lt;iostream&gt; using namespace std; //объявление функции int mystrlen(char *str); //В...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru