Нищо конкретно 26.01.2011

Последните дни се развиха добре. Разбрах, че минавам на областен кръг по информатика. ПОБЕДА!!!
Което ми напомня сега да погледна авторските решения на задачите и тези на другите участници. Пуснаха ни в грипна ваканция! ВТОРА ПОБЕДА! И като за капак – вчера имах рожден ден. Вече съм на 17, не по-зрял,не по-различен отпреди, но пък се чувствам все по-близо до една от целите ми – вземането на книжка възможно най-скоро.Купих си и нов парфюм – Thierry Mugler A*Men от BeautyZone. :) Парфюмът е невероятен! Другият, който съм си набелязал, е на Jean Paul Gaultier, но не мога да се сетя, точно кой. Беше от серията Le Male.

Указатели (референции и дереференции) в C++

След първоначалния урок за “референции” в C++“, който общо взето не говори нищо, реших да направя нов по-пълен “урок”. Ще се опитам да обясня защо те са много важни и къде се използват. Всяка променлива,константа,функция,масив,клас,структура и т.н. е записана в паметта в дадено “депо”.
Ето примерен код:

// Създаваме указател от тип int. Създаденият указател трябва да има същия тип на променливата към, която ще сочи.
int * pointer;
// Създаваме две променливи от тип int.
int ref1,ref2;
// Указателят сочи към адреса на ref1 (Указателят присвоява адреса на ref1 в паметта)
pointer = &ref1;
// Променяме съдържанието на на променливата, към чието място в паметта сочи указателя pointer
* pointer = 10;
// Указателят сочи към адреса на ref2 (Указателят присвоява адреса на ref2 в паметта)
pointer = &ref2;
// Променяме съдържанието на на променливата, към чието място в паметта сочи указателя pointer
* pointer = 20;

Указателите са изключително полезни при c/c++. Така вие имате достъп до паметта. Тук се включва и така наречената указателна аритметика. Това означава, че на даден указател можем да присвоим адреса на паметта на promenliva1. След това увеличаваме стойността на указателя и имаме достъп до promenliva2. Ще ви дам пример с масиви.

// създаваме указател
int * pointer;
// създаваме масив
int arr[5];
// на указателя се записва адреса на първия елемент на масива
pointer = &arr;
// на указателя се записва адреса на втория елемент на масива
pointer++
// на указателя се записва адреса на третия елемент на масива
pointer = &arr[2];
// ще променим стойността на четвъртия елемент на масива
*(pointer+1) = 20;
// ще присвоим на на указателя адреса на петия елемент
pointer = &arr + 4;

Ето така можем да сменяме стойностите на масив, както и на променливи.

Чрез указатели може да се заделя и динамична памет. В другия урок ще обясня за нея.
Могат да се създават указатели и на указатели.

int **p,*p2;
int a=5;
p2 = &a;
p = &p2;

Има и доста други възможности на указателите. Подробности за тях можете да видите тук :)

Нищо конкретно 12.01.2011

През последните дни не се е случило нищо общо взето освен мъчителните контролни и изпитвания за оформяне на срочния успех. Освен това се подготвям за олимпиадата по информатика, която ще се състои на 22.01.2011, ако не се лъжа. Надявам се да стигна до областен. От МГ Варна има абсолютни вундеркиндове по отношение решаване на задачи (математика,информатика). От други училища не съм забелязал да има участници. От 1ЕГ съм само аз, което е добре, защото няма да се налага да чувам щракащи клавиатури, пуфкания и подобни дразнещи звуци. В близките дни се очаква да продам няколко мои сайта, които отдавна не се поддържат, а само ми хабят ресурси. Това е засега. Надявам се в скоро време да почна да публикувам по-интересни неща и да имам повече време да пиша :)

След весело прекарване на празниците отново с много ангажименти

За много години на всички познати!
Весело си прекарах през цялата зимна ваканция! В общи линии си починах добре!
Очакват се доста ангажименти поне до към края Април като работа с клиенти и подготвяне за 3-4 състезания. На ~21 Януари ще има състезания по информатика C/C++. След това почвам да работя по един проект за клиент и след това почвам по проекта за 2те състезания по уеб програмиране – националното по информационни системи в категория Уеб Приложения и Webloz. Дочувам, че имало и някакво състезания в Монтана, по-късно във Варна. Ще се ходи тази година предполагам. По информатика ще съм в B група. Не съм много добре подготвен, но ако отида на областен това ще е успех за мен!