Информация об изменениях

Сообщение Re[2]: Синтаксический сахар: x in (a,b,c) от 18.02.2020 9:07

Изменено 18.02.2020 9:09 GhostCoders

Re[2]: Синтаксический сахар: x in (a,b,c)
Здравствуйте, GhostCoders, Вы писали:

GC>написать шаблонную функцию in от переменного числа аргументов?


#include <iostream>
using namespace std;

template<typename T>
inline bool in(T value, T last)
{
    if (value == last)
        return true;
    return false;
}

template<typename T, typename... Args>
inline bool in(T value, T first, Args... args)
{
    if (value == first)
        return true;
    return in(value, args...);
}

int main() {
    if (in(5, 1, 2, 4, 6, 7))
        cout << "5 in 1, 2, 4, 6, 7" << endl;
    else
        cout << "5 not in 1, 2, 4, 6, 7" << endl;
    if (in(4, 1, 2, 4, 6, 7))
        cout << "4 in 1, 2, 4, 6, 7" << endl;        
    else
        cout << "4 not in 1, 2, 4, 6, 7" << endl;        
    return 0;
}
Re[2]: Синтаксический сахар: x in (a,b,c)
Здравствуйте, GhostCoders, Вы писали:

GC>написать шаблонную функцию in от переменного числа аргументов?


#include <iostream>
using namespace std;

template<typename T>
bool in(T value, T last)
{
    if (value == last)
        return true;
    return false;
}

template<typename T, typename... Args>
bool in(T value, T first, Args... args)
{
    if (value == first)
        return true;
    return in(value, args...);
}

int main() {
    if (in(5, 1, 2, 4, 6, 7))
        cout << "5 in 1, 2, 4, 6, 7" << endl;
    else
        cout << "5 not in 1, 2, 4, 6, 7" << endl;
    if (in(4, 1, 2, 4, 6, 7))
        cout << "4 in 1, 2, 4, 6, 7" << endl;        
    else
        cout << "4 not in 1, 2, 4, 6, 7" << endl;        
    return 0;
}