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

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

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

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

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

Есть ли разница между пространством имен и структурой? По-моему почти одно и то же
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Avazart
 Аватар для Avazart
7037 / 5214 / 259
Регистрация: 10.12.2010
Сообщений: 22,918
Записей в блоге: 17
28.06.2014, 16:35     Отличия пространства имен от структуры #21
Цитата Сообщение от Vourhey Посмотреть сообщение
Указатель на метод - это смещение относительно начала данных класса. Опять же к "адресу класса" никак не относится.
Т.е начало данных это не адрес ?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vourhey
Почетный модератор
6471 / 2246 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
28.06.2014, 16:35     Отличия пространства имен от структуры #22
Цитата Сообщение от Avazart Посмотреть сообщение
// some() знает о value через this !!!
this передался в some через первый параметр.
Я создам десять объектов MyClass и в каком из вызовов some, this будет указывать на класс. А не на его инстанцирование?
0x10
2450 / 1622 / 238
Регистрация: 24.11.2012
Сообщений: 3,991
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
Почетный модератор
6471 / 2246 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
28.06.2014, 16:36     Отличия пространства имен от структуры #24
Цитата Сообщение от Avazart Посмотреть сообщение
Т.е начало данных это не адрес ?
Это не адрес класса, а адрес объекта. Конкретного объекта. Создай еще один - будет другой адрес. Потому что другой объект в другой области памяти. А класс тот же.
Avazart
 Аватар для Avazart
7037 / 5214 / 259
Регистрация: 10.12.2010
Сообщений: 22,918
Записей в блоге: 17
28.06.2014, 16:36     Отличия пространства имен от структуры #25
Цитата Сообщение от Croessmah Посмотреть сообщение
ну так this- это указатель на объект, а не на класс
Да все верно...
Я не говорил обратного.

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

Не по теме:

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

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

Создание пространства имен C++
Неименованные пространства имен - разобрать код C++
C++ Не возникает ли коллизия имен, если использовать два пространства имен, и в каждом из них будут одноименные?
C++ LNK2019 при объявлении переменной типа из пространства имен в структуре
C++ Как получить доступ к именам пространства имен из другого файла

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

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

Не по теме:

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

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

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