Tego posta miało nie być. W bardziej zwięzłej formie miałam napisać (i napisałam) zwykły komentarz na blogu. Niestety nie dało rady z tym komentarzem u niego, w takim razie opiszę tutaj.
Owo zamieszanie wywołało we mnie zdanie:
Bo czasami nudzi mi się aż za bardzo
Tego posta miało nie być. W bardziej zwięzłej formie miałam napisać (i napisałam) zwykły komentarz na blogu. Niestety nie dało rady z tym komentarzem u niego, w takim razie opiszę tutaj.
Owo zamieszanie wywołało we mnie zdanie:
Artykuł zgłoszony do konkursu na stronie http://strefainzyniera.pl
Większość oprogramowania, jakie przyjdzie nam pisać, będzie wymagała użycia operatorów. I nie mówię tu wyłącznie o operatorach znanych nam z matematyki – czyli „+”, „-” i tak dalej. Nawet w najprostszych aplikacjach używających chociażby instrukcji warunkowej używamy operatorów porównania. Manipulując zmiennymi zwykle używamy operatorów przypisania i konwersji.
Operatory, to nic innego, jak funkcje, które zwracają wartość, za wejście biorąc wartości, które w wersji prefiksowej występują zaraz po znaku, postfiksowej gdy przed znakiem, zaś infiksowej, pobiera sąsiadów po obu stronach. Jeżeli operator pobiera trzy wartości, symbole składające się na niego rozdzielają wartości wejściowe funkcji wywoływanej (niewidocznie dla programisty) przez operator. Tylko operator wywołania „()” oraz operator pobrania elementu wskazywanego przez indeks „[]” biorą swój operand w środek znaków, jakie się na niego składają.
Dziś omówimy jakie możliwości dają nam operatory w języku C#. Pełną ich listę możemy znaleźć w dokumentacji języka, dostępnej pod adresem http://msdn.microsoft.com/pl-pl/library/6a71f45d.aspx .
Operator new – kilka słów na jego temat
Operator new, jak zapewne wszyscy wiedzą służy w językach obiektowych/ zorientowanych obiektowo do kreacji nowych obiektów. W przypadku języka C++ używamy go również do tworzenia zmiennych dynamicznych typów wbudowanych, na które pokazuje wskaźnik. Zmienna dynamiczna bowiem sama w sobie nazwy niestety nie ma. Ale ma adres który można przypisać do wskaźnika, a to nam w zupełności wystarczy do posługiwania się nią. Zmienna dynamiczna nie podlega prawom zakresu ważności (co innego wskaźnik, który na tą zmienną pokazuje). Jeżeli w danym zakresie ważności mamy dostęp do przynajmniej jednego wskaźnika na zaalokowany obszar pamięci, będzie od dostępny. Tracimy zmienną dopiero po użyciu bliźniaczego operatora delete (którym nie będziemy się zajmować w tym artykule). Wybaczcie mi to masło maślane.
Zmienne tworzone dynamicznie w języku c++ nie są zerowane, należy o tym pamiętać.
Artykuł ten stanowi vademecum posługiwania się tym operatorem na (prawie) wszystkie możliwe sposoby. Ograniczymy się przy tym do języka c++. Ma on także za zadanie rozbudzić waszą ciekawość do zbadania tego, co nieznane.