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

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

Войти
Регистрация
Восстановить пароль
 
Flashik66
17 / 9 / 7
Регистрация: 05.11.2012
Сообщений: 119
#1

Есть некоторые строчки кода, которые я не понимаю - C++

15.11.2012, 00:44. Просмотров 309. Ответов 3
Метки нет (Все метки)

Добрый день. У меня есть код программ но есть некоторые строчки кода которые я не понимаю. Помогите разобраться.

Как бы что тут делается?
template<typename T> void swap(T& n1, T& n2)
{ T _tn = n1; n1 = n2; n2 = _tn; }
И вот тут то что выделено..

for (int q = 0; q < N; q++)
{
int min = q;
for (int s = q+1; s < N; s++)
if (A[s] < A[min]) min = s;

swap<double>(A[q],A[min]);
}
Спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2012, 00:44     Есть некоторые строчки кода, которые я не понимаю
Посмотрите здесь:

Не понятны некоторые строчки в проге( - C++
Вот есть код: #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; class A {private: //закритий...

Задача по наследованию. Не понимаю некоторые моменты в формулировке задания - C++
Здравствуйте! Вот есть задание: Описать базовый класс СТРОКА Обязательные поля класса: # Указатель на char - хранит адрес...

Объясните, для чего нужны некоторые строчки в коде(using namespace, new, int main) - C++
#include &lt;iostream&gt; using namespace std; //для чего эта строчка int main(void) // что нужно изменить чтобы было void main() { ...

Прокомментируйте оставшиеся строчки, не понимаю как работает "Решето Эратосфена" - C++
#include &lt;iostream&gt; //подключение стандартной библиотеки ввода-вывода using namespace std; //пространство имён. Чтобы писать &quot;cout &lt;&lt;...

Прокомментировать 2 строчки кода - C++
Вот весь код Ovchinnikov13.cpp Открыть с помощью #include &lt;stdio.h&gt; //#include &lt;conio.h&gt; int main() {

Расшифруйте 3 строчки кода - C++
const int SIZE = 100; char *ch = new char; char *x= {0}; Объясните, что здесь происходит, для чего {0} Так же как сделать...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
13052 / 7315 / 814
Регистрация: 27.09.2012
Сообщений: 18,052
Записей в блоге: 3
Завершенные тесты: 1
15.11.2012, 00:47     Есть некоторые строчки кода, которые я не понимаю #2
Цитата Сообщение от Flashik66 Посмотреть сообщение
Как бы что тут делается?
n1 становится равным n2, а n2 становится равным n1.
А вообще почитайте про шаблоны.

Цитата Сообщение от Flashik66 Посмотреть сообщение
И вот тут то что выделено..
дорога ведет к изучению шаблонов.
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
15.11.2012, 00:51     Есть некоторые строчки кода, которые я не понимаю #3
Ты скорее ещё не знаешь шаблоны и stl. Не удивительно, в большинстве курсов С++ их оставляют напоследок или даже не упоминают бывает.
Это шаблон функции обмена двух переменных. Объявление template<typename T>, значит, что это шаблон, в который вместо Т можно подставить любое имя типа. Вызывая swap<double>(A[q],A[min]); ты просишь компилятор создать функцию, согласно шаблону подставив вместо Т double,
И получается, что этот код аналогичен.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void swap(double& n1, double& n2)
{ 
  double _tn = n1;
  n1 = n2;
  n2 = _tn; 
}
///...
for (int q = 0; q < N; q++)
{
  int min = q;
  for (int s = q+1; s < N; s++)
    if (A[s] < A[min]) min = s;
  swap(A[q],A[min]);
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.11.2012, 22:50     Есть некоторые строчки кода, которые я не понимаю
Еще ссылки по теме:

Объясните две строчки кода - C++
что значит вот это: имею вввиду каждые функциии: не могу найти if ( n.peek() == ifstream::traits_type::eof() ) ofstream n(...

Перегрузка, адресация, объясните строчки кода - C++
Помогите разобраться что значат, делают приведенные строки кода: 1.В первой строке объявляется объект класса uravnenie, 3-я строка тоже...

Описать строчки кода, что они делают! - C++
Код программы: #include &lt;iostream&gt; #include &lt;time.h&gt; using namespace std; int main() { setlocale(LC_ALL,...

Перевести 2 строчки кода с printf на cout пожалуйста! - C++
Помогите перевести с printf на cout. printf(&quot;x=%0.5lf\n&quot;,i+1,X); printf(&quot;При количестве итераций=%d\n&quot;,count);


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

Или воспользуйтесь поиском по форуму:
Flashik66
17 / 9 / 7
Регистрация: 05.11.2012
Сообщений: 119
15.11.2012, 22:50  [ТС]     Есть некоторые строчки кода, которые я не понимаю #4
Спасибо большое!
Yandex
Объявления
15.11.2012, 22:50     Есть некоторые строчки кода, которые я не понимаю
Ответ Создать тему
Опции темы

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