PyroRed: Про готовое решение не скажу. Но скажу, как бы я это делал сам.
1. Разбираешься, как получать данные от акселерометра
2. Стукаешь пальцем по телефону, записывая показания
3. Трясёшь телефон, кидаешь его на кровать, вращаешь в воздухе
4. Изучаешь сохранённые показания, чтобы выявить отличия постукиваний от прочих девиаций. Интуитивно понятно, что это будут резкие, кратковременные ускорения примерно в противоположных направлениях (отклонение от удара и возврат)
5. На основании изученных данных составляешь шаблон: Если в течении двух секунд смартфон три раза дёрнулся примерно в одну сторону с ускорением 0.7, то это пользователь три раза по нему стукнул.
Очевидно, что показания акселерометра нужно фильтровать, отбрасывая очень маленькие и очень большие перегрузки. Направления сравнивать скалярным умножением векторов (чтобы угол между ними узнать). Как-то так.
bobrovskyserg: Лучше! Я даю им картинку спасательного круга!
У Рихтера прекрасно написано, как перечислить окна, как получить текст из Win95-контролов и как сделать инъекцию кода в приложения, использующих более современные контролы, для которых придётся реализовывать маршалинг строк между процессами. Всё описано простым и понятным языком. Достаточно знать Windows API и C.
Виктор: Про Sourceforge уже написали, там и репозиторий поднять можно и сайтик с тикетами и ссылками на скачивание... И гитхаб, опять же. Но я не в курсе, какой объём диска предоставляется, могут быть проблемы с большими файлами.
Я сделал свой сайт, просто потому что захотелось сделать свой сайт. Ну и "для солидности".)
Сергей: Помимо анализа статических выражений (нужно раз в миллион лет и то не всем), в Решарпере, не увидел никакой разницы. Так что тут дело вкуса и привычки. Может VAX это тоже умеет, но мой тот единственный раз ещё не случился... Так что "лучше" и "хуже" тут не применимы. Различие между ними только в названиях и порядке пунктов в менюшках.
Павел Малышев: Во втором примере нет перегрузки, но есть полиморфный вызов метода дочернего класса, через указатель на объект базового класса. Это и есть полиморфизм в С++.
А если во втором примере убрать слово virtual из объявления методов, то не будет ни перегрузки, ни полиморфизма.
Кролик Пушистый: Если ищете не джуна, то всё резко упрощается! Спросите об имеющемся опыте завершённых проектов, какие нетривиальные решения пришлось найти и реализовать. Будет неплохо связаться с прежним работодателем или ихней службой безопасности, чтобы получить отзыв о нём, как о работнике. Если с прежней работы его ушли из-за полной некомпетентности, то можно и не тратить время на собеседование.
В общем, если джуниоров спрашивают о том, что именно они (якобы) знают, то более опытных нужно спрашивать о том, что они УЖЕ сделали.
Finesse: Невозможно передать метод через аргумент, который должен быть указателем на функцию. А вот если это шаблонный параметр, то можно передать функтор и решить твою проблему.
Если уж прям позарез необходимо, то придётся через глобальную переменную с функцией взаимодействовать, но не забывай о потоковой безопасности.
Xano: Создание бессбойной функции swap полезно в 100% случаев, если при создании/копировании объекта может случиться исключение. Дополнительный объект это с одной стороны плохо, а с другой стороны, если что-то пойдёт не так, то не будет нарушен инвариант исходного объекта, т.к. копирование происходило не прям в него, а в копию.
Xano: На мой взгляд с приведением типа читабельнее. Но с оператором более явно говорит о том, что же тут делается.
Я обычно делаю через swap, т.к. больше плюшек получаешь. Спасибо Саттеру.
Юрий Ярош: Зачем сравнивать текстовый редактор (пусть и наикрутейший) и IDE?
Ещё лет пять-десять назад я бы предпочёл vim, но сейчас intellisense настолько продвинутый, что любой текстовый редактор сосёт... Ну, на мой взгляд.)
Не говоря уже об интегрированном отладчике.
Юрий Ярош: Нет. Просто сравнивать VS и Eclipse не в качестве компиляторов, а в качестве IDE - глупо. VS на три головы выше. С QTCreator вообще смысла нет сравнивать, так всё очень своё.
Антон Марченко: Установи Intel HAXM, если поддерживается. В Eclipse он скачивается, но сам не ставится, в андроид студио так же быть может.
У меня запуск x86 образа происходит примерно за минуту (процессор i7 и включенный intel HAXM).
1. Разбираешься, как получать данные от акселерометра
2. Стукаешь пальцем по телефону, записывая показания
3. Трясёшь телефон, кидаешь его на кровать, вращаешь в воздухе
4. Изучаешь сохранённые показания, чтобы выявить отличия постукиваний от прочих девиаций. Интуитивно понятно, что это будут резкие, кратковременные ускорения примерно в противоположных направлениях (отклонение от удара и возврат)
5. На основании изученных данных составляешь шаблон: Если в течении двух секунд смартфон три раза дёрнулся примерно в одну сторону с ускорением 0.7, то это пользователь три раза по нему стукнул.
Очевидно, что показания акселерометра нужно фильтровать, отбрасывая очень маленькие и очень большие перегрузки. Направления сравнивать скалярным умножением векторов (чтобы угол между ними узнать). Как-то так.