Re: вызывать функцию/метод с именами аргументов
От: Erop Россия  
Дата: 21.04.16 09:06
Оценка:
Здравствуйте, sci_reseacher, Вы писали:

_>ну например как в Python

_>
>>>> def funct(a,b): return a**2+b**3
_>... 
>>>> funct(a=2,b=1)
_>5
_>



Стандартный способ это делать
1) в С:
передавать параметры структурой.
struct f_params params = {};
params.a = 2;
params.b = 1;
f( &params );


2) В С++
вместо сложной функции с хитрыми параметрами, сделать класс, каждый объект которого эквивалентен одному вызову функции:
f_mechanism f;
f.SetA( 2 );
f.SetB( 1 );
f.Run();


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