Здравствуйте, bnk, Вы писали:
AO>>Т.е. C# проще в разработке(чем С++), т.к. современный?
bnk>Не то чтобы он "современнее" (вот в следующем году уже опять новый стандарт C++ будет),
bnk>просто C# несколько проще (лаконичнее), и многие "грабли", на которые наступали поколения программистов, убраны.
В целом проще, но не лаконичнее.
Вот например, на Python можно сделать
так (будет работать для любых типов имеющих соответствующие операторы):
def add(x, y):
return x + y
def sub(x, y):
return x - y
def apply(f, *args):
return f(*args)
print(apply(apply, apply, apply, add, 1, 2))
print(apply(apply, apply, sub, 11, 2))
Аналог на C++:
auto add = [](auto x, auto y)
{
return x + y;
};
auto sub = [](auto x, auto y)
{
return x - y;
};
auto apply = [](auto f, auto... args)
{
return f(args...);
};
print(apply(apply, apply, apply, add, 1, 2));
print(apply(apply, apply, sub, 11, 2));
А вот что будет на "лаконичном" C#?