LINUX.ORG.RU

C++ ссылки и указатели

 , ,


0

2

Читаю труп страуса и не могу понять вот что(видимо автор для меня слишком гениталенгениален): в каких конкретно случаях блин предпочтительнее указатели а в каких ссылки? Из его книги я лишь понял что можно делать и то, и другое, но ни слова о том, в каких случаях что предпочтительнее использовать... Герберт Шилдт и тот доходчивее объясняет чем создатель, и эту книгу тут лоровцы еще новичкам тычут, троллинга ради видимо...

Допустим, есть некий метод с аргументом int, как его правильнее объявить, что бы потом юзать в других классах, варианты: 1.

void NiceMethod(int number);
2.
void NiceMethod(int *number);
3.
void NiceMethod(int &number);
???



Последнее исправление: ioexception (всего исправлений: 1)

Ответ на: комментарий от ioexception

Готов поспорить,что семьи у тебя нет. Это все глупости, винда зачастую больше времени требует для настройки рабочего окружения. И все равно там убогая консоль, например.

anonymous
()
Ответ на: комментарий от ioexception

Чпоканье совершенно никак не связано с ОС. Детские рассуждения.

anonymous
()
Ответ на: комментарий от anonymous

И все равно там убогая консоль, например.

Потому что консоль нужна только в линуксе, такова его природа, решать задачи анально.

ioexception
() автор топика
Ответ на: комментарий от anonymous

Большинство людей - идиоты. Поэтому отсылка к большинству не является аргументом.

Аргументом не является если мы рассматривает линукс как систему для узких специалистов.

ioexception
() автор топика
Ответ на: комментарий от ioexception

Загугли autoit, потом я с тобой с удовольствием поговорю о анальном решении задач в разных осях.

anonymous
()
Ответ на: комментарий от anonymous

Какое отношение скрипты имеют к консоли? У линукса баш, у винды есть неплохой повершелл но это не консоль а скрипты для автоматизации. Анальность линукса в том, что заточен он на консоль а не графику, в винде слабая консоль только потому, что она там нафиг никому не нужна кроме сисадминов. В этом все и дело, что линукс ориентирован на узких специалистов, какие бы потуги не делали разработчики убунты, линукс на десктопах вряд ли будет, а если и будет, то на линукс он уже не будет похож внутренне. Как система для спецов, да неплох, так как позволяет кастомизировать все как угодно, согласно задаче, но не более, как система для пользователя, линукс никакой, а говорили мы именно за такой вариант, системы для простых пользователей а не спецов.

ioexception
() автор топика
Ответ на: комментарий от ioexception

В фирмах, где люди «к теме не коим боком не относящиеся» составляют объявления и проводят собеседования всё очень печально.

peregrine ★★★★★
()
Ответ на: комментарий от ioexception

Забаньте этого клоуна в конце концов.

Пришел на ЛОР за помощью, а устаривает холивары!

anonymous
()

язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан язабан

anonymous
()
Ответ на: комментарий от anonymous

Пришел на ЛОР за помощью, а устаривает холивары!

И местное население его активно в этом поддерживает! :-)

aureliano15 ★★
()
Ответ на: комментарий от ioexception

Ктулху мне в ухо, где вас таких делают? Шпециалист, во флюксбоксе покопался.

Какое отношение скрипты имеют к консоли?

Объясняю для жирных неспециалистов: венда автоматизируется через жопу by design™. Давным давно майкрософт решил забить на консоль. Вендопогромисты решили забить на консоль. «Нам не нужна консоль, гуй лучше/проще/быстрее/молодёжнее!» Венда и вендопрограммы стали управляться исключительно гуем, а на командную строку все забили. А потом схватились за голову: «А как же нам это всё теперь автоматизировать? А давайте запилим костыль скрипт, который будет автоматически мышкой возюкать.» Позже майкрософт спохватился и начал пилить свои повершеллы, но вендопогромисты уже привыкли забивать на командную строку.

системы для простых пользователей а не спецов

Перед тем как опять нести такую чушь, подумай хорошо, кто вообще такие «узкие специалисты» и «простые пользователи».

Не бывает простых, блеадь, пользователей. Есть погромисты, есть бухи, есть фотографы, есть врачи, есть слесари, есть банальные вконтактико-потребители. Они все узкие специалисты, у них у всех есть свои юзкейзы, под которые линукс, венда, макось, бздя, план9, дос и. т. д. подходят или не подходят. Хочешь поговорить о хреновости линукса? Говори конкретно, что не работает, у кого и зачем оно вообще нужно.

anonymous
()
Ответ на: комментарий от ioexception

Нет. Многие проблемы решаются в консоли удобнее. Я получил какой-нибудь файлик с данными, в каком-нить csv, например. Ну или логи там какие. Берём парочку тулзовин типа awk, sed, grep, sort и т.д. и строим какую-то примивную аналитику, чтоб предварительно оценить, например, качество данных. Ну или из логов как-то полезную информацию получить. Примеров - масса. Любой гуй тут ничего мне не даст. При этом я положительно отношусь к GUI. Система должна давать мне и то, и другое.

anonymous
()
Ответ на: комментарий от cdslow

Похоже на очень хитрый способ выстрелить себе в ногу :-)

Мне не очень очевиден вызов

func(array[2]);

Отрицательные индексы это понятно итерируемся таким образом по всем пяти элементам массива. А вот вышеприведенных кусочек, «магия»?

Twissel ★★★★★
()
Последнее исправление: Twissel (всего исправлений: 1)
Ответ на: комментарий от ioexception

Что такое «простой пользователь»? Пользователь должен разбираться с системой, если он не идиот. Нельзя(неправильно) водить машину, не зная, хотя бы на примитивном уровне, как она работает, как организована, не зная ПДД и пр. Это должен знать «простой водитель», а не профессиональный. И так везде.

anonymous
()
Ответ на: комментарий от ioexception

Если бы для powershell была нормальная консоль...

anonymous
()
Ответ на: комментарий от Twissel

Похоже на очень хитрый способ выстрелить себе в ногу :-)

Мне не очень очевиден вызов

Имхо, поэтому так никто и не пишет.

Я так понял, что пример иллюстрирует саму возможность так написать в ответ на моё высказывание, что ссылки нельзя проиндексировать. И в этом смысле пример корректен. :-)

aureliano15 ★★
()
Ответ на: комментарий от anonymous

А ничего, что в общем случае в оффтопике ты знаешь только гуй и ничерта не знаешь, как оно внутри работает? А теперь ещё раз расскажи про «знать, как организовано и работает», особенно на примере всяких 1с, главбухов и того же оффтопика.

anonymous
()

Раз уж так взялся учить Си++ рекомендую ознакомиться с этой статьей — очищает разум.

К тому же новый, и один из самых совершенных стандартов — C++ 11 :D

Twissel ★★★★★
()
Ответ на: комментарий от staseg

Готов ломать пальцы тем, кто делает аргументы-ссылки. В вызывающем коде это крайне неочевидно.

+100500 Еще можно в голову гвоздь забить.

P.S. IMHO ссылки - один большой костыль для защиты от неинициализированного или нулевого указателя..

void_ptr ★★★★
()
Последнее исправление: void_ptr (всего исправлений: 1)
Ответ на: комментарий от void_ptr

имелось ввиду:

ссылки - один большой костыль

этот костыль был введен в язык чтобы закрыть уже описанные тобой дыры указателей и на их базе теперь построены rvalue-ссылки и семантика переноса.

за неоправданное использование указателей вместо ссылок в C++ надо кастрировать сварочным аппаратом.

anonymous
()
Ответ на: комментарий от aureliano15

Похоже на очень хитрый способ выстрелить себе в ногу :-)

Имхо, поэтому так никто и не пишет.

Я так понял, что пример иллюстрирует саму возможность так написать в ответ на моё высказывание, что ссылки нельзя проиндексировать. И в этом смысле пример корректен. :-)

Всё так и есть, приведённый пример показывает то, что язык не даёт никаких дополнительных гарантий по ограничению доступа к данным при передаче по ссылке по сравнению с передачей по указателю.

Писать так в реальном коде разумный человек не будет.

cdslow ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.