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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.69
breate
56 / 56 / 2
Регистрация: 23.10.2009
Сообщений: 250
#1

Class vs Struct - C++

27.02.2010, 01:29. Просмотров 1621. Ответов 10
Метки нет (Все метки)

класс или структура
что создаётся быстрее?
перегружаются ли конструкторы структуры? если существуют (не уверен)
сколько занимают в памяти

что и в какой ситуации на ваш взгляд лучше использовать
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2010, 01:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Class vs Struct (C++):

Struct VS Class - C++
Здравствуйте. Я прочел интересную статью http://www.rsdn.ru/article/cpp/ObjectsAndPointers.xml#EVPAC по использованию памяти для...

Перевод с Struct в Class - C++
Помогите пожалуйста в данной программе из структур сделать классы Вот код: #include <iostream> #include <vector> #include...

Перевод с Struct в Class - C++
Помогите пожалуйста в данной программе из структур сделать классы Вот код: #include <iostream> using namespace std; struct...

Сравнительная характеристика struct и class - C++
Всем доброго дня! Решил сравнить работу структур с классами. В функцию func(Trainee Vania) передаю обьект структуры Trainee как...

Чем struct отличается от class? - C++
Чем отличаются эти ключевые слова кроме public/private по умолчанию?

std::bind1st: is not a class, struct, or union type - C++
Добрый день, пытаюсь найти элемент в списки указателей на объекты классачерез предикат. Вот упрощенный пример: #include <algorithm> ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,368
27.02.2010, 10:47 #2
1. Ни тот, ни другой.
2. Да, могут. Существуют.
3. Занимает ровно sizeof(чего-то) байтов. layout объекта в памяти Стандарт языка не специфицирует - его возможно предсказать только для POD-типов (а здесь Стандарт дает гарантии).

В языке C++ класс и структура почти идентичны. Отличаются только атрибутами доступа к членам по умолчанию: для класса это private, для структуры public. Все. Других отличий нет.
breate
56 / 56 / 2
Регистрация: 23.10.2009
Сообщений: 250
27.02.2010, 15:46  [ТС] #3
Цитата Сообщение от breate Посмотреть сообщение
что создаётся быстрее?
я понял так:
что время на создание объекта и на доступ к полям занимает одинаково времени что в классе что в структуре.

З.Ы. мне на с++ нужно написать прогу для работы со структурами данных, время выполнения которой не должно быть более 15 мс, я бы использовал класс но мне кажется что он громоздкий для данного случая
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,368
27.02.2010, 15:52 #4
Не забивай себе голову ерундой. Лучше подумай, в какой ОС будешь писать? Потому что Windows НЕ является ОС реального времени, и в "не должно быть более 15 мс" ты почти наверняка не уложишься.
breate
56 / 56 / 2
Регистрация: 23.10.2009
Сообщений: 250
27.02.2010, 16:04  [ТС] #5
я не пишу программу а пишу код, который в последствии будет обрабатывается на машине ОС которой я точно не знаю, система тестировщик : iRunner , используется для тестирования "олимпиадный кодов" - время исполнения кода критически важно

вопрос я задал потому что ничего человеческого на эту тему не нагуглил

Добавлено через 5 минут
Insight Runner - это учебно-методический комплекс, предназначенный для обслуживания олимпиад по программированию, проведения практических занятий по основам алгоритмизации и смежным наукам.

Insight Runner - простой инструмент с эффективной функциональностью контроля, тренинга и самостоятельной работы. Система позволят переложить на компьютер сугубо механическую работу преподавателя при проверке решений. Комплекс легко осваивается и интегрируется в учебный процесс. С его помощью можно эффективно решать следующие задачи:

создание и поддержка большого архива заданий
проведение online и offline олимпиад
организацию практических занятий и сборов по информатике
самостоятельная подготовка к занятиям
Yurii_74
paladin
279 / 179 / 3
Регистрация: 25.02.2009
Сообщений: 592
27.02.2010, 16:07 #6
15 мс на этом комплексе расчитываются через кол-во тактов? Просто 15 мс - время, недостаточное иногда даже для открытия файла.
breate
56 / 56 / 2
Регистрация: 23.10.2009
Сообщений: 250
27.02.2010, 16:16  [ТС] #7
без понятия как он время считает

Добавлено через 5 минут
на этой странице пример задания и код мною писаный, этот код в зависимости от тестов выдает результат 10-15 мс
Yurii_74
paladin
279 / 179 / 3
Регистрация: 25.02.2009
Сообщений: 592
27.02.2010, 16:31 #8
Красиво. Но похоже на то, что в системе файлы пишутся/считаются просто в память (или же там SSD). Также либо деревья не слишком большие, либо спецификация комплекса очень хороша.
breate
56 / 56 / 2
Регистрация: 23.10.2009
Сообщений: 250
27.02.2010, 16:42  [ТС] #9
и это без понятия, вот сами результаты теста
[img]http://s50.***********/i127/1002/4d/0cbcf63de7f1.png[/img]
Sekt
156 / 155 / 10
Регистрация: 29.04.2009
Сообщений: 637
27.02.2010, 16:45 #10
класс или структура
класс ето typedef struct; Отличие тока в доступе по умолчанию.
В какой ситуации исп.Вот по этим отличиям и отталкивайтесь
breate
56 / 56 / 2
Регистрация: 23.10.2009
Сообщений: 250
27.02.2010, 16:53  [ТС] #11
Цитата Сообщение от Sekt Посмотреть сообщение
класс ето typedef struct;
можно это где нибудь прочитать в литературе?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.02.2010, 16:53
Привет! Вот еще темы с ответами:

Ошибка type qualifier 'std' must be a struct or class name - C++
а у меня на эту строку typedef std::string T_str; выдается ошибка type qualifier 'std' must be a struct or class name что делать? ...

Односвязный список: В чём разница между struct и class? - C++
После неудач работы с Vector, а так же отсутствия (Хотя, скорее всего, я просто плохо искал) хорошей русской документации по нему, решил...

Не могу исправить error C2228: left of '.isWorked' must have class/struct/union - C++
Добрый день. Есть два взаимодружественных класса.Методом одного, меняю поля другого. Вот код: class Alarm; //класс сигнализации ...

error C2228: left of '.add' must have class/struct/union type. в чем ошибка? - C++
Помогите понять в чем ошибка. Пасиб. #include <iostream.h> class book { private: char name_book; char name_avtor; ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
27.02.2010, 16:53
Ответ Создать тему
Опции темы

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