пятница, 25 января 2013 г.

Отличия структуры от класса C#.

Тем кто усиленно изучал C++,  может показаться не обычным то что, структура таки отличается от класса, меня это например удивило, и я даже один раз ошибся.
Сейчас попробую описать главные отличия.
  • Структура не может наследовать другой класс или структуру (интерфейс можно).
  • Структуру нельзя унаследовать.
  • Если объявить переменную с типом структуры, то там будет хранится структура. а не ссылка на неё, как в случае с классом. 
  • Все члены структуры по умолчанию public. 
  • Члены структуры не могут быть protected. 
  • Структура не содержит деструктора.   
 Не много расскажу о третьем пункте. Многие не поймут разница. К примеру рассмотрим такой вот пример.


struct tempStruct
{
   public int i;
}
class tempClass
{
   public int i;
}

tempClass tc = new tempClass();
tempClass tc2 = new tempClass();
tempStruct ts;
tempStruct ts2;
tc = tc2;
tc2.i = 10;
ts.i = 10;
ts2 = ts;
ts2.i = 20;


в результате 

tc.i == 10;
tc2.i == 10;
ts.i == 10;
ts2.i == 20;

При работе с классами, у нас передаются ссылки по переменным. А в случаи со структурами они полностью копируются. Так же, при работе с unsafe кодом, указатели могу ссылаться на структуру при условие что в ней нету ссылочных значений. С классами указатели работать не могут, только с их полями.



История записи нового видео урока.

С того момента как я выложил последнее видео о создании RTS, прошло уже чуть более месяца. И всё это время я вынашивал идею по записи очередного цикла, и как всегда было одно "но", не было темы. И вот я вспомнил про своего товарища Игоря, которому совсем не давно помогал разобраться с указателями в С++, а так как я фанатирую на Unity3D было решено в добавок помочь разобраться и с этим инструментом, да и в добавок заснять всё это и выложить на YouTube.
Первая попытка оказалась не много провальной, я забыл активировать лицензию программы для захвата видео с экрана, и в итоге 20-минутная запись была изуродована надписью "Не зарегистрированная копия". Но я не расстроился, и таки зарегистрировал и на следующий день решили переснять.
Вторая попытка была по лучше, но из-за того что, всё рассказывать второй раз, показалось мне скучным делом, я решил импровизировать из-за чего вся моя речь была скомкана. Сразу после записи, мы продолжили и записали ещё одно видео, продолжительностью уже в 63 минуты, и всё это время без остановки я втирал про Наследования, Полиморфизм и о некоторых специфичных для разработчиков игр вещах. Первое видео было удачно смонтировано (хоть я и забыл убрать в начале не много), но вот второе. Во втором, оказалось слишком много ляпов с моей стороны, то я сказал что между структурой и классом нету совершенно не какой разницы, то Полиморфизм назвал полиформизмом, в целом всё прошло нормально, но вот из-за этих ляпов выкладывать не буду :).


понедельник, 21 января 2013 г.

Первый конкурс на моём сайте.

О том что бы начать конкурс я задумывался давно, и вот решился. На данный момент, это что то типа тестовой версии, с маленький призовым фондом (2000р), я хочу получить опыт в организации подобных мероприятий, после чего собираюсь увеличить фонд в 10 раз. Подробности конкурса вы сможете узнать здесь. Надеюсь что хоть кто нибудь примет участие.