922 читали · 4 года назад
Простое введение в C++. Часть 2. Конструкторы и деструкторы
В этой статье мы рассмотрим, для чего в C++ нужны конструкторы и деструкторы. Проблема с инициализацией Как только мы начали работать с классами, то есть объединили данные и код в одном месте, то тут же возникает  проблема с инициализацией переменных, то есть  с заданием исходных значений. Например, в языке С мы можем создать переменную и тут же задать ей значение: int x = 5; Эта строка прямого действия — как она написана, так она и выполняется. В C++ так сделать нельзя, потому что объявление класса — это просто описание свойств класса, а выполнение возможно только в экземпляре класса. То есть...
756 читали · 7 месяцев назад
Как использовать динамический диапазон для создания потрясающих фотографий при ярком свете
Пересветы или недоэкспонирование теней уничтожают детали на снимках. В результате фотографии получаются невзрачными. Понимание динамического диапазона поможет сохранить эти детали в целости и сохранности. От неба в пейзажных фотографиях до теней в уличной фотографии. Узнайте, как получить максимальный динамический диапазон от камеры с помощью этого руководства для начинающих. Что такое динамический диапазон? Фотоаппараты не могут передать все детали сцены при слишком ярком освещении. Либо самые яркие участки превратятся в белое пятно...