Страница 1 из 1

Подключаемые библиотеки

Добавлено: 01 мар 2024, 14:29
ya
Библиотека ввода-вывода на экран
#include <iostream>

Код: Выделить всё

 std::cout << vec << std::endl;
Вектор
#include <vector>

Код: Выделить всё

#include <iostream>
#include <string>
#include <vector>

template<typename T>
std::ostream& operator<<(std::ostream& os, const std::vector<T>& vec)
{
    for (auto& el : vec)
    {
        os << el << ' ';
    }
    return os;
}

int main()
{
    std::vector<std::string> vec = {
        "Hello", "from", "GCC", __VERSION__, "!" 
    };
    std::cout << vec << std::endl;
}

Сужение (конверсия) переменных с плавающей точкой
#include <iomanip>

Код: Выделить всё

#include <iomanip>
std::cout << std::setprecision(20);

Библиотеки форматирования текста
(Манипуляторы ввода/вывода)
#include <ios>
#include <iomanip>
https://ru.cppreference.com/w/cpp/io/manip
https://ru.cppreference.com/w/cpp/io/manip/setw
Для вывода таблиц:

Код: Выделить всё

// отформатирует вывод строк в столбцах по правому краю с отступом заполнения 10,10 и 5 процентов ширины экрана
int col_width {10};
std::cout << std::right; // форматирование по правому краю экрана
std::cout << std::setw(col_width) << "Lastname" << std:setw(col_width) << "Firstname" << std:setw(5) << "Age" << std::endl;
std::cout << std::setw(int); // Ширина столбца
std::cout << std::right; // форматирование по правому краю
std::cout << std::left; // форматирование по левому краю
std::cout << std::setfill('-'); // символ заполнения между столбцами, в данном случае: тире
std::cout << std::showpos; // включение отображение знака плюс в положительных числах
std::cout << std::dec; // отображение целого числа в десятеричной системе исчисления
std::cout << std::showbase; // Покажет значение базы: 0x - для восьмеричных
std::cout << std::oct; // отображение целого числа в восьмеричной системе исчисления
std::cout << std::hex; // отображение целого числа в шестнадцатиричной системе исчисления
std::cout << std::uppercase; // вывод символов в верхнем регистре
std::cout << std::setprecision(int); // отображение точности вывода числа с плавающей запятой
std::cout << std::showpoint; // отображение принудительную точку для числа с плавающей запятой
std::cout << std::internal; // внутреннее выравнивание для чисел со знаком
ios1.jpg
ios2.jpg
Сброс всех настроек форматирование до значений по умолчанию:

Код: Выделить всё

std::cout.unsetf(std::ios::scientific | std::ios::fixed);
Числовые ограничения
#include <limits>
https://ru.cppreference.com/w/cpp/types/numeric_limits
std::numeric_limits<T>::min() - минимальные функции
std::numeric_limits<T>::max() - максимальные функции
std::numeric_limits<T>::lowest() - низкие функции
T - заполнитель для типа минимальной/максимальной точки соответствия

Математические операции
#include <cmath>
https://en.cppreference.com/w/cpp/header/cmath
std::floor() округление в меньшую сторону
std::ceil() округление в большую сторону
std::abs() вычисление абсолютного числа
std::cos() вычисление косинуса
std::exp() вычисление экспоненциального числа
std::log(double) вычисление логарифма по основанию e (в какую степень нужно возвести)
std::log10(double) вычисление логарифма по основанию 10 (в какую степень нужно возвести)
std::pow(int,int) возведение числа в степень
std::sqrt(int) извлечение квадратного корня

Re: Подключаемые библиотеки

Добавлено: 05 июл 2024, 09:47
ya
#include <gl.h>

https://stackoverflow.com/questions/3933027/how-to-get-the-gl-library-headers

Код: Выделить всё

#include <gl\gl.h> 
#include <gl\glu.h> 
#include <gl\glaux.h>
linux

Код: Выделить всё

apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev

Код: Выделить всё

$ dpkg -S /usr/include/GL/gl.h 
mesa-common-dev: /usr/include/GL/gl.h
win

Код: Выделить всё

//OpenGL
#pragma comment(lib, "opengl32")
#pragma comment(lib, "glu32")
#include <gl/gl.h>
#include <gl/glu.h>
glut32.lib, glut.h, glut32.dll

Re: Подключаемые библиотеки

Добавлено: 15 окт 2024, 10:27
ya
boost

Код: Выделить всё

sudo apt-get install g++ git libboost-atomic-dev libboost-thread-dev libboost-system-dev libboost-date-time-dev libboost-regex-dev libboost-filesystem-dev libboost-random-dev libboost-chrono-dev libboost-serialization-dev libwebsocketpp-dev openssl libssl-dev ninja-build