Перейти к содержанию
    

Лидеры

  1. vov4ick

    vov4ick

    Участник


    • Баллы

      1

    • Постов

      434


  2. варп

    варп

    Участник


    • Баллы

      1

    • Постов

      2 043


  3. Baza

    Baza

    Свой


    • Баллы

      1

    • Постов

      797


  4. jcxz

    jcxz

    Свой


    • Баллы

      1

    • Постов

      13 759


Популярный контент

Показан контент с высокой репутацией 03.06.2024 во всех областях

  1. да самому стало интересно.... // Online IDE - Code Editor, Compiler, Interpreter #include<stdio.h> #include <iostream> template<typename... Args> void send(int firstByte, Args... args) { auto print = [](auto& arg) { std::cout << arg << " "; };//лямда, дла печати каждого аргумента std::cout << (firstByte == 0 ? "code0()" : "code1()") << std::endl; (print(args), ...); std::cout << std::endl; } // Обертка для sendCommand template<typename... Args> void sendCommand(Args... args) { send(0, args...); } // Обертка для sendData template<typename... Args> void sendData(Args... args) { send(1, args...); } int main() { // Примеры использования std::cout << "sendCommand(0x12) -> "; sendCommand(0x12); // вызовется send(0, 0x12) std::cout << "sendCommand(0x12, 0x34) -> "; sendCommand(0x12, 0x34); // вызовется send(0, 0x12, 0x34) std::cout << "sendCommand(0x12, 0x34, 0x56) -> "; sendCommand(0x12, 0x34, 0x56); // вызовется send(0, 0x12, 0x34, 0x56) std::cout << "sendData(0x12, 0x34) -> "; sendData(0x12, 0x34); // вызовется send(1, 0x12, 0x34) // Примеры с массивами и строками std::cout << "sendCommand(\"hello\") -> "; sendCommand("hello"); // вызовется send(0, "hello") unsigned char buf[3] = {0x01, 0x02, 0x03}; std::cout << "sendData(buf) -> "; sendData(buf); // вызовется send(1, buf) return 0; } Проверил тут на с++17. выхлоп
    1 балл
×
×
  • Создать...