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

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

Восстановить пароль Регистрация
 
 
Dinmikminson
0 / 0 / 0
Регистрация: 24.12.2013
Сообщений: 6
26.06.2014, 11:58     Отличия пространства имен от структуры #1
Есть ли разница между пространством имен и структурой? По-моему почти одно и то же
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.06.2014, 11:58     Отличия пространства имен от структуры
Посмотрите здесь:

пространства имен и перегрузка фукнций C++
Пространства имен в Эклипс C++
C++ Использование пространства имен
C++ использование пространства имен
C++ Столкнулся с ошибкой пространства имен
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Avazart
 Аватар для Avazart
6904 / 5144 / 253
Регистрация: 10.12.2010
Сообщений: 22,621
Записей в блоге: 17
28.06.2014, 16:35     Отличия пространства имен от структуры #21
Цитата Сообщение от Vourhey Посмотреть сообщение
Указатель на метод - это смещение относительно начала данных класса. Опять же к "адресу класса" никак не относится.
Т.е начало данных это не адрес ?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vourhey
Почетный модератор
6469 / 2244 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
28.06.2014, 16:35     Отличия пространства имен от структуры #22
Цитата Сообщение от Avazart Посмотреть сообщение
// some() знает о value через this !!!
this передался в some через первый параметр.
Я создам десять объектов MyClass и в каком из вызовов some, this будет указывать на класс. А не на его инстанцирование?
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
28.06.2014, 16:36     Отличия пространства имен от структуры #23
Цитата Сообщение от Avazart Посмотреть сообщение
return this->value; // some() знает о value через this !!!
Перевожу на ассемблер. Ассемблеров сейчас много - мне нравится тот, который еще называют Си.
C
1
2
3
int MyClass_some(struct MyClass* const this) {
    return this->value;
}
Vourhey
Почетный модератор
6469 / 2244 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
28.06.2014, 16:36     Отличия пространства имен от структуры #24
Цитата Сообщение от Avazart Посмотреть сообщение
Т.е начало данных это не адрес ?
Это не адрес класса, а адрес объекта. Конкретного объекта. Создай еще один - будет другой адрес. Потому что другой объект в другой области памяти. А класс тот же.
Avazart
 Аватар для Avazart
6904 / 5144 / 253
Регистрация: 10.12.2010
Сообщений: 22,621
Записей в блоге: 17
28.06.2014, 16:36     Отличия пространства имен от структуры #25
Цитата Сообщение от Croessmah Посмотреть сообщение
ну так this- это указатель на объект, а не на класс
Да все верно...
Я не говорил обратного.

Цитата Сообщение от 0x10 Посмотреть сообщение
Перевожу на ассемблер. Ассемблеров сейчас много - мне нравится тот, который еще называют Си.
Я что-то другое сказал ? Я же сказал неявно.
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
28.06.2014, 16:37     Отличия пространства имен от структуры #26
Цитата Сообщение от Vourhey Посмотреть сообщение
Указатель на метод - это смещение относительно начала данных класса
А почему вообще смещение относительно данных? Просто функция. Последовательность инструкций, у которых есть адрес первой инструкции в памяти.
Voivoid
 Аватар для Voivoid
580 / 256 / 12
Регистрация: 31.03.2013
Сообщений: 1,284
28.06.2014, 16:37     Отличия пространства имен от структуры #27
Это все особенности внутренней реализации. В рамках языка нет никаких адресов класса. Vourhey тут прав
Vourhey
Почетный модератор
6469 / 2244 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
28.06.2014, 16:41     Отличия пространства имен от структуры #28
Цитата Сообщение от 0x10 Посмотреть сообщение
А почему вообще смещение относительно данных?
Потому что я неправильно прочитал предложение. Указатель на данные - смещение. Указатель на функцию - функция.
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
28.06.2014, 16:41     Отличия пространства имен от структуры #29
Цитата Сообщение от Avazart Посмотреть сообщение
Я не говорил обратного.
Ну так а началось-то все с заявления, что у классов есть адреса.
Потому все и завозмущались. Как мы увидели, на уровне асма и классов уже нет.
Vourhey
28.06.2014, 16:47
  #30

Не по теме:

Цитата Сообщение от 0x10 Посмотреть сообщение
А почему вообще смещение относительно данных? Просто функция.
И да, спасибо, что заметил.

Avazart
 Аватар для Avazart
6904 / 5144 / 253
Регистрация: 10.12.2010
Сообщений: 22,621
Записей в блоге: 17
28.06.2014, 16:49     Отличия пространства имен от структуры #31
Согласен, не прав.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.07.2014, 02:20     Отличия пространства имен от структуры
Еще ссылки по теме:

область видимости, пространства имен C++
Создание пространства имен C++
C++ Не возникает ли коллизия имен, если использовать два пространства имен, и в каждом из них будут одноименные?

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

Или воспользуйтесь поиском по форуму:
Vourhey
01.07.2014, 02:20     Отличия пространства имен от структуры
  #32

Не по теме:

Цитата Сообщение от Vourhey Посмотреть сообщение
Указатель на функцию - функция.
Цитата Сообщение от 0x10 Посмотреть сообщение
Просто функция. Последовательность инструкций, у которых есть адрес первой инструкции в памяти.
Хотя не совсем все-таки.

Yandex
Объявления
01.07.2014, 02:20     Отличия пространства имен от структуры
Ответ Создать тему
Опции темы

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