ЦитироватьНо это просто map, а не реальный объект?Просто map. Хотя фактический параметр может быть struct-map, где есть некоторое сходство с сишными структурами.
Цитата: Тайльнемер от февраля 10, 2012, 04:19Видимо, потому что (isLeaf = true) само по себе вне контекста это rvalue-выражение. Напр., bool b = (isLeaf = true). Немного двусмысленно получается: то ли мы передаём именованный аргумент, то ли assign'ируем переменную некую isLeaf к true и передаём её значение в функцию...
Непонятно, зачем было так извращаться.
Цитата: hurufu от февраля 10, 2012, 10:01Тут очень много профита:
но насколько часто это надо?
Цитата: Python от февраля 10, 2012, 14:54Но это просто map, а не реальный объект?
В Clojure можно использовать список аргументов как структуру с именованныи полями (map):
ЦитироватьВ каких-то языках это есть? Я, как понимаю, в Лиспе можно рассмотреть это таким образом, но Лисп работает со списками и s-выражениями, а не реальными объектами...В Clojure можно использовать список аргументов как структуру с именованныи полями (map):
foo(int var, int* var2, mytype var3);
struct bar
{
int var;
int * var2;
mytype var3;
}
bar foobar = new bar;
foo(foobar);
Цитата: Алексей Гринь от февраля 10, 2012, 00:19В C#'е в выражениях типа
Напр.: new Node(false, false). Что все эти були значат? Нипанятна. А если использовать именованные аргументы, то они очень похожи на поля объекта: new Node(isLeaf = true, isVisible = false).
Страница создана за 0.041 сек. Запросов: 20.