CodeInside:
> лучше в функцию getStudentData передать уже созданный объект Student по ссылке
1. Или объект создается снаружи и передается внутрь функции по ссылке или указателю.
2. Или создается внутри функции на куче (через new), но тогда обязательно удаляется (delete) снаружи там, куда был возвращен.
3. Или используются "умные указатели". Это в принципе лучший вариант. Но если вы не знакомы с таким подходом, то придется изучить много теории, в двух словах все не объяснить.
> почему нормально выводятся данные при первом cout?
undefined behavior означает все, что угодно, в том числе внезапную нормальную работу в определенную фазу луны.
Хранить данные разных пользователей под одним аккаунтом Dropbox - это самоубийство!
Мне даже сложно представить менее безопасный или более опасный подход.
От такой дыры в защите не спасет никакое прятание паролей.
Тем более, что попытка что-то спрятать в общедоступном месте бессмысленна сама по себе.
Денис Загаевский: Компилятор как раз проверяет, чтобы из константных методов не было доступа на запись к полям класса, а так же вызовов любых неконстантных методов. Иногда это вызывает на первый взгляд странные ошибки компиляции, но в итоге выясняется, что компилятор как раз спас вас от трудноуловимой логической ошибки. Поэтому стоит пользоваться модификатором const везде, где только это возможно. Это же рекомендует Скотт Майерс.
Еще существует модификатор mutable для полей, которые могут быть доступны на запись из константных методов. Но не стоит злоупотреблять этим. Единственное оправданное применение mutable полей - это кеширование результатов вычислений в константных объектах.
Насчет возврата константы: это может имеет смысл для объектов, и не имеет смысла для примитивных типом.
Лев:
>не хватает моих нынешних ресурсов для запуска?
Вы шутите? У меня XP (чуть заточенная) в VirtualBox грузится быстрее, чем у коллеги за соседним столом Семерка без виртуалки. При том, что у нас даже не Core а бюджетные Pentium-ы. Наличие VirtualBox в работе практически не чувствуется (если не запускать 3D-игры).
У вас проблема в драйверах. Надо ставить ОС сразу под виртуалку (это касается именно Windows). Перенос уже установленной системы может обернуться долгими танцами с бубном.
Попробуйте загрузиться в safe mode и поотключать все драйвера, которые как-то связаны с предыдущим железом. - Это просто как вариант, гарантий, разумеется, никаких.
Лев:
1. Сменить существующий нельзя ,но можно добавить новый и перебросить туда все диски из старого: Контекстное меню в Storage Tree -> Add IDE Controller
2. Количество процессоров в виртуалке > 1, так? Выставьте 1 CPU (хотя бы чтобы загрузиться и проверить, что дело именно в этом).
4. На IDE можно менять.
tartarelin: Согласен. Обычно стараюсь так не поступать. Но тут тема процессорных переходников оказалась нераскрыта без моего "комментария", и у мимо проходящего человека могло сложиться впечатление, что переходники это что-то, чего не существует в природе. Я решил исправить ситуацию, так как автор вопроса уже получил что хотел, а Тостер существует не только для автора вопроса.
В других случаях иногда мои комментарии к вопросам оказываются решениями для самих авторов, но я не оформляю ответы, так как случай очень частный, мало интересен для других, и одна короткая реплика (да/нет/так/не_так) вряд ли тянет на ответ.
leaningless: Такие переходники закончились еще в '99 или вскоре после того. Еще чуть позже в начале нулевых у AMD были какие-то переходники для близких моделями на разных слотах (эту история я в деталях не помню). Но это все единичные случаи. В наше время таких примеров не существует.
Алексей Константинов: По поводу ключа в облаке: ОК, мы его шифруем, а пароль храним... в KeePass, который невозможно открыть без этого ключа! Нет, мы храним его в голове, а генерируем 16-значную цифробуквенную последовательность в генераторе в KeePass, но забыв всего одну цифру мы теряем все! Или мы сочиняем пароль из собственной фамилии и даты рождения (как это делают секретарши), тогда мы практически дарим облаку наш файл-ключ, а вместе с ним и всю базу.
Чем все это лучше варианта без файла ключа, кроме того, что этот вариант боле запутанный?
И еще: если в облаке хранится единственный экземпляр ключа, то его утеря означает потерю всей базы (а потеря доступа к облаку иногда случается по причинам далеким от криптографии). Если ключ во множестве копий валяется на разных носителях, то этот вариант опять же аналогичен варианту вообще без файла-ключа на одном пароле.
Allows KeePass to use RSA certificates from the Windows certificate store as master key source.
Во-первых, я не пользуюсь Windows.
Во-вторых, использовать в качестве ключа для KeePass открытый ключ, который сгенерирован на основе закрытого, который лежит в файле рядом, ничем не безопаснее чем просто открывать KeePass секретным ключем из файла (со всеми вышеприведенными недостатками). Только не говорите, что "Windows надежно хранит..." - если ключ не надо каждый раз заново вводить, значит он где-то лежит в открытом виде. Еще хуже если в генерации открытого ключа как-то участвуют какие-то уникальные параметры окружения, тогда получаем: слетела ОС -> была переустановлена -> сгенерированны новые ключи -> эти ключи не открывают базу KeePass! Как вообще можно доверять такой закрытой и запутанной вещи как ОС Windows?