SEO продвижение сайтов

Указатели и Линки

В языке C++ очень часто используют указатели и ссылки на переменную.

Понятие указателя

Указатель — это переменная. Такая же, как и любая другая. У нее есть свое значение и свой адрес в памяти. Переменная-указатель объявляется также, как и любые другие переменные, но после имени типа ставится звездочка - *. Чтобы объявить переменную следует указать ее тип, а затем имя. Звездочка является частью типа, а не частью имени.

Пример:

int *a;//0x1

А можно и так:

int* a1; //0x1
int * a2;//0
int *a3; //0x17

Чтобы получить адрес переменной, нужно перед ее именем написать амперсанд - &.

#include <iostream>//Подключаем cin и cout и др.
using namespace std;//Пространство имён

int main()
{
setlocale(0,"");//Кириллица

int a=123;
int *b=&a;

cout << "Значение а=" << a << endl;//123
cout << "Адрес а=" << b << endl; //0x22fe34
cout << "Адрес а=" << &a << endl;//0x22fe34
cout << "Опять значение а=" << *b << endl;//123

system("pause");//Задержка
return 0;//Возвращаем числовое значение
}

Адресная арифметика

К указателям можно прибавлять или отнимать числа и как бы перемещать адрес вперед или назад. На основе этого сделана адресация в массиве, так как массив - это непрерывная информация в памяти, расположенная последовательно.

#include <iostream>//Подключаем cin и cout и др.
using namespace std;//Пространство имён

int main()
{
setlocale(0,"");//Кириллица

int array[5] = {1,2,3,4,5};//Массив в пять элементов
int *p=&array[0];//или так: int *p = array;
p++;
cout << *p << endl;//2
p+=3;
cout << *p << endl;//5

system("pause");//Задержка
return 0; //Возвращаем числовое значение
}

Имя массива — это указатель на его начало - точка отсчета. Строки: int *p=&array[0]; и int *p = array; равнозначны.

Код функции, которая меняет местами две переменные.

...
void swap(double* a, double* b)
{
double temp=*a;//Временная переменная
*a=*b;
*b=temp;
}

...
swap(&x, &y);
...

Понятие ссылки

В языке C++ появился новый механизм работы с переменными — ссылки.

Конструкция double name& объявляет ссылку на переменную типа double. При таком объявлении функции в стек будут положены не значения переменных, а их адреса. Ссылка — это указатель, с которым можно работать, как с обычной переменной.

Различия между ссылкой и указателем: Ссылка не может быть равна NULL, а указатель может. Ссылка не может быть непроинициализирована, а указатель может.

...
void swap(double& a, double& b)
{
double temp=a;
a=b;
b=temp;
}

...
swap(x, y);
...

Web-технологии

Событие в JavaScript

Событие в JavaScript - это определённое действие, которые вызвано либо пользователем, либо браузером.

Например:

События мыши:

  • click – происходит, когда кликнули на элемент левой кнопкой мыши (на устройствах с сенсорными экранами оно происходит при касании).
  • contextmenu – происходит, когда кликнули на элемент правой кнопкой мыши.
  • mouseover / mouseout – когда мышь наводится на / покидает элемент.
  • mousedown / mouseup – когда нажали / отжали кнопку мыши на элементе.
  • mousemove – при движении мыши.

События на элементах управления:

  • submit – пользователь отправил форму
  • focus – пользователь фокусируется на элементе, например нажимает на <input type="text" />.
Подробнее...

Универсальный обход по массиву

Предлагаю вашему вниманию PHP-код - универсальный обходчик любого массива с любым представлением. Используем две функции: 1) функция с циклом (метод ArrFor() в классе) и 2) функция (как аргумент) с оформлением результатов обхода по массиву в цикле.

Подробнее...

JavaScript - основы (ES6)

ECMAScript 6 (или ES6) - это новая версия JavaScript 2015г, в которую добавлен новый функционал, которая на сегодня поддерживается всеми современными браузерами.

Переменные и комментарии

JavaScript - не строго типизированный язык. Переменные обозначаются так:

	let name='Геннадий'//Строка
	console.log(name)  //Геннадий - отображается в консоли

	var age=40      //Число(без кавычек) VAR (глобальная) - устарело, не использовать!
	console.log(age)//40 - отображается в консоли

	const prof="Программист"//Это константа
	console.log(prof)//Программист - отображается в консоли

	// - это однострочный комментарий

	/*
		тут 
		многострочные 
		комментарии
	*/

Подробнее...
Интересные статьи

Диалектические противоречия или чего хотят современные женщины

Диалектические противоречия или чего хотят современные женщины

Современная женщина, независимо от доходов и статуса, выбирает мужчину для отношений, который должен обладать определенными чертами характера. Именно наличие этих естественных черт характера у мужчины определяют его как достойного для создания пары.

Многие женщины, живущие в современном мире, традиционно имеют как минимум два взаимоисключающих убеждения в отношении взаимодействия с мужчинами для создания такого союза.

Подробнее...

Почему мужчинам опасно регистрировать брак в России

Почему мужчинам опасно регистрировать брак в России

Сразу хочу сообщить, что я не оголтелый женоненавистник или противник семейных ценностей. Я как раз наоборот - замечательно и с почтением отношусь к прекрасным дамам и являюсь сторонником традиционных семейных ценностей.

Но при этом категорически настаиваю, что официально регистрировать брак в нашей стране для мужчин катастрофически опасно и вот почему...

Подробнее...

День Победы со слезами на глазах...

День Победы со слезами на глазах...

Дорогие друзья, вот и прошёл пожалуй самый светлый праздник для нашей страны, для нашего народа - ДЕНЬ ПОБЕДЫ - 9 мая.

Но, как именно прошёл праздник 75-летия ПОБЕДЫ в этом году, я хочу напомнить сегодня, спустя 4 дня от празднования исторической даты.

У меня такое ощущение, как будто никто не заметил, что ПОЛИЦАИ по всей стране в этот день задерживали, арестовывали и штрафовали именно за память о Победе, за возложение цветов к памятникам нашим павшим героям.

Подробнее...

Оставить заявку

Закрыть
Заполните фрму и отправьте нам заяку
Заполните все обязательные поля*
captcha
Перезагрузить