Рабочие заметки — различия между версиями
Материал из Deeptown Manual
Root (обсуждение | вклад) м (→TODO) |
|||
Строка 6: | Строка 6: | ||
* Поля в расширениях теперь можно делать | * Поля в расширениях теперь можно делать | ||
* Пространства имен | * Пространства имен | ||
+ | * Перезагрузка функций и операторов теперь (мб временно) невозможно. ИМХО стоит написать примеры того, как это предполагается обходить, потипу: | ||
+ | <source lang="kpp"> | ||
+ | class MyClass { | ||
+ | public: | ||
+ | operator MyClass + (x) { | ||
+ | switch(class_of(x)) { | ||
+ | case 'std/int': { /* MyClass + int */ } | ||
+ | case 'std/string': { /* MyClass + string */ } | ||
+ | default: { /* MyClass + (x as MyClass) */ } | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </source> | ||
== Замечания по самому тексту == | == Замечания по самому тексту == |
Версия 10:26, 29 марта 2008
TODO
- переделать for циклы (объявление управляющей переменной на месте)
- Динамические переменные теперь быстрые (убрать предупреждения)
- Постфиксные условия if, unless
- Поля в расширениях теперь можно делать
- Пространства имен
- Перезагрузка функций и операторов теперь (мб временно) невозможно. ИМХО стоит написать примеры того, как это предполагается обходить, потипу:
<source lang="kpp"> class MyClass { public:
operator MyClass + (x) { switch(class_of(x)) { case 'std/int': { /* MyClass + int */ } case 'std/string': { /* MyClass + string */ } default: { /* MyClass + (x as MyClass) */ } } }
} </source>
Замечания по самому тексту
- коммент в разделе Введение,_или_краткий_обзор#Здравствуй,_мир!
TODO компилятора
- возможность объявлять класс до его реализации, аналогично forward declarations функций