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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
Dimmak
4 / 4 / 0
Регистрация: 10.12.2012
Сообщений: 170
#1

a=*b Что это значит? - C++

26.01.2013, 15:58. Просмотров 1381. Ответов 30
Метки нет (Все метки)

Подскажите пожалуйста!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.01.2013, 15:58     a=*b Что это значит?
Посмотрите здесь:

что это значит? - C++
Помогите, пожалуйста, разобраться в данном фрагменте программы) char* rus(const char* text) {char *bufRus=new char; ...

что это значит? - C++
в задании есть такой фрагмент if(!(num%div)) что это означает?

Что это значит? - C++
Что значит условие (!a)?В каком случае будет выполняться правда? if(!a) { // что угодно } else { // что угодно }

Что значит это условие - C++
Вот собственно код: if ( ( words = (char**)realloc(words, sizeof(char*) * (cnt + 1)) ) == NULL )

Что это значит if (x&1) ? - C++
основным вопросом есть if (x&1) что это за условия? и что это? x>>1. какая роль в коде? unsigned long long m_recursive (unsigned long...

что значит !a и a%=(c+10) и как это записать? - C++
что значит !a и a%=(c+10) и как это записать? заранее благодарен...

Что значит это строка кода? - C++
int _tmain(int argc, _TCHAR* argv) Объясните пожалуйста что значит этот участок кода, или дайте ссылку на какой либо ресурс для...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Somebody
2786 / 1600 / 145
Регистрация: 03.12.2007
Сообщений: 4,190
Завершенные тесты: 1
26.01.2013, 16:06     a=*b Что это значит? #2
Тут два оператора.
C++
1
a = (*b)
В a записывается то, что по адресу b. (Если не считать перегрузку операторов.)
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 543
26.01.2013, 16:06     a=*b Что это значит? #3
присвоение к переменной 'a' значение адреса переменной 'b'
HighPredator
5474 / 1840 / 342
Регистрация: 10.12.2010
Сообщений: 5,431
Записей в блоге: 3
26.01.2013, 16:08     a=*b Что это значит? #4
Afflicted, вы спутали с a*=b.
Evg
26.01.2013, 16:16
  #5

Не по теме:

Цитата Сообщение от HighPredator Посмотреть сообщение
Afflicted, вы спутали с a*=b.
Вообще-то он спутал с "a = &b"

Somebody
26.01.2013, 16:21
  #6

Не по теме:

Цитата Сообщение от Evg Посмотреть сообщение

Не по теме:

Вообще-то он спутал с "a = &b"

Судя по времени редактирования того поста, с чем только уже не успел спутать...

Evg
26.01.2013, 16:22
  #7

Не по теме:

Цитата Сообщение от Somebody Посмотреть сообщение
Судя по времени редактирования того поста, с чем только уже не успел спутать...
Едрить...

Dimmak
4 / 4 / 0
Регистрация: 10.12.2012
Сообщений: 170
26.01.2013, 16:23  [ТС]     a=*b Что это значит? #8
Я ничего не путаю. Просто пытаюсь разобраться в коде:
C++
1
2
3
4
5
        if (i < j) {
            p1 = Buffer+i; p2 = Buffer+j;
            temp = *p1; *(p1++) = *p2;
            *(p2++) = temp; temp = *p1;
            *p1 = *p2; *p2 = temp;
Помогите разобраться!
Kgfq
74 / 37 / 2
Регистрация: 23.09.2012
Сообщений: 408
26.01.2013, 16:54     a=*b Что это значит? #9

Не по теме:

Dimmak, это...магия



Добавлено через 1 минуту
К примеру, зачем писать вот так:
*(p1++) = *p2;
я не понимаю
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
26.01.2013, 16:54     a=*b Что это значит? #10
он обменивает пары элементов массива Buffer
Элементы с индексами i и i+1 ставит на места с индексами j и j+1 соответственно и наоборот.
возможно, код был бы понятнее, еслиб не заставляли меня вспоминать, что возвращает оператор постинкремента, а тупо написали бы
C++
1
2
3
4
5
if (i < j) {
            p1 = Buffer+i; p2 = Buffer+j;
            temp = *p1; *p1= *p2; p1++;
            *p2 = temp; temp = *p1; p2++;
            *p1 = *p2; *p2 = temp;
А ещё лучше
C++
1
2
3
4
5
6
7
if (i < j) {
            temp = Buffer[i]; 
            Buffer[i]= Buffer[j]; 
            Buffer[j] = temp; 
            temp = Buffer[i+1]; 
            Buffer[i+1]= Buffer[j+1]; 
            Buffer[j+1] = temp;
Или вообще
C++
1
2
3
if (i < j) {
            Swap(Buffer[i], Buffer[j]);
            Swap(Buffer[i+1], Buffer[j+1]);
Т.к. адресная арифметика здесь как телеге пятое колесо
Kgfq
74 / 37 / 2
Регистрация: 23.09.2012
Сообщений: 408
26.01.2013, 16:57     a=*b Что это значит? #11
Kuzia domovenok, проблема инкрементов в том, что разные компиляторы воспринимают их немного по-разному.
Я проверял на 2х разных компиляторах одно и то же выражение, оно выдавало разные результаты.
Kuzia domovenok
26.01.2013, 17:00
  #12

Не по теме:

ой-ой

Somebody
2786 / 1600 / 145
Регистрация: 03.12.2007
Сообщений: 4,190
Завершенные тесты: 1
26.01.2013, 17:02     a=*b Что это значит? #13
Цитата Сообщение от Kgfq Посмотреть сообщение
проблема инкрементов в том, что разные компиляторы воспринимают их немного по-разному.
Это не проблема инкрементов, а проблема их неправильного использования...
Kgfq
74 / 37 / 2
Регистрация: 23.09.2012
Сообщений: 408
26.01.2013, 17:06     a=*b Что это значит? #14
Somebody, а как вы будете его правильно использовать, если компиляторы даже решить не могут как правильно?)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.01.2013, 17:40     a=*b Что это значит?
Еще ссылки по теме:

Не могу понять, что это значит: while(i<10/2) - C++
/*обращение массива*/ #include &lt;stdio.h&gt; main() { int p,i=0; static a={10,11,12,13,14, 15,16,17,18,19}; while(i&lt;10/2) { ...

Что это значит: *(void**)ReturnValue) = hHeap; ? - C++
Вот честно, не могу понять что значит вторая строчка кода: void* ReturnValue = (void*) HeapAlloc((HANDLE) hHeap,...

Ссылка как параметр шаблона. Что это значит? - C++
Увидел в данной теме http://www.cyberforum.ru/cpp-beginners/thread1900008.html что шаблонный тип можно указать как ссылку. Судя по тесту...

Floating point error:Domain.Abnormal program termination - ??? это что значит? - C++
Floating point error: Domain. Abnormal program termination #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; void main()...

Выводит значение "f". Что это значит? - C++
вместо результата выводит &quot;f&quot;, незнаю даже как бороться. подскажите в чем причина #include &lt;stdio.h&gt; #include &lt;conio.h&gt; void main () ...


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

Или воспользуйтесь поиском по форуму:
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
26.01.2013, 17:40     a=*b Что это значит? #15
Цитата Сообщение от Kgfq Посмотреть сообщение
а как вы будете его правильно использовать, если компиляторы даже решить не могут как правильно?)
Во-первых, ставить скобки, расписывать в несколько действий. Во-вторых, Есть понятие "точка следования", и не нужно производить следующую операцию с переменной, пока не пройдена точка следования, чтоб не получать непредсказуемый результат.
Yandex
Объявления
26.01.2013, 17:40     a=*b Что это значит?
Ответ Создать тему
Опции темы

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