Micktu 😬
Micktu 😬
вот важный вопрос
Nikita
Anonymous
Rem или Ram?
Nikita
Micktu 😬
это все ява
Anonymous
Anonymous
Emilia is a shit
Micktu 😬
your waifu is shit
Micktu 😬
Anonymous
Anonymous
Поэтому я учу С++
Anonymous
Поясните чо такое rvalue-ссылки
rostislav
ссылка на результат а+б гдето в памяти)
Anonymous
Жоско
Anonymous
Очень похожа на обычную ссылку, но может ссылаться на временный анонимный объект
🦥Alex Fails
🦥Alex Fails
Micktu 😬
но...
Micktu 😬
фстрим же не поддается копированию...
🦥Alex Fails
Rvalue ref юзни тогда
Micktu 😬
короче я принесу код чтобы вопрос был понятнее
std::ifstream& DatFile::OpenFile(const DatFileEntry* entry)
{
std::ifstream file(_path, std::ios::binary);
file.seekg(entry->Offset);
return file;
}
std::ifstream& file = gf.GetResource()->OpenFile();
Micktu 😬
и вопрос: легально ли это или мне просто повезло, что реф акутален?
Micktu 😬
вот пример
Micktu 😬
поясни мне как сделать правильно
🦥Alex Fails
Rvalue ref юзни тогда
Потому что возвращать оьычные ссылки и укащатели на локальные обхекты это уб
Micktu 😬
я это уже поменял на возврат ifstream *
Micktu 😬
который я беру как isftream *file = &openfile(
Micktu 😬
Micktu 😬
с мувом еще не знаеом
Micktu 😬
могу даже эксплиситли указать мув
Micktu 😬
но не догадался
🦥Alex Fails
Micktu 😬
ну да, я так и не делаю
Micktu 😬
они умирают как стак отматыается
Micktu 😬
толку-то
Micktu 😬
в общем, спасибо, попробую мув потом
Micktu 😬
мой вопрос выше по сути и был вопросом "а не перемещает ли компилятор сам, когда я передаю реф"
Micktu 😬
только я его плохо сформулировал
Micktu 😬
ну и ты ответил, что надо по значению, спасяп
Micktu 😬
да как и в любом другом виртуальном пространстве - загрузить ее в качестве библлиотеки
Micktu 😬
за яву не скажу, в сишарпе это тривиально, т.к. любую ассембли можно подгрузить как библиотеку
Micktu 😬
@AlexFails еще скажи, есть ли способ сформулировать это элегантнее
Micktu 😬
wstr_t id;
id.reserve(0x44);
...
file->read((char*)id.c_str(), 0x44 * sizeof(wchar_t));
id.resize(wcslen(id.c_str()));
Andrew
Почему теперь джава? Как же с++
Micktu 😬
а именно привести строку к буферу
Micktu 😬
wstr_t - это std::wstring, ничего военного
Anton
Напиши батник/скрипт для запуска.
Anton
Обычно параметры задаются в их батах/скриптах
Daniil
а в я яве надо в switch { case... } писать break ?
Купи
хотя бы ссылку поменять
Micktu 😬
брейк надо всегда писать, чтобы не проваливаться
Daniil
прописать переменную окружения на один и тот же джвм
Daniil
Micktu 😬
в си-синтаксисе надо
Daniil
да, в яве надо(((
Micktu 😬
более того сишарп например не позволяет не писать брейк
Micktu 😬
он пидар
Micktu 😬
потому чтоо огда проваливаться удобно
Daniil
https://gobyexample.com/switch
Micktu 😬
проваливаюсь каждый день, чувствую себя прекрасно
Daniil
алсо в яве оказывается тоже можно не писать и на удивление оно работает. Но вообще надо, да
Daniil
лучше бы break сделали необязательным, а вот ввели бы какое-нить gonextept
Micktu 😬
это все историческая значимость ширины лошадиной жопы
Daniil
для любителей провалиться
Micktu 😬
так вышло
Micktu 😬
никто не будет менять си-синтаксис без серьезных на то причин
🦥Alex Fails
Micktu 😬
это все сложнее
Micktu 😬
мне кажется один дефайн и то практичнее раз уж так
Micktu 😬
ну ладно, понял что не делаю хуйни, главное
Micktu 😬
это разумный способ
🦥Alex Fails
🦥Alex Fails
Это атрибут,которым вы явно прмечаете то, что тут вам break не нужен
Anonymous
Люди я у мамы маковод теперь я мак поставил уииии
Anonymous
Daniil
Daniil