WebforSelf, это и есть п. 2.
Если вам нужен доступ к этому серверу не только с этой машины - для разработки или внешних сервисов - тогда, конечно, лучше завести дешевый VPS.
WebforSelf, между виртуалкой и реальным сервером в разработке только два практических отличия:
1. До сервера дальше тянуться, когда что-то хочешь обновить.
2. Но у сервера может быть реальный доступный извне адрес.
Если вам не нужен п. 2, то незачем обеспечивать себе и п. 1.
Александр Фалалеев, если вы попробуете это "удобство" на серьезном сайте, которым реально постоянно пользуются люди - может обнаружиться, что вы сейчас занимаетесь гей-пропагандой. Или нахваливаете БДСМ. А скорее всего - и то, и другое.
WebforSelf, поднять - не проблема. В вопросе - "купить", для этого причин не вижу.
Подоконные поделки - это всякие Опенсерверы, после которых студни прибегают сюда с вопросом "а почему у меня дома работало, а на сайте - нет?".
Виртуалка - да, виртуальная машина с тем же стеком, что на сервере, для разработки и тестирования в условиях, максимально приближенным к боевым.
Большая часть озвученных вариантов - действительно масса, но скорее фекальная.
Если ТС не знает, что ему надо - значит, ничего серьезного ему не надо, так что отдельный сервер - это у него просто разгулялась фантазия.
Виртуалка решит текущие проблемы, не создав новых, в отличие от всяких подоконных поделок.
Вот, собственно, и все варианты...
Поднимать виртуалку с дебианом на сервере с дебианом?
Снапшоты - на боевой сервер?!
Все-таки удивительно глубоко врастают руки у засидевшихся на винде...
Денис Загаевский, не только инициализация. Ссылки вообще принуждают к более аккуратному коду, без предположений о том, что по какому адресу находится (и проблем, когда оно почему-либо находится уже не там ;).
Денис Загаевский, есть именно киллер-фича у указателей: разыменование. Если в этот момент в указателе не тот адрес или вовсе null - получаем сегфолт. Один из самых частых случаев ошибок в С++.
А работа со ссылками - это, по факту, работа с самим объектом, на который они указывают, без подобных сюрпризов. Все неудобства работы со ссылками - это, по факту, просто ограничение программиста, не дающее ему разложить грабли так, как ему сейчас кажется удобным.
Mikhail Osher, и уверенного владения хотя бы одним языком.
Даже не просто уверенного - а на том уровне, когда появляется отвращение к собственному коду и возникает вопрос, что с ним не так ;)
Никита Каргин, прочитать-таки внимательно главу "Конструкторы" учебника и не придумывать странного. Ни одна конструкция *new в вашем коде просто не имеет смысла.
Никита Каргин, так это не какая-то хитрость или навык, это учебник.
new - принудительный вызов конструктора с выделением динамической памяти.
Просто при объявлении Simplex simplex вызовется тот же самый конструктор, только на стеке. А вы:
- создаете объект, вызывая его конструктор
- разыменуете указатель на него, вызывая конструктор копирования
- и ничего больше с этим указателем не делаете, так что происходит утечка памяти.
Дичь же.
DollyPapper, инкапсуляция - это и есть отделение внешней логики объекта от внутренней.
Вызывая любой метод объекта, вы говорите с ним на языке высокого уровня "смени цвет", "измени скорость".
Внутри же методов - низкий уровень: присвоить переменной значение, что-то обновить, что-то пересчитать. Вы этого не видите. Вот когда вы снаружи лезете на этот низкий уровень, ковыряясь в каждой переменной - это нарушение инкапсуляции.
Легко проверить нарушение вопросом, можно ли переписать ВСЕ внутренности класса, оставив только публичные его методы, и не нарушив при этом работы всего кода. Если при переписывании сломается код, полагающийся на конкретную реализацию класса, или вы не можете ничего переписать, потому что все приколочено гвоздями к интерфейсу - инкапсуляции нет.
Если вам нужен доступ к этому серверу не только с этой машины - для разработки или внешних сервисов - тогда, конечно, лучше завести дешевый VPS.