Pull to refresh
553
0.3
Филипп Володин @Fil

Пользователь

Send message

Тему, конечно, поддерживаю. Да, было бы неплохо скомпоновать материал по этой теме, да хотя бы из кучи полученных комментариев.

Я совершенно не знаком с бустовской библиотекой. Про chrono написал потому что ее использует Thread support library. Если нужно не только измерение интервалов, то да, лучше выбрать что-то другое.

Может вам на Тостер? Это все-таки не статья.

А почему вас не устраивает так:


std::vector<int> values { 0, 1, 2, 3, 4, 5 };
for (auto i : values)
    std::cout << i;

Эта статья, конечно, баловство, примерно как запустить Doom на микроволновке :) Но это потому что очень интересно сделать что-то нестандартное, то что мало кто делал. Но программирование как хобби есть у многих профессиональных программистов, ведь таким образом можно заниматься очень увлекательными вещами, которые на работе скорее всего делать не придется. Кто-то пишет компилятор с нуля вместо готовых анализаторов, другой ОС просто так, или свою реализацию сортировки вместо библиотечной и т. д.
Я программист C++.

и зрение, которое можно скорректировать до 20/20 линзами.

Я не знал, что за 20/20


В англоязычных странах остроту зрения, как правило, определяют по таблице Снеллена и обычно обозначают простой дробью: в числителе стоит расстояние, с которого проводят исследование (обычно 20 футов ~ 6 метров), а в знаменателе — расстояние, с которого эмметропический глаз видит знак, правильно прочитанный исследуемым (20/20 — эквивалентно 1,0; 20/200 ~ 0,1).

Эмметропия — нормальная рефракция глаза, способность оптической системы глаза чётко различать удалённые предметы.

Обновил ;)

Спасибо, обновил!

Поддерживает. Только нужно включить "lock pages in memory" в групповых политиках.

> In Windows Server 2003 SP1, user-mode access to the \Device\PhysicalMemory object is not permitted. All forms of access (read, write) are refused when the \Device\PhysicalMemory object is accessed from a user-mode application. Access to the \Device\PhysicalMemory object is refused regardless of the user context (Administrators, Users, Local System, etc.) the application is running in.

В WinHex работало потому что XP:
> Access to physical RAM under Windows XP (32-bit) only

WinHEX, значит, устанавливает свой драйвер?

Хороший комментарий. Вот, что интересно: если вы разбирались с этим — заданы ли четкие требования к работе copy elision? Например, в таком случае:


T foo()
{
    T t;
    if (rand() % 2)
    {
        T t;
        return t;
    }
    else
    {
        return t;
    }
}

На всякий случай, чтобы не быть голословным. В main:


main:
        lea     rax, [rbp-17]  //выделили место на стеке
        mov     rdi, rax       //передаем адрес через rdi
        call    foo()

        lea     rax, [rbp-17]
        mov     rdi, rax
        call    T::~T()        //вызов деструктора для того же адреса

теперь смотрим foo:


foo:
        mov     QWORD PTR [rbp-8], rdi  //копирование туда-сюда
        mov     rax, QWORD PTR [rbp-8]
        mov     rdi, rax
        call    T::T()                  //вызов конструктора для адреса
                                        //в rdi в стеке main

Иногда действительно хочется отложенную инициализацию.

На секунду появилась мысль написать так:


void bar(T& t)
{
    t.T::T();
}

Но это не вариант, непонятно на что ссылаться. Мне неизвестно как создать объект с выделением памяти и вызовом деструктора, но без вызова конструктора.

Спасибо, важное замечание! Добавлю в статью.
Ручками не обязательно. У вас неверная запись. Нужно использовать один из вариантов (строчный или блочный):
$inline$\hat {K}$inline$
$$display$$\hat {K}$$display$$

У меня закончились оправдания, почему я не пишу на Хабр :) Спасибо!
Когда я перешел на новую работу, мне пришлось переучиваться и помещать скобку на новой отдельной строке. И теперь считаю, что так лучше.
1. Открывающая и закрывающая скобки расположены на одном уровне. Это довольно естественно. В GUI, перейдя курсором на закрывающую скобку, легче найти подсвеченную открывающую и глазами визуально выделить блок.
2. Кода влезает меньше, но он не такой плотный, опять же легче ориентироваться в нем. И меньшее количество умещенного кода на экране стимулирует разбивать большие функции.
На 50-й секунде Мимас занимает около 1/50 части экрана по горизонтали. Если принять угол обзора по горизонтали = 90°, то угловые размеры спутника = (PI/2)/50 = 0.0314 рад. Для такого маленького угла это почти тангенс, т. е. Диаметр_мимаса/расстояние = 400км / расстояние = 0.0314, значит расстояние = 12700 км. До него мы долетели примерно за 9 сек, значит скорость = 1400 км/с. Конечно, это грубая прикидка.
22. Можно подождать, когда часы покажут точно ЧЧ: ММ: СС с дискретизацией один раз в секунду.
Мне кажется, причина в том, что выдержать точный шаг дискретизации невозможно. Т.е, если нам нужно засечь время 00:00:01, то велика вероятность перепрыгнуть: 00:00:00.999, а следующий отсчет 00:00:02.000

Information

Rating
1,909-th
Location
Казань, Татарстан, Россия
Date of birth
Registered
Activity