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

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

Восстановить пароль Регистрация
 
Lynatik001
 Аватар для Lynatik001
34 / 28 / 2
Регистрация: 28.09.2012
Сообщений: 560
27.07.2014, 17:54     Какая разница между разными объявлениями объектов? #1
чет 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)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.07.2014, 17:54     Какая разница между разными объявлениями объектов?
Посмотрите здесь:

C++ Какая разница между cin и getline?
C++ какая разница между cin и scanf?
Разница между объявлениями указателей C++
C++ Какая разница между двумя алгоритмами?
Разница между объявлениями указателя C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
27.07.2014, 18:04     Какая разница между разными объявлениями объектов? #2
Цитата Сообщение от Lynatik001 Посмотреть сообщение
какая разница между указателем и ссылкой в передаче методу
Особо никакой, просто в случае с указателем надо делать больше операций.
Lynatik001
 Аватар для Lynatik001
34 / 28 / 2
Регистрация: 28.09.2012
Сообщений: 560
27.07.2014, 18:14  [ТС]     Какая разница между разными объявлениями объектов? #3
Цитата Сообщение от GuGo1991 Посмотреть сообщение
Особо никакой, просто в случае с указателем надо делать больше операций.
A Какая разница между обвявлением обьекта.
C++
1
2
3
4
Map map;
и
Map *asd;
asd = new Map;
CyberSolver
 Аватар для CyberSolver
101 / 74 / 17
Регистрация: 23.07.2014
Сообщений: 686
Записей в блоге: 1
27.07.2014, 18:31     Какая разница между разными объявлениями объектов? #4
В первом случае объект создается на стеке, во втором - в куче.
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
27.07.2014, 18:39     Какая разница между разными объявлениями объектов? #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Lynatik001, к слову вы пишете программу, но не знаете сколько объектов будет создано.
Тогда можно использовать new для создания объектов во время выполнения программы.
В случае одного объекта разницы никакой (разве что new вернёт указатель на участок памяти),
только вот после использования new память надо освободить.
Lynatik001
 Аватар для Lynatik001
34 / 28 / 2
Регистрация: 28.09.2012
Сообщений: 560
27.07.2014, 19:22  [ТС]     Какая разница между разными объявлениями объектов? #6
Цитата Сообщение от CyberSolver Посмотреть сообщение
В первом случае объект создается на стеке, во втором - в куче.
ну это все на словах)) мне разница в использовани была интересна)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.07.2014, 19:25     Какая разница между разными объявлениями объектов?
Еще ссылки по теме:

C++ Какая разница между аргументами и параметрами?
C++ Какая разница между компиляцией и компоновкой?
C++ Visual Studio, в чем разница между разными типами проектов?

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

Или воспользуйтесь поиском по форуму:
CyberSolver
 Аватар для CyberSolver
101 / 74 / 17
Регистрация: 23.07.2014
Сообщений: 686
Записей в блоге: 1
27.07.2014, 19:25     Какая разница между разными объявлениями объектов? #7
Lynatik001, да нет, в мире Си++ это как раз очень большая разница. Особенно если кто-то перегрузил operator new для класса. Если вам просто нужно создать объект - создайте его первым способом. Во втором случае обязательно по закону Мерфи утечёт память (да, я понимаю, в шарпе такого нету). Ну а если у вас есть только базовый класс, то наследников вы создадите только по указателю на базовый. Но, повторюсь, разницы в случае конкретного класса никакой, кроме * во втором случае.
Yandex
Объявления
27.07.2014, 19:25     Какая разница между разными объявлениями объектов?
Ответ Создать тему
Опции темы

Текущее время: 21:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru