forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   C++ (http://forum.boolean.name/forumdisplay.php?f=22)
-   -   Классы (http://forum.boolean.name/showthread.php?t=15398)

.Squid 04.09.2011 14:14

Ответ: Классы
 
Если ты в функции просто обращаешься к матрице, хранимой в классе, то нет.

Mind 04.09.2011 19:11

Ответ: Классы
 
Цитата:

Если ты в функции просто обращаешься к матрице, хранимой в классе, то нет.
Код:

class CCamera
{
public:
D3DXMATRIX matView,matProj,matViewPos,matViewRX,matViewRY,matViewRZ;
float x,y,z,rx,ry,rz;
...
...
}
void MoveEntity(CCamera& camera,float dx,float dy,float dz)
{
camera.matViewPos._41 += dx;
camera.matViewPos._42 += dy;
camera.matViewPos._43 += dz;
}

...
...

MoveEntity(cam,0,0,3);

...
...


Я так понял в таком варианте я в производительности не сильно теряю.Да?

Mr_F_ 04.09.2011 19:24

Ответ: Классы
 
вообще не теряешь

moka 05.09.2011 13:44

Ответ: Классы
 
Ты передаёшь ссылку на класс, получение из ссылки (Handle <> Object), сам handle класса, и дальнейшая работа с ним - имхо ок.

Проверь очень просто, сделай две такие функции. И затем в цикле запусти каждую 1000 раз, и замерь.

falcon 05.09.2011 21:36

Ответ: Классы
 

собсно SIP 6.2 весь проект
я работаю конкретно с application (UI всякие, визуализация ядерных возможностей).. пока что)

только как это влияет на "голословность" и даже если как то влияет, какое это отношение имеет к венгерской нотации?

ну а эту красоту я просто не могу не продемонстрировать))



HolyDel 08.09.2011 22:35

Ответ: Классы
 
похоже на временное решение. видимо в default что то адово

falcon 09.09.2011 00:57

Ответ: Классы
 
не временное!!1)
оно полностью соответствует спеке..
тут логика в чом.. некоторые пункты меню (лайны) должны иметь один и тот же тайтл на скрине. Конкретно, первые два кейса. Третий кейс тут ваще просто так затесался, а ABOUT имеет другой, позже жоско выставленый тайтл.. По факту, то что увидит юзерь действительно соответсвует данным в спецификации.. но достигнуто это было через жопу)

HolyDel 09.09.2011 02:38

Ответ: Классы
 
Цитата:

ABOUT имеет друго
судя по коду первые четыре метки выполнят одно и то же, не?

falcon 09.09.2011 11:27

Ответ: Классы
 
Лучше этот код не судить)
нет, третья метка - пункт другого меню с другим тайтлом, и нах она сюда затесалась - загадка.
четвёртый пункт тоже потом(!) меняется ибо имеет другой тайтл (хотя не мало вероятно, что это результат фикса какого нито.. типа сначала 4 этих метки имели один и тот же тайтл, а потом что-то пошло не так.. но это ж не значит что фикс должен иметь подобный вид? Да вот В ЛЮБОМ СЛУЧАЕ подобное "падение" по кейсам должно годно документироваться в коментах..)

ANIK123 07.10.2011 23:26

Ответ: Классы
 
Привет всем и вся)
Хочу задать наверн туповатый вопрос: ПОЧЕМУ?!? (ответ "кривые руки" не принимается ибо сам об этом знаю)

Вот часть класса:
Код:

class cCamera
{
public:       
        cCamera();
        Handle getCamp();
        Handle getCamera();
private:
        Handle camp;
        Handle camera;
};

cCamera::cCamera(){
        camp = xCreateCube();
        camera = xCreateCamera(camp);
        бла-бла-бла
}

Handle cCamera::getCamp(){
        Handle *tmp=&camp;
        return *tmp;
}

Handle cCamera::getCamera(){
        Handle *tmp=&camera;
        return *tmp;
}

Вот часть кода:
PHP код:

cCamera cam();
cPlayer player("../models/player.fbx",cam.getCamera());
xMoveEntity(cam.getCamp(),0,0,0.1f); 

И собсно ошибки:
Код:

error C2228: выражение слева от ".getCamera" должно представлять класс, структуру или объединение
error C2228: выражение слева от ".getCamp" должно представлять класс, структуру или объединение

Чяднт?

Заранее спасибо народ)

Mr_F_ 07.10.2011 23:39

Ответ: Классы
 
в часть кода не заинклужен хидер с классом?

ANIK123 08.10.2011 00:03

Ответ: Классы
 
Другой класс из этого же хедера работает :/
Короче вот и сам "проЭкт"( см ссылку )) Поясните идиоту плиз в чем проблемма)))
http://files.mail.ru/VAJCHT

Mr_F_ 08.10.2011 00:15

Ответ: Классы
 
студия старая у меня, не открою все равно.
ща ещё заметил - у тебя объявление класса камеры заканчивается }, а точки с запятой нету после этой скобочки.

ANIK123 08.10.2011 00:24

Ответ: Классы
 
Да нет, есть:
Код:

class cCamera
{
public:
        Handle camp;
        Handle camera;
       
        cCamera();
        Handle getCamp();
        Handle getCamera();
private:
};

O_O

Цитата:

студия старая у меня, не открою все равно.
А копи-паст?)
зы: Извини но Я никак не врубаюсь в природу этой ошибки(

pax 08.10.2011 01:14

Ответ: Классы
 
А такое объявление это сокращенная запись конструктора?
PHP код:

cCamera cam(); 

Чет я забыл синтаксис С++...
Похоже на предварительное объявление функции с названием cam

попробуй так:
PHP код:

cCamera cam = new cCamera(); 



Часовой пояс GMT +4, время: 14:02.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot