На всякий случай, чтобы не быть голословным. В 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
Иногда действительно хочется отложенную инициализацию.
Но это не вариант, непонятно на что ссылаться. Мне неизвестно как создать объект с выделением памяти и вызовом деструктора, но без вызова конструктора.
Ручками не обязательно. У вас неверная запись. Нужно использовать один из вариантов (строчный или блочный): $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
Связано это было со сплющеностью геоида и, соответственно, уменьшением силы тяжести на экваторе.
Небольшая поправка. Разница в ускорении силы тяжести между полюсами и экватором составляет около 5 см/сек^2. Около 2/3 этой разности возникает за счет центробежного ускорения на земном экваторе и около 1/3 — за счет сплюснутости Земли.
Эта фича продиктована выбранным нами в данный момент курсом на улучшение окружения для авторов, которые вкладывают своё время и силы в написание статей для ресурса.
Каждый раз ожидаю, что хотя бы чуть-чуть улучшился редактор. Но нет, по-прежнему узкое окошко, высотой в треть экрана, и я увеличиваю его в в инспекторе. Возможно, хороший редактор прикрутить очень сложно, но каждый раз при желании написать статью, я вспоминаю, как приходилось писать в другом редакторе, а потом выправлять здесь. Может быть, все замечательно для новостных заметок, но для полноценных статей с оглавлением, картинками и формулами, очень много времени убивается на расстановку и перепроверку всех тегов. Например, в предпросмотре, я вижу, что тег воткнут неправильно/некрасиво/не тот, приходится искать его, править, и искать место в предпросмотре где я остановился. Либо можно сначала читать весь предпросмотр и выписывать на листочек там где нужно править. Хотя, конечно, статьи в 50 страниц можно разбивать на части, но у этого способа свои недостатки.
> которые ведут нормальную жизнь
А у пользователей соцсетей ненормальная жизнь? Где критерий нормальности? Вы сейчас точно так же попытались выразить свою уникальность: «Видите, я нормальный, меня нет в соцсетях (а еще я веган)».
Ну, да, тогда printf захватит недостающий аргумент из стека, что явно было предназначено не для него. Но если есть возможность изменить литерал в статической памяти, то ничего не мешает натворить кучу других нехороших дел. Подправить таблицу виртуальных методов, например.
WinHEX, значит, устанавливает свой драйвер?
Хороший комментарий. Вот, что интересно: если вы разбирались с этим — заданы ли четкие требования к работе copy elision? Например, в таком случае:
На всякий случай, чтобы не быть голословным. В main:
теперь смотрим foo:
Иногда действительно хочется отложенную инициализацию.
На секунду появилась мысль написать так:
Но это не вариант, непонятно на что ссылаться. Мне неизвестно как создать объект с выделением памяти и вызовом деструктора, но без вызова конструктора.
$inline$\hat {K}$inline$
$$display$$\hat {K}$$display$$
1. Открывающая и закрывающая скобки расположены на одном уровне. Это довольно естественно. В GUI, перейдя курсором на закрывающую скобку, легче найти подсвеченную открывающую и глазами визуально выделить блок.
2. Кода влезает меньше, но он не такой плотный, опять же легче ориентироваться в нем. И меньшее количество умещенного кода на экране стимулирует разбивать большие функции.
Каждый раз ожидаю, что хотя бы чуть-чуть улучшился редактор. Но нет, по-прежнему узкое окошко, высотой в треть экрана, и я увеличиваю его в в инспекторе. Возможно, хороший редактор прикрутить очень сложно, но каждый раз при желании написать статью, я вспоминаю, как приходилось писать в другом редакторе, а потом выправлять здесь. Может быть, все замечательно для новостных заметок, но для полноценных статей с оглавлением, картинками и формулами, очень много времени убивается на расстановку и перепроверку всех тегов. Например, в предпросмотре, я вижу, что тег воткнут неправильно/некрасиво/не тот, приходится искать его, править, и искать место в предпросмотре где я остановился. Либо можно сначала читать весь предпросмотр и выписывать на листочек там где нужно править. Хотя, конечно, статьи в 50 страниц можно разбивать на части, но у этого способа свои недостатки.
А у пользователей соцсетей ненормальная жизнь? Где критерий нормальности? Вы сейчас точно так же попытались выразить свою уникальность: «Видите, я нормальный, меня нет в соцсетях (а еще я веган)».
аналогично для остальных.
Фаулер «Рефакторинг»:
Макконнелл «Совершенный код»: