Почему потоковый width для изменения принимает параметр типа std::streamsize
, в то время как манипулятор setw принимает простой int
? Насколько я понимаю, они делают одно и то же, а значит, и типы параметров должны быть одни.
Допустим у меня есть проект про гидропонику. Для выращивании растений важна температура, и она фигурирует почти везде(например датчики температур). Следовательно я должен выразить что такое температура. Обычно мы выражаем это числом( столько то градусов по цельсий), поэтому я ее без проблем могу определять так(хоть и для тепературы достаточно и байта):
using Temperature = long; //мое право
а потом написать класс датчика:
class Sensor {
std::vector<Temperature> v;
Temperature max;
public:
//...
void push(const Temperature t) { v.push_back(t); }
void set_max_temperature(const Temperature max_t)
{
max = max_t;
}
//...
};
Таким образом я сделал понятным свой код и для себя и для пользователей, что мой класс имеет дело с температурой. Если я вместо Temperature
использовал
бы long
, то никто не понел бы что я имел ввиду(может это количество дырок в кармане или что то еще...).
В файле <iostream>
, по такой же логике, введен беззнаковый тип std::streamsize. Он может быть определен например так:
using streamsize = long long;
А манипулятор потока setw
определен в другом файле. Это просто функция, возвращающая манипулятор, для которого перегружены операторы ввода и вывода, и она может принимать любой тип, который без потери может неявно преобразоваться в std::streamsize. Это может быть в том числе и int
, постольку поскольку в манипулятор мы передает количество... Но, насколько я знаю, она принимает какраз таки std::streamsize
, просто мы можем спокойно туда передать любой целочисленный тип, в том числе и int
это ошибка cppreference на деле везде streamsize
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Можно ли как-то проинициализировать n элементов std::vector<int> по-умолчанию, те
Надо при помощи генератора случайных чисел сформировать 10 чисел в файлеНайти сумму максимального и минималного числа в файле
Есть ли возможность запускать js код в файлеts? Ибо когда копирую свой js код и вставляю в файл
Помогите пожалуйста! Пишу тетрис на JS и все время выдает ошибку! Я новичок, поэтому не пинайте за мой код