Сообщение от HolyDel
хороший вопрос...
я хз, так исторически сложилось. на самом деле если заменить все
class bla-bla-bla
{
public:
на то ничего не изменится.
мою лучше не ковырять, там почти ничего толкового нет. зато есть всякое дерьмо, вроде ztransform у кватерниона. (функция быстро просчитывает вектор от (0,0,1), по упрощенной математики. для движения объекта прямо.
ибо я туда дописываю всякие штуки, когда они мне начинают надобиться для очередных демок или ядра.
в плюсах между class и struct нет особой разницы. тока дефлотная видимость членов класса - private, а струтуры - public. не то что в шарпе.
|
у классов есть проблема, если определить конструктор то это не POD-тип (!) ибо компилятор по умолчанию думает что есть сайд-эффекты при создании и не может безопасно копировать инстансы aka memcpy
те не должно компилится по стандарту, хотя студия компилит :
class foo
{
public:
foo() {...}
foo(const foo & o) {...}
int a;
...
}
struct bar
{
foo a[];
};
именно по этому в всяких cocoa фреймворках и тд есть структура (иногда класс) CGPoint, но экземпляр получается вот так CGPoint a = CGPointMake(1, 2)