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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Дана строка символов до точки. Выделить в ней все русские буквы, сделав их заглавными http://www.cyberforum.ru/cpp-beginners/thread772191.html
Дана строка символов до точки. Выделить в ней все русские буквы, сделав их заглавными
C++ Длинный факториал Здравствуйте уважаемые форумчане!, Помогите реализовать программу длинного факториала, очень нужно. http://www.cyberforum.ru/cpp-beginners/thread772190.html
C++ в чем разница между void f(int &n) и void f(int &&n)
:help:
C++ Класс кубик. вывод результата
Суть проблемы в том, что в первый раз метод вызывается дважды и выводится 2 раза. Не могу определить почему. Код: # include <iostream> using namespace std; class dice { int d;
C++ setprecison http://www.cyberforum.ru/cpp-beginners/thread772128.html
Доброго времени суток, есть код: // fail.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <iostream> #include <iomanip> #include <fstream> #include <stdlib.h>
C++ Подскажите использование char** на примере Подскажите использование char** на примере подробнее

Показать сообщение отдельно
Kuzia domovenok
 Аватар для Kuzia domovenok
1886 / 1741 / 117
Регистрация: 25.03.2012
Сообщений: 5,910
Записей в блоге: 1
26.01.2013, 16:54     a=*b Что это значит?
он обменивает пары элементов массива 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]);
Т.к. адресная арифметика здесь как телеге пятое колесо
 
Текущее время: 11:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru