Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

C++ Builder

Автор Искандер, марта 21, 2011, 15:08

0 Пользователи и 1 гость просматривают эту тему.

Искандер

"Niech żyją POLACY!! Ponieważ polacy są rasej nadczłowieków. Od nich jest przyszłość planety. Oni przeżyją nawet wojną atomowę, dlatego, że polacy są wieczni, bo chtoniczni. I dadzą potomstwo, które też będzie polakami i polkami. Niech żyjemy, hura!.." (c) Awwal12

myst

Цитата: Искандер от мая  2, 2011, 13:00
это всё щщётчики.
Лучше завести константы с названиями щётчиков: читать тяжко, да и в случае чего менять цифру потребуется только в одном месте.

Искандер

Цитата: myst от мая  2, 2011, 13:03
Лучше завести константы с названиями щётчиков
типа вместо инта стринг и далее по логике?
"Niech żyją POLACY!! Ponieważ polacy są rasej nadczłowieków. Od nich jest przyszłość planety. Oni przeżyją nawet wojną atomowę, dlatego, że polacy są wieczni, bo chtoniczni. I dadzą potomstwo, które też będzie polakami i polkami. Niech żyjemy, hura!.." (c) Awwal12

arseniiv

Нет, типа enum.

Вы хотя бы [часть C++, которой он обязан] C до конца освоили?

Искандер

Цитата: arseniiv от мая  2, 2011, 13:05
Вы хотя бы [часть C++, которой он обязан] C до конца освоили?
а то, нет конешно.
"Niech żyją POLACY!! Ponieważ polacy są rasej nadczłowieków. Od nich jest przyszłość planety. Oni przeżyją nawet wojną atomowę, dlatego, że polacy są wieczni, bo chtoniczni. I dadzą potomstwo, które też będzie polakami i polkami. Niech żyjemy, hura!.." (c) Awwal12

myst

Цитата: Искандер от мая  2, 2011, 13:04
Цитата: myst от мая  2, 2011, 13:03
Лучше завести константы с названиями щётчиков
типа вместо инта стринг и далее по логике?
Нет, конечно.

const int COUNTER1 = 1;
const int COUNTER2 = 2;
...
const int COUNTER2 = N;

или

enum counter_t{COUNTER1, COUNTER2, ..., COUNTERN};

arseniiv

Первый способ разве не нужно писать только в C? Он же не очень нравится пишущим на C++, вроде?

myst

Цитата: arseniiv от мая  2, 2011, 14:23
Первый способ разве не нужно писать только в C?
В C нет констант, есть только неизменяемые переменные. Поэтому в C для этой цели юзают макроопределения.

Цитата: arseniiv от мая  2, 2011, 14:23
Он же не очень нравится пишущим на C++, вроде?
Чозабред?

Искандер

Цитата: myst от мая  2, 2011, 14:10
Нет, конечно.
не знаю как это применить, у меня там просто рваный case
"Niech żyją POLACY!! Ponieważ polacy są rasej nadczłowieków. Od nich jest przyszłość planety. Oni przeżyją nawet wojną atomowę, dlatego, że polacy są wieczni, bo chtoniczni. I dadzą potomstwo, które też będzie polakami i polkami. Niech żyjemy, hura!.." (c) Awwal12

myst

Цитата: Искандер от мая  2, 2011, 14:30
не знаю как это применить, у меня там просто рваный case
Не понял, при чём тут case?

Искандер

Цитата: myst от мая  2, 2011, 14:33
Не понял, при чём тут case?
там наворочено таких соплей, шо я уже сам путаюсь.
"Niech żyją POLACY!! Ponieważ polacy są rasej nadczłowieków. Od nich jest przyszłość planety. Oni przeżyją nawet wojną atomowę, dlatego, że polacy są wieczni, bo chtoniczni. I dadzą potomstwo, które też będzie polakami i polkami. Niech żyjemy, hura!.." (c) Awwal12

myst

Цитата: Искандер от мая  2, 2011, 14:34
там наворочено таких соплей, шо я уже сам путаюсь.
Так тем более надо от цифири избавляться. В ней же чёрт ногу сломит.
Кстати, чтобы не нарываться на перепутывание операторов присваивания и сравнения, можно писать переменную писать справа от оператора. Тогда в случае перепутывания компилятор будет выдавать ошибку, что, мол, не lvalue в левой части.

arseniiv

Цитата: myst от мая  2, 2011, 14:27
В C нет констант, есть только неизменяемые переменные. Поэтому в C для этой цели юзают макроопределения.
Тфу, забыл, что там const написали. А чем просто список констант может быть лучше enum'а? Какие-нибудь особенные числовые значения всегда можно подписать и в нём!

Цитата: myst от мая  2, 2011, 14:40
Тогда в случае перепутывания компилятор будет выдавать ошибку, что, мол, не lvalue в левой части.
Почти всегда, но иногда (a = b) не спасёт.

RawonaM

Цитата: myst от мая  2, 2011, 14:40
Кстати, чтобы не нарываться на перепутывание операторов присваивания и сравнения, можно писать переменную писать справа от оператора. Тогда в случае перепутывания компилятор будет выдавать ошибку, что, мол, не lvalue в левой части.
Правильный компилятор и так предупреждает.

arseniiv

Компилятор не обязан предупреждать обо всём. Он должен побыстрее и покачественнее компилировать!

myst

Цитата: arseniiv от мая  2, 2011, 14:44
Тфу, забыл, что там const написали. А чем просто список констант может быть лучше enum'а? Какие-нибудь особенные числовые значения всегда можно подписать и в нём!
enum — это только целые числа.

myst

Цитата: RawonaM от мая  2, 2011, 14:46
Правильный компилятор и так предупреждает.
Не у всех включены предупреждения; не все знают, куда надо смотреть; не все понимают предупреждения. :)

myst

Цитата: arseniiv от мая  2, 2011, 14:48
Компилятор не обязан предупреждать обо всём. Он должен побыстрее и покачественнее компилировать!
Заблуждение, оплаченное реками крови.

arseniiv

Цитата: myst от мая  2, 2011, 15:08
enum — это только целые числа.
Так здесь только целые числа. И вообще, в C++ case только на целые числа. Или на плавающих тоже работает?

Цитата: myst от мая  2, 2011, 15:10
Заблуждение, оплаченное реками крови.
А я не писал «не должен ни в коем случае». И код писать сразу правильно тоже надо.

myst

Цитата: arseniiv от мая  2, 2011, 15:33
Так здесь только целые числа.
C++ не только для здесь.

Цитата: arseniiv от мая  2, 2011, 15:33
И вообще, в C++ case только на целые числа. Или на плавающих тоже работает?
При чём тут case?

Цитата: arseniiv от мая  2, 2011, 15:33
И код писать сразу правильно тоже надо.
Это умеют только сферические программисты в вакууме. Доказано C.

arseniiv

Цитата: myst от мая  2, 2011, 15:40
При чём тут case?
При том, что очень часто (и здесь) константы из enum используются в альтернативах case.

myst

Цитата: arseniiv от мая  2, 2011, 17:10
При том, что очень часто (и здесь) константы из enum используются в альтернативах case.
Очень часто по утрам чистят зубы, ичо?

Ömer

Цитата: Искандер от мая  1, 2011, 18:16
а как сделать этакое нешто, штобы решалось в реальном времени уравнение вида dv/dt = f(x, v), где интересуют координата и скорость в каждый момент времени (в данный момент времени)....
:???
arseniiv предложил использовать (wiki/ru) Метод_Эйлера . Это самый простой метод численного решения ОДУ, но он обладает рядом серьёзных ограничений.

Лучше использовать, например,  (wiki/ru) Метод_Рунге_—_Кутта (в статье есть и реализация на C++)
ya herro, ya merro

arseniiv

Поднимаю тему в целях показывания предварительных итогов голосования о векторах.

Глядите, myst: http://dxdy.ru/topic45008-45.html
(Разумеется, надо смотреть не на результаты опроса, а на сообщения в теме. ;D)

myst

Так голосование подтверждает моё мнение.

Быстрый ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.

Имя:
Имейл:
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр