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

Сообщение Re[3]: Чем современные шаблоны лучше макросов? :) от 23.01.2022 10:52

Изменено 23.01.2022 10:56 σ

Re[3]: Чем современные шаблоны лучше макросов? :)
N>Я вот тут наблюдаю один вполне себе серьёзный важный проект. Уровень — C с классами. Люди — умеют свою тематику, серьёзный телеком.
Что значит "умеют"? Вызубрили порядок передачи пакетов и значения их полей при подключении клиентского устройства к провайдерскому оборудованию?

N>Геттер вида string getX() { return x_; } где "string x_"; — норма. А рядом вдруг uint8& getY() { return y_; } Const и noexcept, понятно, у обоих не стоит. Впрочем, поскольку это всё в конфигурировании (а не в hot path), всем пофиг.

Дэ, видал C++-код, написанный так называемыми "экспертами в своей области". Вполне реально было увидеть что-нибудь вроде:
return std::move(std::vector<pair<int, int>>{ std::move(std::make_pair(1, 1)) });
в функции с возвращаемым типом std::vector<pair<int, int>>.

N>Реально, "широкие народные массы" сейчас в районе C++11, не сильно выше.

Реально, "широкие народные массы" до C++ вообще допускать нельзя.
Re[3]: Чем современные шаблоны лучше макросов? :)
N>Я вот тут наблюдаю один вполне себе серьёзный важный проект. Уровень — C с классами. Люди — умеют свою тематику, серьёзный телеком.
Что значит "умеют"? Вызубрили порядок передачи пакетов и значения их полей при подключении клиентского устройства к провайдерскому оборудованию?

N>Геттер вида string getX() { return x_; } где "string x_"; — норма. А рядом вдруг uint8& getY() { return y_; } Const и noexcept, понятно, у обоих не стоит. Впрочем, поскольку это всё в конфигурировании (а не в hot path), всем пофиг.

Дэ, видал C++-код, написанный так называемыми "экспертами в своей области". Вполне реально было увидеть что-нибудь вроде:
return std::move(std::vector<pair<int, int>>{ std::move(std::make_pair(1, 1)) });
в функции с возвращаемым типом std::vector<pair<int, int>>.
Или что-нибудь вроде
template<typename T>
struct BaseCase
{
    static_assert(sizeof(T) == 0, "shall not be instantiated");
};

N>Реально, "широкие народные массы" сейчас в районе C++11, не сильно выше.
Реально, "широкие народные массы" до C++ вообще допускать нельзя.