плюсовым? А как же обратная совместимость, или как его там
Не 100%
Ее уже давненько нету,
На 99% всё скомпилится, но есть 1%, но для новичка на это не нужно заморачиваться.
В 90 % скомпилируется, ну и всегда можно в режиме С собрать, в принципе, эффект один и тот же почти
А если хочется си но с лямбдами... вдруг кто занимается таким извращением....
так можно сделать си с std::vector, умными указателями и ооп
Одно дело промышленное программирование где-то в конторе, которой проще купить железку, другое, если тебе придётся что-то максимально эффективное создавать, там уже не до того будут ли пацаны над тобой смеяться, тут лекции были классного чувака, он показывал что C++ сортировка работает быстрее чем Cишная, потому-что C++ компилятору достаточно инфы чтобы заинлайнить делегат для сортировки. Всегда отталкиваешься от ситуации, даже go to может быть полезен
"он показывал что C++ сортировка работает быстрее чем Cишная" - с этим к инфоцыганам.
Любители сишки в треде
Важен не сам факт, а его причина
Я любитель С с классами и только по необходимости юзать что-то понавороченнее.
Ну то есть вы фанатик
Я просто к С и С++ подхожу, как к одному из инструментов и не более.
Ну тогда зачем разбрасываться про инфоцыганей?
при чем тут инфоцыгане? Чувак показал и рассказал почему)) Вообще какую-то хрень ты сморозил...
Ничего нового: фанаты сишки отрицают реальность, где их манера кидать void* мешает оптимизациям
Не манера, а, часто, отсутствие альтернатив
Язык просто древний
Вот та самая лекция с тестом https://youtu.be/Bym7UMqpVEY?t=2624
В общем пишу софт на рабе по автоматизации на своём языке. Там есть указатели и ссылки. С указателями одно удовольствие работать, а с ссылками непонятно для меня как правильно и зачем. Я так параллели провожу между С (указателями), С++(ссылками).😁😎😂🙈👍
Ссылка, можно считать, альтернативное имя для переменной Она не может изменять своё значение и не может быть нулевой В С++ так. И со ссылками как раз удобнее работать как раз из-за этих вот свойств
Только с ссылками из-за этих свойств проблемы с хранением в классах и в контейнерах
В классах точно никаких проблем с этим. Ну а вот с контейнерами и каким-нибудь optional, да, есть неудобства. Впрочем, это не самая частая потребность к счастью
Че расчекался?
Если совсем преисполнился, то reference_wrapper есть
Непонятно что непонятного в ссылках
Указатель может указывать на два разных объекта, переприсваивание адресов двух разных объектов. Ссылка должна быть инициализирована всегда одним объектом, ссылка удерживает адрес этого объекта. Ссылка не должна быть разыменована, поэтому ссылка используется с тем же синтаксисом, что и объект. Мы можем назначать только значения. Указатель имеет свой собственный адрес, а ссылка имеет адрес объекта. Указатель имеет собственный адрес, поэтому на него могут ссылаться другие указатели и содержит адрес объекта. Ссылка имеет точно такой же объект, точно такой же адрес объекта. По умолчанию все указатели указывают на ноль 0, содержать нулевой адрес. Примечание: Использовать ссылки и отдавать предпочтение ссылкам, вместо указателей стоит, если не хотите изменять несколько объектов с помощью одного указателя. Это связано с тем, что нельзя менять адрес ссылки, а указателю можно переназначать адреса объектов.
Выглядит как набор непонятных тезисов, которые ещё и не все верные
Как правильно работать с объектами на которые созданы ссылки? Изменение значения объектов можно проводить напрямую в этом случае или же только косвенно через изменение значения ссылки?
Это специально написано в виде тезисов, чтобы можно было внести свои изменения. Поправьте, где не так, внесите свои замечания.
А какая разница, есть ли ссылки на объект или нет? Работай как с обычным объектом Ровно то же можно ведь и про уаазатель сказать. А как тогда работают с объектами, на который есть указатель?
> Ссылка не должна быть разыменована Ну там разыменование как бы под капотом есть. Можешь асм глянуть на годболте
Значение ссылки менять нельзя
С указателями все понятно, вопрос был задан про ссылки. Вот и спросил, что можно ли изменить значение объекта, присвоить другое значение, если уже создана ссылка? Или значение нужно менять через ссылку? Если изменить значение переменной, то автоматически изменится значение ссылки, но останется прежний адрес?
int a = 5; int* pa = &a; a = 42; assert(*pa == 42); int b = 6; int& rb = b; b = 42; assert(rb == 42); Вот в чем вообще различие то? Его нет.
Так нафиг они тогда нужны, если это всего лишь копия? Точно так же можно наплодить копию объектом, переменных и с ними проводить операции.
Нет, ты не так понял. Ты не можешь изменить то, куда ссылается ссылка. А с указателем такое можно провернуть
У ссылки есть значение - value, есть адрес - add. Речь значит шла про адрес.
А что это тогда по твоему?) Понятно, что не в буквальном смысле копия, но по факту содержит значение переменной.
Докажите, что вы не бот
Обсуждают сегодня