Завтра в Самаре будет фестиваль 404. Я решила посетить его с мужем за компанию. О разработке игр там, похоже, ничего не будет, так что подробные отчеты ищите на блогах веб-разработчиков, если интересно.
пятница, сентября 25, 2009
вторник, сентября 08, 2009
Блог I Get Your Fail
I Get Your Fail - Epic failures in the game development field. Что-то вроде The Daily WTF, но посвящен исключительно геймдеву.
Ссылку на него я привожу не столько для того, чтобы поржать, а скорее для того, чтобы поучиться на чужих ошибках.
Пара интересных видео оттуда.
Неправильная физика обломков
Атака ветряных мельниц
понедельник, сентября 07, 2009
Конструктор или оператор присваивания?
В C++ не всегда бывает так, что знак = означает вызов оператора присваивания, из-за чего народ начинает путаться.
Я нашла в comp.lang.c++.moderated большой хороший пример, может пригодится кому.
class B { ... };
class A
{
...
public:
// Constructor
A() { ... }
// Copy constructor
A(const A& a_obj) { ... }
// Constructor overloading
A(const B& b_obj) { ... }
...
A& operator=(const A& a_src) { ... }
...
};
// Примеры:
A a1; // конструктор вида A()
A a2(a1); // конструктор копирования A(a1)
A a3 = a2; // конструктор копирования A(a2)
B b;
A a4(b); // перегруженный конструктор A(b)
A a5 = b; // перегруженный конструктор A(b)
a1 = a5; // operator=(const A&) то есть operator=(a5)
a2 = b; // Шаг1: создается временный объект класса а A
// с помощью конструктора вида A(b),
// Шаг2: -> operator=(const A&) то есть operator=(A(b))
Если будете экспериментировать, не забудьте выключить оптимизацию.
Категории: cpp
Подписаться на:
Сообщения (Atom)