Геометрические 2D примитивы
От: Аноним  
Дата: 22.12.02 03:15
Оценка:
Геометрические примитивы здесь
Re: Геометрические 2D примитивы
От: McSeem2 США http://www.antigrain.com
Дата: 22.12.02 16:42
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Геометрические примитивы здесь


Во-первых, лучше бы представиться. Во-вторых, нафига все это надо? Особенно "ценны" операции ++ и -- для точки. В третьих, негоже начинать имена с подчеркивания — это место уже занято! В четвертых, нет большого смысла делать щаблоны с параметрами <int>, <double>, и т.д, поскольку более сложные алгоритмы для целочисленной и плавающей арифметики различаются принципиально. Слышали о таком понятии, как "числовая устойчивость" (numerical stability)?
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Re[2]: Геометрические 2D примитивы
От: c-smile Канада http://terrainformatica.com
Дата: 22.12.02 17:45
Оценка:
Здравствуйте, McSeem2, Вы писали:


А>>Геометрические примитивы здесь


MS>Во-первых, лучше бы представиться.

Исправляюсь.
MS>Во-вторых, нафига все это надо? Особенно "ценны" операции ++ и -- для точки.
например:
   void canvas::fill(rect r,color c)
   {  
     ++r.corner;
     FillRect(PRECT(r),brush(c));
   }

или
  void expand_rect(rect& r) { --r.origin; ++r.corner; }


MS>В третьих, негоже начинать имена с подчеркивания — это место уже занято!

Да ну!!?? "Моя корова. Что хочу то и делаю" (С) Кот Матросскин.

MS>В четвертых, нет большого смысла делать щаблоны с параметрами <int>, <double>, и т.д, поскольку более сложные алгоритмы для целочисленной и плавающей арифметики различаются принципиально.

Ну кроме int есть еще char и short...

MS>Слышали о таком понятии, как "числовая устойчивость" (numerical stability)?

Слышал, Вы мне верите?
Також слышал про explicit template specialization...
Re[3]: Геометрические 2D примитивы
От: KonstantinA Россия  
Дата: 22.12.02 18:48
Оценка:
Здравствуйте, c-smile, Вы писали:

MS>>В третьих, негоже начинать имена с подчеркивания — это место уже занято!

CS>Да ну!!?? "Моя корова. Что хочу то и делаю" (С) Кот Матросскин.

17.4.3.1 Reserved names
...
If the program declares or defines a name in a context where it is reserved, other than explicitly allowed by this clause, the behavior is undefined.

17.4.3.1.2 Global names
Certain sets of names and function signatures are always reserved to the implementation:
— Each name that contains a double undescore (__) or begins with an undescore followed by an uppercase letter (2.11) is reserved to the implementation for any use.
- Each name that begins with an undescore is reserved to the implemantation for use as a name in the global namespace.(note 165)

165) Such names are also reserved in namespace ::std (17.4.3.1)

Прикольно... Получается, что все в порядке, так как эти классы лежат в своем namespace'е.
namespace gool {
...
};


Вот если бы этого не было, тогда было бы нехорошо...
Re[4]: Геометрические 2D примитивы
От: c-smile Канада http://terrainformatica.com
Дата: 22.12.02 19:06
Оценка:
Здравствуйте, KonstantinA, Вы писали:

KA>Прикольно... Получается, что все в порядке, так как эти классы лежат в своем namespace'е.


Угу.

Strictly speaking, a leading underscore followed by a digit or lower-case letter is legal in your own namespaces (but never in the global namespace or ::std): 17.4.3.1.2/1 [lib.global.names].
отсюда: http://oakroadsystems.com/tech/cppredef.htm#Groups
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.