Здравствуйте. Видать весеннее обострение
хотя мысли такие уже давно появляются, но не выдерживают одиночества...
Смотрю на все эти T&&, constexpr и тп новые фенечки, и кажется, что нужно не добавлять это, а просто... убрать const из языка.
int i = 0; // value
mutable int i;
struct foo; // mutable public class foo
#pragma cpp2003 // legacy code
Сразу предупреждаю — на многие вопросы я еще не знаю ответа
Не хороните сразу в философии, в первую очередь интересно мнение тех, кто возможно будет писать на таком языке
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth
А вот что бы сильно хотелось:
using(X x = getSomeX())
{
. . .
}
в качестве аналога этого:
{ X x = getSomeX(); {
. . .
} }
и
mutable(X const x)
{
x.setSomething();
}
y = x.getSomething();
в качестве аналога этого:
X _x;
_x.setSomething();
X const& x = _x;
y = x.getSomething();
Здравствуйте, Roman Odaisky, Вы писали:
RO>Т. е., const по умолчанию?
Даже с замашкой на constexpr. Когда в школе меня учили бейсуку, я думал что функциональные языки — это С
Наш ответ Чемберлену:
for ( int i =n; i; --i ) // рекурсивный вызов анонимной функции :)))
{
++i; // error
}
RO>Да, это нужно было сделать. И this должен был быть ссылкой.
RO>Нет, в C++ это не будет сделано никогда.
Да я догадываюсь. Хотя, это противоречит идеологии С++ платить только за используемое. Для некоторых class генерится ужасный код, тот же std::vector можно разместить в 3х регистрах, а порой и меньше...
И делать так хочется сейчас:
std::vector<std::unique_ptr<int> > v;
v.push_back(std::unique_ptr<int>( new int ));
Но велдосипеды не хочется.
Поэтому написал вот такую бредятину
Re[2]: unique_ptrАвтор: gear nuke
Дата: 02.05.08
(хм, c throw() надо поступить так же?)
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth