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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Rud-Man
0 / 0 / 0
Регистрация: 08.04.2011
Сообщений: 6
#1

Чего стоит использование абстракции типов данных? - C++

08.04.2011, 17:56. Просмотров 558. Ответов 4
Метки нет (Все метки)

Здравствуйте!
Я ещё зелёный в этом деле, только учусь (на первом курсе), и после изучения структур и классов я их использую везде!
Они мне очень понравились, с ними удобно, и даже Макконнел рекомендует АТД, но вот при решении простой задачки возник вопрос:
Требуется работать с точками, координатами...
я сразу же создал
C++
1
2
3
4
struct dot{
int x;
int y;
};
и далее нужо делать определённые действия с координатами.
А мой однокурсник просто объявил две переменные x и y и работал с ними...

Так вот в чём суть вопроса: Уходят ли на класс или структуру какие-то ресурсы, которых можно и не занимать, если задачу можно решить и без них(сруктур)??
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.04.2011, 17:56     Чего стоит использование абстракции типов данных?
Посмотрите здесь:

С чего стоит начать? - C++
В этом деле новичек, самый что ни на есть... Хотелось бы знать с чего стоит начинать, много времени провожу с компьютером, но хочется...

Изучение C++: с чего стоит начать? - C++
Здравствуйте. Недавно начал изучать PHP, с ним возникли проблемы, а именно с ООП. Мне посоветовали сначала выучить C++, а потом вернуться к...

Как осуществляется преобразование типов (для чего)? - C++
Как осуществляется преобразование типов (для чего)? int *p=(int*)str; // ругается на p Спасибо :) P.s Си

С чего стоит начать обучение языка С++? - C++
Здравствуйте. С чего стоит начать обучение языка С++. Много об этом читал , есть мнения что для начала нужно разобраться в структуре PE...

Для чего в приведенном коде используется преобразование типов - C++
if (choose==7){ printf ("Проверим составное или простое число при k=18\n"); k=18; a=4*(k+3)+1; printf("4(k+3)+1= %d\n",a); ...

Использование шаблона типов - C++
Прочитал про шаблоны типов, интересный и полезный инструмент, но есть несколько вопросов о кухне данного инструмента. Есть класс...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
neske
1479 / 846 / 75
Регистрация: 26.03.2010
Сообщений: 2,902
08.04.2011, 18:02     Чего стоит использование абстракции типов данных? #2
Убедитесь, что доп. ресурсов на структуру не уходит:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
struct dot {
    int x;
    int y;
};
 
int main (void)
{
    std::cout << "Sizeof structure: " << sizeof (dot) << std::endl;
    std::cout << "Sizeof 2 int: " << sizeof (int) * 2 << std::endl;
 
    return 0;
}
По мне так, со структурами красивее и нагляднее. Но все-таки нужно различать, когда она нужна, а когда нет.
sav241
5 / 5 / 0
Регистрация: 04.04.2011
Сообщений: 37
08.04.2011, 18:07     Чего стоит использование абстракции типов данных? #3
не пойму какие ты ресурсы имеешь в виду , но решая данную задачу сразу бы создал класс point, а для операций с точками начал бы переопределять оператора +, -
создал бы сам операцию скалярного умножения *.
Rud-Man
0 / 0 / 0
Регистрация: 08.04.2011
Сообщений: 6
08.04.2011, 18:18  [ТС]     Чего стоит использование абстракции типов данных? #4
Цитата Сообщение от sav241 Посмотреть сообщение
какие ты ресурсы имеешь в виду
ну всмысле компилятор может как только увидет слово struct, выделит для неё что-нить...
(вопрос снят)) всем спасибо))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.04.2011, 18:37     Чего стоит использование абстракции типов данных?
Еще ссылки по теме:

Использование разных типов указателей - C++
Здравствуйте! Программа должна засерать переменную n, а вместо этого она забивает мусором переменную upper. Можете подсказать в чём дело? ...

Для чего нужен C++ стоит ли с него начинать изучения языков програмирования - C++
Для чего нужен C++ стоит ли с него начинать изучения языков програмирования и какой самоучитель посоветуете ?

Использование нужного указателя без динамического привидения типов - C++
Добрый день. В общем объяснять я никогда не умел, но попробую. Мне надо как-то передать в функцию указатель на базовый класс так, чтобы...

Как быть, если в шаблоне классе предполагается использование ОДИНАКОВЫХ типов? - C++
Вот код, понятно, демонстрационныый, упрощён донельзя для понятности. #include &lt;windows.h&gt; #include &lt;iostream&gt; using namespace...


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

Или воспользуйтесь поиском по форуму:
silent_1991
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
08.04.2011, 18:37     Чего стоит использование абстракции типов данных? #5
Rud-Man, следует различать описание структуры и создание её экземпляра. Когда вы описываете структуру, вы просто сообщаете компилятору, сколько памяти нужно будет выделить и какие смещения от начала использовать при доступе к полям. Никакая память при объявлении структуры не выделяется. Память выделяется только при создании экземпляра структуры, и, если не учитывать выравнивание, то её потребуется столько же, сколько и на простое объявление некоторого количества переменных встроенных типов, а если его и учитывать, всё равно разница несущественна.
Yandex
Объявления
08.04.2011, 18:37     Чего стоит использование абстракции типов данных?
Ответ Создать тему
Опции темы

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