Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
_Valera_
490 / 372 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
1

Что делает данная конструкция?

29.05.2015, 09:56. Просмотров 887. Ответов 10
Метки нет (Все метки)

C++
1
2
int x = 5; 
 0[&x] = x + x;
Что она делает, как называется и зачем используется?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2015, 09:56
Ответы с готовыми решениями:

Что делает конструкция (Mat_<float>(1,2) << i,j)
Привет, всем:-) Имеется конструкция: for (int i = 0; i &lt; image.rows; ++i) { for (int j =...

Что делает данная программа?
Здравствуйте! Откопал код программы, необходимо узнать, что она конкретно делает. Есть догадки, но...

Что делает данная функция
Вопрос. Что в данном коде делают функции с 97ой строки, интересует так же что значит FILE *fp и...

Что делает данная программа?
#include &lt;stdarg.h&gt; #include &lt;iostream.h&gt; #include &lt;conio.h&gt; void sum (char *fmt,...) {...

что делает данная функция
bool isProoved(Node&amp; node) { for (string left : node.left) for (string right : node.right)...

10
Tulosba
:)
Эксперт С++
4749 / 3243 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
29.05.2015, 10:01 2
Цитата Сообщение от _Valera_ Посмотреть сообщение
Что она делает
удваивает x
Цитата Сообщение от _Valera_ Посмотреть сообщение
как называется
удваивание x через задницу
Цитата Сообщение от _Valera_ Посмотреть сообщение
зачем используется
имхо, чтобы выпендриться
5
_Valera_
490 / 372 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
29.05.2015, 10:02  [ТС] 3
Цитата Сообщение от Tulosba Посмотреть сообщение
Сообщение от _Valera_
Что она делает
удваивает x
Сообщение от _Valera_
как называется
удваивание x через задницу
Сообщение от _Valera_
зачем используется
имхо, чтобы выпендриться


=) Спасибо)
0
CheshireCat
Эксперт С++
2912 / 1261 / 114
Регистрация: 27.05.2008
Сообщений: 3,464
29.05.2015, 10:02 4
1. Удваивает значение x.
2. Используется чисто "по приколу".
1
ValeryS
Модератор
7315 / 5558 / 704
Регистрация: 14.02.2011
Сообщений: 18,845
29.05.2015, 10:27 5
Лучший ответ Сообщение было отмечено _Valera_ как решение

Решение

попытаюсь поподробнее
Цитата Сообщение от _Valera_ Посмотреть сообщение
0[&x] = x + x;
как известно a[i]тоже самое что i[a]
a[i] -> *(a+i) -> *(i+a)->i[a]
тогда
0[&x] ->*(0+&x)->*(&x+0)->*(&x)->x

Добавлено через 14 минут
0[&x] по моему вредная конструкция
поскольку на
C++
1
5[&x]=x+x;
компилятор даже не мявкнет, но попортили память
еще один способ "выстрелить себе в ногу
1
Tulosba
:)
Эксперт С++
4749 / 3243 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
29.05.2015, 10:32 6
Цитата Сообщение от ValeryS Посмотреть сообщение
компилятор даже не мявкнет
Компилятор не "мявкнет" и на обычную индексацию с выходом за пределы массива.
Ну, а когда видишь в коде "хакерские" фишечки на ровном месте - жди беды.
1
CheshireCat
29.05.2015, 10:37
  #7

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
Ну, а когда видишь в коде "хакерские" фишечки на ровном месте - жди беды.
Ага. Поэтому за такой код в реальном промышленном проекте на первый раз можно просто бить палкой по руками и по дурной голове (каковая рукам покоя не дает), а на второй раз - лучше всего отправить этого "крррутого программиста" в отдел кадров за трудовой. Пусть показывает свою крутизну в другом месте.

0
Tulosba
29.05.2015, 10:45
  #8

Не по теме:

CheshireCat, безусловно. Обычно таким страдают зеленые новички, которые где-то увидели, не вникли в суть, но продолжают писать потому что это "круто" и "необычно" ("смотрите, как я умею"). И если рекомендации так не делать не возымеют результата, то конечно надо гнать их с*аными тряпками :)
P.S. Но, как мне кажется, все через это проходят (я имею в виду первую итерацию).

0
ValeryS
Модератор
7315 / 5558 / 704
Регистрация: 14.02.2011
Сообщений: 18,845
29.05.2015, 10:45 9
Цитата Сообщение от Tulosba Посмотреть сообщение
Компилятор не "мявкнет" и на обычную индексацию с выходом за пределы массива.
так и я про тоже мало нам языковых ловушек, давай свои придумывать
посему на 0[&x] у меня двоякое мнение
с одной стороны, спрятать и не показывать начинающим, но если кто то раскопает, додумается, то будет считать себя очень крутым
с другой стороны наоборот, написать красными чернилами на первой странице "Так делать нельзя" и объяснить почему
1
_Valera_
490 / 372 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
29.05.2015, 11:00  [ТС] 10
Цитата Сообщение от CheshireCat Посмотреть сообщение
Ага. Поэтому за такой код в реальном промышленном проекте на первый раз можно просто бить палкой по руками и по дурной голове (каковая рукам покоя не дает), а на второй раз - лучше всего отправить этого "крррутого программиста" в отдел кадров за трудовой. Пусть показывает свою крутизну в другом месте.
Цитата Сообщение от Tulosba Посмотреть сообщение
CheshireCat, безусловно. Обычно таким страдают зеленые новички, которые где-то увидели, не вникли в суть, но продолжают писать потому что это "круто" и "необычно" ("смотрите, как я умею"). И если рекомендации так не делать не возымеют результата, то конечно надо гнать их с*аными тряпками
P.S. Но, как мне кажется, все через это проходят (я имею в виду первую итерацию).
Цитата Сообщение от ValeryS Посмотреть сообщение
так и я про тоже мало нам языковых ловушек, давай свои придумывать
посему на 0[&x] у меня двоякое мнение
с одной стороны, спрятать и не показывать начинающим, но если кто то раскопает, додумается, то будет считать себя очень крутым
с другой стороны наоборот, написать красными чернилами на первой странице "Так делать нельзя" и объяснить почему

Это ,кстати, из теста к какому то собеседованию.
0
CheshireCat
Эксперт С++
2912 / 1261 / 114
Регистрация: 27.05.2008
Сообщений: 3,464
29.05.2015, 11:04 11
Несомненно. Обычная проверка, знает ли кандидат адресную арифметику.
1
29.05.2015, 11:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2015, 11:04

Что делает данная строка в коде
Кто может объяснить что делает данная строка в коде, вот функция в которой она...

Пожалуйста подскажите что делает данная функция?
Пожалуйста подскажите что делает данная функция? fflush(stdin);

List iterator что делает данная строка кода
for (list&lt;int&gt;::iterator i = sequence.begin(); i != sequence.end(); i++) (*result) &lt;&lt; (i !=...


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

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

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