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

Память под объекты через new - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ basic_istream::getline http://www.cyberforum.ru/cpp-beginners/thread627403.html
Всем здравствуйте. Изучаю С++ по книге Р. Лафоре в главе 7 массивы и строки есть задание которое предполагает получение строки, содержащей пробелы в переменную типа string и тут при выполнении задания я столкнулся с непонятным поведением функции basic_istream::getline вот пример кода который показывает проблему: #include <iostream> #include <string> using namespace std; const int...
C++ Не могу найти ошибку (std::thread) В цикле добавляю в свой класс несколько задач, всегда получается разный результат, иногда вылетает исключение о недействительности итератора дека. #ifndef _NFTASK_MANAGER_HPP #define _NFTASK_MANAGER_HPP #include <thread> #include <deque> #include <vector> #include <new> http://www.cyberforum.ru/cpp-beginners/thread627401.html
Подбор литературы. Для повышенного уровня C++
Привет. Освоил книгу страуструпа для новичков. Подскажите куда двигаться дальше? Разработка приложений информационной безопасности. Взаимодействие с операционной системой проще говоря. Простите что выглядит пост по детски, мой опыт в программировании 14 дней. Время до октября.
В одномерном массиве, состоящем из n вещественных элементов, вычислить сумму отрицательных элементов массива C++
Прошу помочь с моей задачей.Я только-только начал изучать С++ и у меня возникли трудности задача В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1)сумму отрицательных элементов массива 2)произведение элементов массива, расположенных между максимальным и минимальным элементами. Упорядочить элементы массива по возрастанию. Пишу на dev-c++ Код
C++ graphics.h - сохранение изображения http://www.cyberforum.ru/cpp-beginners/thread627384.html
Мне нужно, что бы можно было как-нибудь сохранить изображение определённой области экрана (например от х 100 у 100 до х 200 до у 200) И потом это изображение снова вставить в эту же программу
C++ Ширина (высота) окна winapi Подскажите как узнать ширину (высоту) окна? подробнее

Показать сообщение отдельно
edward_jonson
158 / 158 / 25
Регистрация: 23.02.2011
Сообщений: 390

Память под объекты через new - C++

23.07.2012, 02:57. Просмотров 856. Ответов 18
Метки (Все метки)

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
26
27
28
#include <iostream>
 
class A
{
public:
    int my;
};
 
 
int main()
{
    A* a = new A();
    A* b = new A();
    A* c;
    A* d;
 
    A f;
 
    std::cout << a << std::endl
              << b << std::endl
              << c << std::endl
              << d << std::endl;
 
    std::cout << std::endl;
 
    delete a;
    delete b;
}
Куски памяти под a и b распределяются друг за другом, а под c и d совсем в разных местах. Из-за чего так? Из-за того, что a и b указывают на существующий в памяти объект, а c и d - нет? И желательно ли писать:
C++
1
2
    A* c = NULL;
    A* d = NULL;
Да и вообще, принципиальной разницы между
C++
1
2
    a->my = 4;
    f.my = 5;
нету, да?(Я понимаю, что в первом случае обращение идёт через указатель, а во втором напрямую.) И какой из этих вариантов наиболее часто используется в практике? Или здесь так же, как и в случае
C++
1
2
    int* s = new int(6);
    std::cout << *s;
в практике почти не встречается и указатель требуется только для создания массивов объектов?

ЗЫ: Есть ли отличие:
C++
1
2
3
A* a = new A;
//и
A* a = new A();
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru