Size: a a a

cxx.Дискуссионная

2020 February 26

АК

Александр Караев in cxx.Дискуссионная
Александр Вольнов
Если getStr() возвращает String, то вызовется эта перегрузка: const String& StringOf(const String& value) {return value;}
бабах
источник

АК

Александр Караев in cxx.Дискуссионная
серьезно,

String f() { return "q"; }
const String& StringOf(const String& value) { return value; }

const auto& dangling = StringOf(f());
источник

АВ

Александр Вольнов in cxx.Дискуссионная
Александр Караев
серьезно,

String f() { return "q"; }
const String& StringOf(const String& value) { return value; }

const auto& dangling = StringOf(f());
И с какой целью ты явно присваиваешь временный объект ссылке? Конечно хорошо чтобы компилятор такое поймал и выдал ошибку, но всё равно непонятно, зачем такое делать?
источник

АК

Александр Караев in cxx.Дискуссионная
Александр Вольнов
И с какой целью ты явно присваиваешь временный объект ссылке? Конечно хорошо чтобы компилятор такое поймал и выдал ошибку, но всё равно непонятно, зачем такое делать?
минуточку - если мне функция возвращает ссылку, я ожидаю, что она не висячая
источник

АК

Александр Караев in cxx.Дискуссионная
String f() { return "q"; }
String StringOf(String value) { return value; }

const auto& dangling = StringOf(f());

вот такой код полностью корректный, например
источник

N

Neargye in cxx.Дискуссионная
Александр Караев
минуточку - если мне функция возвращает ссылку, я ожидаю, что она не висячая
+
источник

N

Neargye in cxx.Дискуссионная
пусть уже лучше значение вовзрашает
для оптимизаций в общем случае есть move, rvo + скоро nrvo
источник

AZ

Alexander Zaitsev in cxx.Дискуссионная
Александр Вольнов
Кстати, кто-нибудь пробовал дебажить мою либу в Visual Studio? У меня там кастомные визуализаторы, которые показывают кучу информации вплоть до имени потока, который держит мьютекс залоченным. Даже STL так не умеет)
Правда в других IDE с отладкой дела хуже, чем в STL, потому что там никаких визуализаторов пока нет.
нет, потому что она нахуй никому не сдалась
источник

АВ

Александр Вольнов in cxx.Дискуссионная
Neargye
пусть уже лучше значение вовзрашает
для оптимизаций в общем случае есть move, rvo + скоро nrvo
Эта оптимизация не прокатит нигде кроме собственно временных объектов. Что если я хочу туда передать переменную или параметр функции и мне не нужно лишнее копирование?
Я согласен, что у меня косяк и его нужно пофиксить, и рассуждаю, как это лучше сделать, чтобы было корректно и в то же время оптимально. C++ продлевает время жизни ссылок на временные объекты, но с ссылками, возвращёнными функцией StringOf это не прокатывает. Есть ли способ зафорвардить ссылку на временный объект так, чтобы C++ продлил время жизни?
источник

/dev/urandon ¯\_(ツ)_/¯ in cxx.Дискуссионная
b7e89d55aa08a289aa48277386e6ff1d
Что делать, если я пишу на го?
/ban
источник

G

Group Butler [beta] in cxx.Дискуссионная
источник

/dev/urandon ¯\_(ツ)_/¯ in cxx.Дискуссионная
Till Schneider
@urandon подскажет
подсказал
источник

AZ

Alexander Zaitsev in cxx.Дискуссионная
Александр Вольнов
Эта оптимизация не прокатит нигде кроме собственно временных объектов. Что если я хочу туда передать переменную или параметр функции и мне не нужно лишнее копирование?
Я согласен, что у меня косяк и его нужно пофиксить, и рассуждаю, как это лучше сделать, чтобы было корректно и в то же время оптимально. C++ продлевает время жизни ссылок на временные объекты, но с ссылками, возвращёнными функцией StringOf это не прокатывает. Есть ли способ зафорвардить ссылку на временный объект так, чтобы C++ продлил время жизни?
нет такого способа
источник

TS

Till Schneider in cxx.Дискуссионная
/dev/urandon ¯\_(ツ)_/¯
подсказал
👍
источник

d

disba1ancer in cxx.Дискуссионная
Anton Vertver
я за то, чтобы мы напрямую с ascii работали
Давай сразу машинные коды
источник

W

Wild_Wind in cxx.Дискуссионная
Oleg Kizilov
Кстати, я тут сталкера под линуксом запустил.
ТЧ или ЗП?
источник

OK

Oleg Kizilov in cxx.Дискуссионная
Wild_Wind
ТЧ или ЗП?
ЗП
источник

OK

Oleg Kizilov in cxx.Дискуссионная
ТЧ вроде пока движок не умеет, а ЧН только учится.
источник

W

Wild_Wind in cxx.Дискуссионная
Нативно, через опесурсный движок или через вино?
источник

OK

Oleg Kizilov in cxx.Дискуссионная
Wild_Wind
Нативно, через опесурсный движок или через вино?
Нативно
источник