> Потому что C++ CX помимо звездочек и амперсандов добавляет еще символ ^ (для ссылок на менеджет объекты) :) и так от кракозябл плюсов иногда рябит в глазах.
мб стремятся к этому https://ru.wikipedia.org/wiki/Brainfuck Ж)
INait
> Я сам предпочитаю использовать Visual Studio, без доп штучек, 2015 версия вполне годится из коробки.
Немножко доставило )
Что то начитался я про плюсы, и "минусов" оказалось несчетное количество, в той же вики... Напрашивается сей вывод, лучше знать чистый С, для системного программирования и один "новомодный" - для быстрого прикладного. Но мы не ищем легких путей;)
ЗЫ. Спасибо за коменты Всем!
Zamir
А у меня, возможно, вообще эффект утёнка.
Бог миловал, пронесло меня мимо бейсика. Изучал в школе и в хабзе паскаль, потом сразу на С++.
хабзе паскаль?)) это что то новенькое
Zamir
> хабзе паскаль?))
В хабзе, прошу прощения. Turbo Pascal 5.0.
Повезло с преподами.
А сейчас какой-то ABC Паскаль учат школоте.
Никак не уловлю разницу м/у указателями плюсов и ссылками. Ссылки тоже не копируют объект, а лишь адрес (может не адрес, но точно и не значение), тогда зачем эти указатели нужны?
Zamir
> Никак не уловлю разницу м/у указателями плюсов и ссылками. Ссылки тоже не
> копируют объект, а лишь адрес (может не адрес, но точно и не значение), тогда
> зачем эти указатели нужны?
ненужны они, но я, правда, пользуюсь =)
Ссылки для более легкого синтаксиса, они как указатели, но куча ограничений
За что я люблю плюсы - так это за то, что их особо никто и не знает)
ссылки, указатели rvalue, lvalue различие всех видов кастов, слово const, линкинг, темлпейты (к примеру, dot-template) ... кто во всём этом разбирается полностью? :)
Ну так-то можно const и не использовать (в большинстве случаев), но подразумевается, что если ты его не забудешь, то компилятор будет компилировать более быстрый код
Anders333
> Я вот всегда указатели и ссылки путаю, точнее их определение.
По сути это одно и то же. Разница в способе доступа к членам типа:
SomeType &x = ... // x - ссылка на экземпляр SomeType x.member = ... SomeType *x = ... // x - указатель на экземпляр SomeType x->member = ...
В этом плане ссылки в C++ несколько безопаснее указателей и безопаснее переменных ссылочного типа в C#, для которых null - вполне обычное значение. NullReferenceException в C# все видели.
Zamir
> Трудно оценить Милость Бога, не попав самому под влияние бейсика)
А шо не так с Бейсиком?
10 PRINT "Hello, World!" 20 GOTO 10
>>В этом плане ссылки в C++ несколько безопаснее указателей и безопаснее переменных ссылочного типа в C#, для которых null - вполне обычное значение. NullReferenceException в C# все видели.
Отуж про безопасность не надо :))
В C# для безопасности есть:
1) оператор "?.": nullObject?.Foo();
2) [CanBeNull] аннотации из решарпера — благодаря тому, что шарп не плюсы - он легко статически анализируем (быстро) и анализатор типа решарпера покажет все места где возможен NRE.
3) Скоро в некотором виде добавят опциональный налл-сейфити из коробки в розлин
Скоро - это в 8.0, может быть, если повезёт. А ещё 7.0 не вышел.
Тема в архиве.