Имя:    Пароль:      Помнить меня       
Unsorted   ~  Software  ~  Development and Design  ~  Помощь по С/С++ Все вопросы по С/С++ сюда
На страницу «  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11  »
Doctor_Mozg
Сообщение  21 Ноя 2006, 15:18  Ссылка : Ответить с цитатой
Возраст: 33 Пол: Мужской  Доверенный пользователь
C нами с 25.01.2005
Репутация: 133

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

P.S. Перед задаванием вопросов вроде "Что делает эта функция" настоятельно рекомендуется поизучать MSDN.
P.P.S. В ближайшее время выложу много литературы по этому вопросу.
В начало
Профиль : Фотоальбом : Личное Сообщение : ICQ
AAsad
Сообщение  27 Дек 2010, 17:21  Ссылка : Ответить с цитатой
Возраст: 32 Пол: Мужской  Доверенный пользователь
C нами с 03.04.2006
Репутация: 73.7

Вот скажите я индус что-ли? посмотрите что тут может быть не так?

free_boundary::free_boundary(point pstn, point nrml, unsigned int np, double S, double T, double alpha)
{
....
     this->nrml = nrml;
     this->pstn = pstn;

     this->np = np;
     this->T = T;
....
}


никак не могу понять почему не работает.

з.ы.смотри прикрепленную картинку!
з.ы.ы. глюк не только с pstn, но и с np...
з.ы.ы.ы. у структуры point перегружено несколько операторов, но operator= не перегружен.

_____________________________
"Если да, конечно нет" Futurama




debug1
pic1.jpg

pic1.jpg - Просмотров: 46

В начало
Профиль : Фотоальбом : Блог : Личное Сообщение : E-mail : JabberID : ICQ
tigra564
Сообщение  27 Дек 2010, 18:18  Ссылка : Ответить с цитатой
Возраст: 40 Пол: Мужской  Доверенный пользователь
C нами с 19.08.2008
Репутация: 83.2

1. А входной pstn точно корректный?
2. Ну, оператора = нет, но может есть плохой конструктор вида point &point::point(const point &)?
3. А может быть просто объект this уже битый вусмерть? Запустите приложение под аналогом valgrind'а (не уверен, что он для Винды есть).
В начало
Профиль : Личное Сообщение
Рыся
Сообщение  28 Дек 2010, 11:27  Ссылка : Ответить с цитатой
Пол: Мужской  Доверенный пользователь
C нами с 15.04.2005
Репутация: 133.2

AAsad, а ещё неплохо бы посмотреть декларацию объекта free_boundary.

_____________________________
Время не существует, у него нет физического носителя в природе. Его выдумал человек, чтобы измерять скорость.
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение : E-mail : JabberID
Apacha
Сообщение  28 Дек 2010, 12:38  Ссылка : Ответить с цитатой
Возраст: 29 Пол: Мужской 
C нами с 16.04.2006
Репутация: 56.8

а в последнем (нижнем) примере в pstn x, y и z равны нулю? Фишка в том, что при работе с вещественными числами грубо говоря при присваивании может чуть-чуть потеряться точность. У присвоенных чисел в примере степень e-026, то есть 10^-26, то есть ооочень маленькое число, т.е. можно считать, что x, y и z равны нулю. При работе с вещественными (float или double) числами довольно часто такое происходит.
В начало
Профиль : Фотоальбом : Личное Сообщение : E-mail
AAsad
Сообщение  28 Дек 2010, 13:38  Ссылка : Ответить с цитатой
Возраст: 32 Пол: Мужской  Доверенный пользователь
C нами с 03.04.2006
Репутация: 73.7

class free_boundary :
	public boundary
{
private:
	deque<cell> cells_ptr;
	deque<cell>::iterator cell_iter;
	unsigned int np;
	double Vn;
	double T;
	double S;
	static double erf(double x);
	point V;
public:
	void add_cell(deque<cell> *cluster_cells);
	void set_np(unsigned int np);
	int bondary_condition(deque<particle> *cluster_particle, double dt);
	free_boundary(point pstn, point nrml, unsigned int np, double S, double T, double alpha);
	free_boundary(void);
	~free_boundary(void);
};


class boundary
{
private:
	char type[6];
public:
	point nrml;
	point pstn;
	
	virtual int bondary_condition(deque<particle> *a, double dt = 0) = 0;
	void set_position(point a);	
	void set_normal(point a);
};


насчет нулей то там, pstn.x = -1, pstn.y = 0, pstn.z = 0;

а насчет this ща попробую разобраться.
а насчет конструктора, то вот класс point:
struct point
{
public:
	double x, y, z;
public:
	point(void);
	point(double x, double y, double z);
	~point(void);
	void print();
	double mod();
	point set(double x, double y, double z);
	friend point operator+(point a, point b);
	friend double operator*(point a, point b);
	friend point operator*(point a, double b);
	friend point operator/(point a, double b);
	friend point operator-(point a, point b);
	friend point operator!(point a);
	point vec_mult(point p1);
};

_____________________________
"Если да, конечно нет" Futurama
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение : E-mail : JabberID : ICQ
tigra564
Сообщение  28 Дек 2010, 14:16  Ссылка : Ответить с цитатой
Возраст: 40 Пол: Мужской  Доверенный пользователь
C нами с 19.08.2008
Репутация: 83.2

AAsad писал(а):
friend point operator+(point a, point b);
friend double operator*(point a, point b);
friend point operator*(point a, double b);
friend point operator/(point a, double b);
friend point operator-(point a, point b);
friend point operator!(point a);

Сходу. Тут friend не нужен: класс тот же. Friend понадобится только для деклараций типа point operator*(double a, point b)
В начало
Профиль : Личное Сообщение
Apacha
Сообщение  28 Дек 2010, 14:25  Ссылка : Ответить с цитатой
Возраст: 29 Пол: Мужской 
C нами с 16.04.2006
Репутация: 56.8

AAsad, Видимо, ошибка в this... Возможно, где-то какой-то указатель удаляется раньше времени... можно в дебагере посмотреть, какое значение this вообще имеет, и меняется ли оно по ходу выполнения... а как вы вызываете конструктор free_boundary? Можно ли полный код контруктора глянуть? и чем отличается верхний пример (который корректно выполняется) от нижнего?
В начало
Профиль : Фотоальбом : Личное Сообщение : E-mail
AAsad
Сообщение  28 Дек 2010, 14:58  Ссылка : Ответить с цитатой
Возраст: 32 Пол: Мужской  Доверенный пользователь
C нами с 03.04.2006
Репутация: 73.7

вы про картинку? если да, то это остановка на брэйкпоинте из дэбагера(VisualStudio 2010). просто я хотел показать что this->pstn не хочет становиться равной pstn. кстати сейчас понял что присваивание происходит, но почему-то позже(может из-за оптимизации VS). я просто отлавливал другой баг и наткнулся на этот баг, думал что все из-за это не хочет работать. лан пойду дальше отлавливать жуков.

з.ы. tigra564, спасибо уже исправил, хотя и так работало:)
з.ы.ы. кстати с прогой иногда вообще непонятная фигня происходит, была у меня строчка if(nrml.x > 0){...}, так там nrml.x = -1, но прога упорно лезла внутрь ифа... я так и не понял почему... видимо где-то был глюк(может даже у меня в голове)

_____________________________
"Если да, конечно нет" Futurama
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение : E-mail : JabberID : ICQ
Apacha
Сообщение  28 Дек 2010, 15:09  Ссылка : Ответить с цитатой
Возраст: 29 Пол: Мужской 
C нами с 16.04.2006
Репутация: 56.8

AAsad, да, вполне возможно, что из-за оптимизации... чтобы легче было дебажить, можно так написать:

free_boundary::free_boundary(point pstn, point nrml, unsigned int np, double S, double T, double alpha)
:
nrml (nrml),
pstn (pstn),
np (np),
...
{
...
}

Так лечгче будет понять, в какой момент инициализация атрибутов класса уже произошла
В начало
Профиль : Фотоальбом : Личное Сообщение : E-mail
tigra564
Сообщение  28 Дек 2010, 15:09  Ссылка : Ответить с цитатой
Возраст: 40 Пол: Мужской  Доверенный пользователь
C нами с 19.08.2008
Репутация: 83.2

AAsad писал(а):
может из-за оптимизации VS

Вполне возможно, что куча ваших присваиваний заменена на какой-нибудь вызов векторного копирования.

AAsad писал(а):
была у меня строчка if(nrml.x > 0){...}, так там nrml.x = -1, но прога упорно лезла внутрь ифа...

Скомпилируйте без оптимизации. Наверняка после этого отладчик будет дело показывать.
В начало
Профиль : Личное Сообщение
Рыся
Сообщение  28 Дек 2010, 18:02  Ссылка : Ответить с цитатой
Пол: Мужской  Доверенный пользователь
C нами с 15.04.2005
Репутация: 133.2

AAsad, не отлаживайте программу скомпилированную с оптимизацией — граблей мильоны. Только в крайнем случае, если поведение оптимизированной и неоптимизированной отличается.

_____________________________
Время не существует, у него нет физического носителя в природе. Его выдумал человек, чтобы измерять скорость.
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение : E-mail : JabberID
olg
Сообщение  28 Дек 2010, 19:45  Ссылка : Ответить с цитатой
Пол: Мужской 
C нами с 09.08.2007
Репутация: 92.7

По умолчанию в дебаге оптимизация отключена. Да и, вероятно, VS ругалась бы, если бы не туда пыталась писать. А точно конфигурация дебаговская? Может релизовская, и в настройках не стоит генерация отладочной информации?
В начало
Профиль : Личное Сообщение
yakta
Сообщение  15 Фев 2011, 18:15  Ссылка : Ответить с цитатой
Возраст: 30 Пол: Мужской 
C нами с 08.09.2007
Репутация: 100.9

Рассказываю быстро и внятно Есть исходники, когда компилирую... требует "JvSystemC6R.lib" Где как и откуда мне эту библиотеку родить... Честно понятия не имею! И во избежании спама! ДА к поисковой системе Гугл я обращался... Как видите... Толку чуть! Кому нужна какая инф. я с радостью поделюсь, если это поможет делу!
Среда разработки C++ Builder 2010

_____________________________
Слушать радио Power FM 320 kbps
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение : Сайт : SkypeID : ICQ
tigra564
Сообщение  15 Фев 2011, 18:59  Ссылка : Ответить с цитатой
Возраст: 40 Пол: Мужской  Доверенный пользователь
C нами с 19.08.2008
Репутация: 83.2

Да ладно, Гугль достаточно даёт. Вот, например:

http://www.developpez.net/forums/d281813/c-cpp/outils-c-cpp/cppbuilder/pb-installer-jvcl/

Парень просто нашёл, где лежит библиотека, и прописал путь до неё.

Добавлено спустя 37 минут 28 секунд:

На всякий случай вот сайт проекта JEDI, от которого эта библиотека: http://jedi.sourceforge.net/
В начало
Профиль : Личное Сообщение
yakta
Сообщение  15 Фев 2011, 20:38  Ссылка : Ответить с цитатой
Возраст: 30 Пол: Мужской 
C нами с 08.09.2007
Репутация: 100.9

Если можно выложи-те!!! библиотеки JvSystemC6R.lib и JvCoreC6R.lib я найти их ни как не могу... Плакать

_____________________________
Слушать радио Power FM 320 kbps
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение : Сайт : SkypeID : ICQ
Показать сообщения:   
На страницу «  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11  »

Unsorted   ~  Software  ~  Development and Design  ~  Помощь по С/С++

Ответить на тему

Перейти: