IMHO стоит добавить:
1) Сссылку на ссылку
2) Часто реализуемые разработчиками компиляторов расширения языка, проблема то что они реализуются везде по разному. Такие как property и closure и д.р.
3) Добавить все нововведения стандарта C99, иначе C/C++ совсем разойдуться (хотя возможно это и к лучшему)
Вроде больше ничего не приходит в голову...
WolfHound
Честно говоря, я не понял некоторые пункты , название о многом не говорит...
Но кое что мне
кажется не нужно, конечно IMHO
Анонимные методы
Я думаю не стоит этого делать, т.к. Функтор — это артефакт STL и воодить его в язык, как то странно.
Что мешает написать обычный функтор???
Да и с реализацией такого механизма возможно возникнут проблемы...
Добавить в STL сигнатуры типа
Опять таки протеворечит духу STL, итераторы созданы чтобы абстрагироваться от контейнеров, а вы наоборот...
Да и кто мешает написатьэту функцию... Или если очень хочется такой define:
#define BEG_END( arg ) arg.begin(), arg.end()
исоответственно
for_each( BEG_END( T ), f );
typeof
Я наверно не совсем понял, но так есть же уже typeid и dynamic_cast...
Интерфейсы
А что мешает сделать так
[code]
struct ISome1
{
virtual void Some1()=0;
virtual void Some2()=0;
};
struct ISome2: public
virtual ISome1
{
virtual void Some3()=0;
virtual void Some4()=0;
};
struct CSome1: public
virtual ISome1
{
};
struct CSome2: public ISome2
{
};
struct CSome:public CSome1, public CSome2
{
virtual void Some1(){}
virtual void Some2(){}
virtual void Some3(){}
virtual void Some4(){}
};
int main()
{
ISome1* some=new CSome(); //теперь ISome1 только один, все работает
}
Posted via RSDN NNTP Server 1.6 beta