Re[12]: Индекс по типу
От: _hum_ Беларусь  
Дата: 01.04.16 11:05
Оценка:
Здравствуйте, Erop, Вы писали:

E>Здравствуйте, _hum_, Вы писали:


__>>насколько я себе представлял, вы можете только построить на основе уже существующих свои (наподобие, использовать class CFixedPointReal{uint16_t m_val; <набор операторов>}, чтобы организовать тип вещественных чисел с фиксированной точкой. но это уже будет не фундаментальный тип)


E>Вот, скажем, IntRange&lt;5, 65000&gt;
Автор: Erop
Дата: 29.04.08
в твоём понимании фундаментальный или нет?


конечно, нет, потому что его значения строятся на базе значений типа int (вы не сможете определить этот тип без использования int)

__>>разве часто? а можно пример?

E>Ну там база к потомку, брат к брату через dyn_cast и т. д...

это только для объектов наследуемых классов. да и то, наверное, считается не лучшим кодом (для этого есть механизм виртуальных функций)

E>>>А ещё вот такая конструкция, как std::vector<int>& в std::vector<const int>& тебе?


__>>в каком смысле? при чем здесь вектор?


E>Ну если хочу так привести, то что делать?


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

__>>>>нет. простые (базовые, фундаментальные) — это те, которые не предполагают в своем определении задействования других типов.

E>Это оно:
enum FType { zerro, one, two };
?


нет, не оно. enum использует подоснову int.

__>>есть же вроде uint64_t

E>Ну он же где-то есть, а где-то надо то, что ты называешь нефундаментальный писать...
E>Обычный С++-код такую операцию переносит легко...

речь не об этом, а о том, что есть кирпичики (фундаментальные типы), на базе которых можно построить все остальное.
и достаточно наделить эти кирпичики расширенными возможностями (как то идентификацией типов), чтобы это можно было протащить, при надобности, дальше.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.