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

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

Войти
Регистрация
Восстановить пароль
 
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
#1

Почему адреса одинаковые? - C++

04.12.2013, 11:48. Просмотров 218. Ответов 3
Метки нет (Все метки)

Обьясните пожалуйста код, почему адреса одинаковые?
C++
#include <iostream>
using namespace std;
 
int main()
{
    char *s = (char *)"text";
 
    cout << &"text" << endl;
    cout << (void*)&s[0] << endl ;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2013, 11:48     Почему адреса одинаковые?
Посмотрите здесь:

Почему указатели имеют одинаковые адреса - C++
Например, если взять указатели на массивы. **m имеет тот же адрес, что и *m, что и m

Почему при присваивании адреса массива не ставится знак '&' получения адреса - C++
int main() { int a = { 2, 3 }; int* b; b = a; //Почему при присваивании адреса массива не ставится знак '&amp;' получения адреса. ...

Почему выводит адреса? - C++
Всем привет! Программа работает, но почему то выводит данные вместе с адресом (см. скриншот). Скажите, почему так? #include&lt;iostream&gt; ...

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

Почему разные адреса одного и того же элемента динамического массива? - C++
Я создаю динамический массив и отправляю его в функцию, если потом сравнивать адреса элементов массива в главной и вызываемой функции они...

Почему адреса у указателей разные, несмотря на то, что они указывают на одну и ту же переменную? - C++
Почему адреса у указателей разные, они же указывают на одну и туже переменную int main() { setlocale(LC_ALL, &quot;Russian&quot;); char y =...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,012
04.12.2013, 11:57     Почему адреса одинаковые? #2
Компилятор в состоянии определить, что достаточно поместить в сегмент константных данных только одну строку и не дублировать ее второй такой же.
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
04.12.2013, 11:59  [ТС]     Почему адреса одинаковые? #3
У меня нет под рукой компилятора, какие выдает результаты при разных оптимизациях?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.12.2013, 12:04     Почему адреса одинаковые?
Еще ссылки по теме:

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

Почему *arr И arr[] одинаковые, но в тоже время разные? - C++
Например есть какая-то ф-я:void temp(int &amp;(*arr)) { // . . . } И 2 разных массива которые будем передавать ф-и:int main(void) ...

Почему возможно задать массив с размером -1 (почему такое вообще компилируется)? - C++
Всем привет. Долгое время не писал на плюсах, решил пройтись по основам, вспомнить. По непонятным для меня причинам этот код...

IDE wxDev-C++, при создании кнопки на форме она почему-то становится во весь экран, почему? - C++
То есть ребята не смешно ни разу. Создаю форму, кидаю кнопку, ничего не предвещает плохого. Собираю проект, запускаю- и вот кнопка размером...


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

Или воспользуйтесь поиском по форуму:
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
04.12.2013, 12:04     Почему адреса одинаковые? #4
Это оптимизация компилятора.
Yandex
Объявления
04.12.2013, 12:04     Почему адреса одинаковые?
Ответ Создать тему
Опции темы

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