Обновить
4
0

Пользователь

Отправить сообщение

Похоже на Zig

Извините, я новичок в Си и в Плюсах, я изменил макоподстановку, и макрос заработал также, как и функция:

#include <iostream>

struct A
{
    A() { std::cout << "A()" << std::endl; }
    ~A() { std::cout << "~A()" << std::endl; }
};

#define MACROS() do { \
    A a; \
} while(false)

void Function()
{
    A a;
}

void UseMacros()
{
    std::cout << "Используем макрос" << std::endl;
    MACROS();
    std::cout << "Конец использования макроса" << std::endl;
}

void UseFunction()
{
    std::cout << "Используем функцию" << std::endl;
    Function();
    std::cout << "Конец использования функции" << std::endl;
}


int main() {
    UseMacros();
    std::cout << "----------------" << std::endl;
    UseFunction();
    return 0;
}

Вывод:

[?2004l
Используем макрос
A()
~A()
Конец исп�льзования макроса
----------------
Используем функцию
A()
~A()
Конец использования функции
[?2004h

В этом коде макрос с функцией также работают одинаково:

#include <iostream>

struct A
{
    A() { std::cout << "A()" << std::endl; }
    ~A() { std::cout << "~A()" << std::endl; }
};

#define MACROS() ({ \
    A a; \
})

void Function()
{
    A a;
}

void UseMacros()
{
    std::cout << "Используем макрос" << std::endl;
    MACROS();
    std::cout << "Конец использования макроса" << std::endl;
}

void UseFunction()
{
    std::cout << "Используем функцию" << std::endl;
    Function();
    std::cout << "Конец использования функции" << std::endl;
}


int main() {
    UseMacros();
    std::cout << "----------------" << std::endl;
    UseFunction();
    return 0;
}

А где: "Теперь необязательно добавлять перед словом 'rust' 'blazingly fast'"?

Rust - это заботливый родитель, который говорит, что можно делать, а что нельзя. Он похож на неопытного родителя, потому что запрещает слишком много, но он постоянно набирается опыта и постепенно учится общаться с разработчиком, давая ему больше свободы. Это идеальный баланс между производительностью и удобством.

C++ - это естественный отбор; свободный мир, где ты можешь создать как рай, так и ад, добро и зло. Он позволяет тебе делать все, включая возможность выстрелить себе в ногу. Ты никогда не будешь уверен, что делаешь все правильно, но всегда можешь посоветоваться с другими разработчиками, чтобы узнать, как они построили свой "велосипед". C++ один из лучших языков с точки зрения практической производительности.

Haskell - это опытный, но старый родитель - дедушка (отец Rust), бывший профессор, который всегда поможет и расскажет что-нибудь интересное из своего прошлого (начало ML и функционального программирования), поможет советами (классы типов), но не будет мешать. С ним всегда интересно, но никто не воспринимает его всерьез - для всех он просто дед, пережиток прошлого и история. Потомки обращаются к нему за помощью в теоретической части (удобство языка).

Что же они по вашему должны были выбрать? Rust - язык быстроразвивающийся, проблем всё меньше, а новых фич больше. Да и что там с асинхронщиной? Уже анонсировали стабилизацию асинхронных функций в трейтах, так что единственный существенный аргумент против Rust скоро станет неактуальным.

Гуглил, но единственный совет это обновить gradio до последней версии, но это не помогло

Спасибо за статью! Но у меня проблема: после перехода по ссылке *.gradio.live меня встречает белый экран, как это решить?

Спасибо за статью! Можете сказать что за редактор и шрифт в нем!

Информация

В рейтинге
6 149-й
Зарегистрирован
Активность