C++\CLI это богопротивная надстройка над нативным c++, давайте выясним а зачем вам в принципе формы? Если вас интересует работа с формами под нативным c++, то возвожно стоит посмотреть в сторону Qt framework?
Алексей Майрин, конструктор перемещения, это move семантика из 11 стандарта. Для начала разберитесь с rvalue и lvalue, существенная разница между конструктором копирования и перемещения, заключается в том, что конструктор копирования передается объект копия которого создается в новом. Он имеет смысл только если у вас есть динамически выделенная память в объекте (яркий пример указатели и ссылки), иначе его лучше не объявлять. В таком случаи будет он сгенерирован по умолчанию, а именно при копировании объектов будет произведена их "побитовая" копия. Конструктор перемещения же, не создает новый инстанс объекта, он просто "двигает" данные по указанному адресу, это работает скрыто от ваших глаз. И передача туда уже идет не по константной ссылке, а по &&.
Скорее всего к первой? Я понимаю что вопрос специфический, но есть идеи где смотреть справку? Магия-магией, но кто-то же наколдовал, хочется разобраться, что бы тоже практиковать темное искуство.
Игорь Джулай: Тогда один вопрос снят, окей, держим всю БД в ОЗУ.
Но что до запросов пользователей. Допустим на сервере будем хранить только nic, passwordHash, lastIp. сообщения будут идти напрямую from client1 to client2. То есть сервер нужен только чтобы залогинится и узнать ip c которого заходит конкретный user что бы узнать на какой ip отправлять данные. Это снижает все запросы к серверу только к запросам:
Авторизации
getIp конкретного user-а
Но всё же на каждого клиента придется инстанциировать по одному объекту QTcpSoket-а, на время подключения и передачи данных. Можно этого как-то избежать, есть идеи?
Уточню вопрос, мне интересно с точки зрения производительности, стоит ли поднимать паралельно с сервером СУБД, что бы снять нагрузку с процесса сервера, таким образом что бы приложение сервера просто общалось с СУБД запросами.
Да, я тоже так примерно представляю, понимаю что онлайн в чате будет только я) Но хочется практически дать возможность обрабатывать одовременный доступ больше 1000 пользователей. И держать БД в ОЗУ мне кажется не самой лучшей затеей. По этому и полез к СУБД.
15432: Да какой уж там. Так не работает даже пустой класс. Вылетает в рантайм, причем на моменте загрузки приложения, не важно где расположены дерективы выделения памяти, значит вылетает ещё до инициализации (кстати, какие есть этапы загрузки приложения под виндой?).
John_Nash: да какая разница где инициализировать?! Вопрос в том, что я не могу создать поле что будет содержать мой класс. Ни указатель на него, ни ссылку, ни просто статическое. Ещё раз повторю вопрос, как подключить свой класс, написанный на чистом C++, в класс формы на что написана на C++/CLI (да уже нашёл название этого мракобесия).
Ахахаха, конечно ясно, но я вроде спросил не можно ли смешивать) Меня интересует как связать два класса, мой и класс формы. Где инстанциировать свой класс. как пользоваться контролами. В QT для этого можно пользовать сигналы и слоты, связывая функции своего класса с какими-то действиями на форме. Но а тут как?
А что такое meneged я сказал в вопросе, эта пристройка меня никак не волнует.