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

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

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

Отличия пространства имен от структуры - C++

26.06.2014, 11:58. Просмотров 1113. Ответов 31
Метки нет (Все метки)

Есть ли разница между пространством имен и структурой? По-моему почти одно и то же
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.06.2014, 11:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Отличия пространства имен от структуры (C++):

Не возникает ли коллизия имен, если использовать два пространства имен, и в каждом из них будут одноименные? - C++
Вот например namespace nms1 { int gh; } namespace nms2 { int gh;

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

Пространства имен в Эклипс - C++
Добрый день. Переношу свой проект из IAR на Eclipse+Yagarto(gcc 4.6.2) Подскажите, из-за чего в hpp модулях проекта может не...

Создание пространства имен - C++
Всем доброго времени суток !!! Не могу понять назначение создания пространств имен. В книге автор привел следующий код программы....

Использование пространства имен - C++
Написать программу, использующую описанные типы данных: инициализация переменных (ввод пользователя), выполнение действий (в зависимости от...

Область видимости, пространства имен - C++
имею макрос #define max(a,b) (((a) > (b)) ? (a) : (b)) он определен в Windows.h, который мне нужен в проекте... также мне нужна...

31
Vourhey
Почетный модератор
6485 / 2259 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
26.06.2014, 12:00 #2
Создай несколько экземпляров пространства имен.
1
Игорюня
20 / 16 / 7
Регистрация: 07.12.2013
Сообщений: 244
26.06.2014, 12:02 #3
Вот это умозаключение
0
Leesongboss
0 / 0 / 0
Регистрация: 02.02.2014
Сообщений: 12
26.06.2014, 12:15 #4
Если это одно и то же, то покажи как передать указатель на пространство имён в функцию
0
Denno
54 / 57 / 9
Регистрация: 21.10.2012
Сообщений: 214
Завершенные тесты: 3
26.06.2014, 12:25 #5
Я думаю, что ТС хотел написать "Отличия класса от структуры".
0
SatanaXIII
Супер-модератор
Эксперт С++
5616 / 2651 / 246
Регистрация: 01.11.2011
Сообщений: 6,534
Завершенные тесты: 1
26.06.2014, 13:19 #6
Цитата Сообщение от Vourhey Посмотреть сообщение
Создай несколько экземпляров пространства имен.
Цитата Сообщение от Leesongboss Посмотреть сообщение
Если это одно и то же, то покажи как передать указатель на пространство имён в функцию
Надо в раздел для экспертов закинуть. Пусть помучаются.
0
ForEveR
В астрале
Эксперт С++
7979 / 4738 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
26.06.2014, 13:36 #7
Структура может быть похожа на namespace, только в том случае, если структуру нельзя создать, а остальные члены являются статическими, но все равно мы можем объявить указатель на структуру, так что...

C++
1
2
3
4
5
struct namespace_impl
{
   namespace_impl() = delete;
   static void fn() {}
};
0
Dinmikminson
0 / 0 / 0
Регистрация: 24.12.2013
Сообщений: 6
27.06.2014, 18:59  [ТС] #8
точно, об этом не подумал, спасибо. Тоесть получается, что структура с классом - это отдельные объекты со своим адресом, а пространство имен адреса не имеет, так?
0
Vourhey
Почетный модератор
6485 / 2259 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
27.06.2014, 19:04 #9
Цитата Сообщение от Dinmikminson Посмотреть сообщение
Тоесть получается, что структура с классом - это отдельные объекты со своим адресом
Структура с классом тоже не имеют никаких адресов. И это не объект.
0
Avazart
Нарушитель
Эксперт С++
7233 / 5405 / 294
Регистрация: 10.12.2010
Сообщений: 23,956
Записей в блоге: 17
27.06.2014, 19:29 #10
Это не объекты, но адресс у них есть.

Цитата Сообщение от Dinmikminson Посмотреть сообщение
Есть ли разница между пространством имен и структурой? По-моему почти одно и то же
Если ты имеешь ввиду как дизайн своего кода, то можно применять ито то как "набор инструментов".

К примеру у нас есть набор ф-ций и не плохо бы их как-то с группировать вмести, для этого подойдет как пространство так и структура/класс.
0
Vourhey
Почетный модератор
6485 / 2259 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
28.06.2014, 15:21 #11
Цитата Сообщение от Avazart Посмотреть сообщение
Это не объекты, но адресс у них есть.
Нет.
0
Avazart
Нарушитель
Эксперт С++
7233 / 5405 / 294
Регистрация: 10.12.2010
Сообщений: 23,956
Записей в блоге: 17
28.06.2014, 15:51 #12
Цитата Сообщение от Vourhey Посмотреть сообщение
Нет.
Что нет? "Адрес" метода берется относительно адреса класса.
0
0x10
2475 / 1648 / 247
Регистрация: 24.11.2012
Сообщений: 4,070
28.06.2014, 15:55 #13
Цитата Сообщение от Avazart Посмотреть сообщение
Что нет? "Адрес" метода берется относительно адреса класса.
Внезапно... Всегда думал, что адрес метода - это просто адрес метода, безотносительно к чему-либо. Как и адрес любой функции. В общем, хочется пруфоф.
0
Avazart
Нарушитель
Эксперт С++
7233 / 5405 / 294
Регистрация: 10.12.2010
Сообщений: 23,956
Записей в блоге: 17
28.06.2014, 16:00 #14
указатель на метод != указатель на ф-цию
0
0x10
2475 / 1648 / 247
Регистрация: 24.11.2012
Сообщений: 4,070
28.06.2014, 16:05 #15
Цитата Сообщение от Avazart Посмотреть сообщение
указатель на метод != указатель на ф-цию
Почему? Физиечски не вижу разницы - и то, и другое - тупо адрес.
А что до дикого синтаксиса указателя на метод - так это необходимость указать scope метода, и только. Мне вот кажется, что на логику... как бы аккуратнее сказать... вычисления адреса это влиять не должно. Грубо говоря, достаточно сказать компилятору в какой таблице искать адрес указанной функции.
0
28.06.2014, 16:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.06.2014, 16:05
Привет! Вот еще темы с ответами:

Столкнулся с ошибкой пространства имен - C++
Столкнулся с такой ошибкой: error C2871: System: пространство имен с таким именем не существует. Стоит четвертый Framework. В нем проблема?

Пространства имен и перегрузка функций - C++
описание: есть библиотека. Пространство имен namespace1, в нем есть несколько перегруженных функций func(). // header.h #ifndef...

Неименованные пространства имен - разобрать код - C++
Всем доброго дня !!! При изучении темы неименованные пространства имен столкнулся с проблемой. Автор привел такой код. В...

Как избавиться от явного указания пространства имен - C++
Есть класс, который нужно вынести в другой файл. Соответственно что делаю: 1. Описание класса в *.h файл 2. Реализацию методов...


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

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

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