База Hintsage

Современный C++

Возможности стандартов C++11 и новее и идиоматичный код.

Практика

Вопросы: Современный C++

Разберите механизм побитового преобразования в C++20: что гарантирует этот код, чем результат отличается от числового преобразования и какие ограничения нужно учитывать?

#include <array>
#include <bit>
#include <cstddef>

int main() {
    float value = 1.5f;
    auto bytes = std::bit_cast<std::array<std::byte, sizeof(float)>>(value);
    float copy = std::bit_cast<float>(bytes);
}
Программирование C++Современный C++Разработчик C++ системного программного обеспечения

Объясните механизм фиксации места вызова и исправьте обёртку так, чтобы в журнале сохранялась строка из main, а не из info.

#include <iostream>
#include <source_location>
#include <string_view>

void log(std::string_view text,
         std::source_location loc = std::source_location::current()) {
    std::cout << loc.function_name() << ':' << loc.line()
              << " " << text << '
';
}

void info(std::string_view text) {
    log(text);
}

int main() {
    info("failure");
}
Программирование C++Современный C++Разработчик библиотек на C++

Показано 120 из 50