Сап, аноны, я тут кресты учу, как работает эта конструкция:int * ptrArray = new int[100]; for (int i = 0; i < 100; i++ ){ ptrArray=i; } for (int i = 0; i < 100; i++ ){ cout<<ptrArray<<endl; }Вернее, как она работает - я знаю, но почему именно так? new int[100] выделяет место под 100 элементов типа int и возвращает адрес начала этого куска памяти, я правильно понимаю? Почему ptrArray выводит значение i-й переменной, а не адрес? Как очистить память?
>>149004556 (OP)Двач код как разметку воспринимает, так понятнее будет: int * ptrArray = new int[100]; for (int j = 0; i < 100; i++ ){ ptrArray[j]=i; } for (int j = 0; i < 100; i++ ){ cout<<ptrArray[j]<<endl; }
бамп
Бамп
>>149004556 (OP)Че это за говно? Какой смысл в этом коде}
А, все, не надо, мне уже начальник все объяснил.
>>149004556 (OP)Эта хуйня никак не может работать. Ты 100 раз присваиваешь переменной новый адрес от 0 до 100, потом 100 раз выводишь неведомую хуйню, которая у тебя в памяти под адресом 100.
>>149005644int * ptrArray = new int[100];for (int j = 0; j < 100; j++ ){ptrArray[j]=j;}for (int j = 0; j < 100; j++ ){cout<<ptrArray[j]<<endl;}Просто двач i в скобочках воспринял как часть разметки>>149005279Это не ОП написал.
>>149004556 (OP)-->>>149005279
>>149004556 (OP)> я тут кресты учу
>>149006001Ну и что непонятно?
>>149006384Все.
>>149006485>int * ptrArray = new int[100];Создаешь указатель на массив из 100 интов>for (int j = 0; j < 100; j++ ){>ptrArray[j]=j;Идешь по массиву, в каждую его ячейку записываешь ее номер>for (int j = 0; j < 100; j++ ){>cout<<ptrArray[j]<<endl;Идешь по массиву выводя все его элементы.
>>149004556 (OP)>Как очистить память?free(ptrArray);
>>149006485Тогда иди читай заново самоучитель. Обращение ptrArray[j] равносильно обращению *(ptrArray+j)То есть по факту ты обращаешься к данным, лежащим по адресу j от начального адреса массива в памяти и берешь оттуда кусок данных типа инт, который ту ранее указал.
>>149006699Балда, free с malloc-ом работает, у плюсоблядей только new и delete.
>>149004556 (OP)>Как очистить память?Писать на нормальных языках с jvm.
>>149006776>jvmЧёт говнецом запахло.
>>149006809Хейтерс гонна хейт.
>>149004556 (OP)delete *ptrArray не? я не помню
Попробуй так
>>149006729>ptrArray[j] равносильно обращению *(ptrArray+j)Теперь понятно. А как удалиь? delete ptrArray[]? Или как?
вбей в поиск фразу "C++ msdn delete" счас глянем
>>149006837И тут циклические референсы как побежали, хуяк хуяк, надо память освободить, а сборщик мусора занят хуй знает чем. Не всегда память резиновая и не всегда похуй сколько ты её отожрал.>>149006910>>149006968delete[] ptrArray;
>>149007033delete[] ptrArray;А почему именно так?
http://stackoverflow.com/questions/2486034/delete-an-array-of-objects
>>149007033Ну дык никто про серебряные пули и не говорит. Но вручную ебаться с памятью для создания/уничтожения локальных массивов, которые живут доли секунды - атавизм.
>>149006949Это же ява.
>>149007145ты в книге дойдешь то деструкторов которые в классе будешь определять сам, те перегружать операторы. пока тебе не зачем это знать
>>149007145Потому что иначе он будет думать что это один элемент типа int и освободит только одну ячейку памяти, а не 100. И вообще это будет некорректно.
ВОт тут интересное для тебя написаноhttps://habrahabr.ru/company/abbyy/blog/117208/
> а не адрес?&> Как очистить память?delete
>>149007231Ну он же как-то понимает, что при delete[] ptrArray; нужно освободить 100 элементов, так почему тогда без [] нельзя, раз ptrArray ассоциирован со всем этим куском памяти?
>>149006768malloc и на плюсах пашет
>>149007422ptrArray указывает на 0 элемент, точнее на его адрес.
>>149007422Без скобочек компилятор поймет, что ты хочешь удалить только область куда указывает у тебя указатель, а он указывает на начало массива, у тебя удалится первая ячейка массива например и все.. 99 останутся в оперативке
>>149007153погодите так это обязательно? и это кресты даже не просто си, а кресты блять? ебать какое говно динозавра
>>149004556 (OP)Как-то так.Что непонятно?
>>149007554А нахуя это разыменование ? Аля (ptr + i) ?
>>149007478А что тогда delete[] ptrArray; делает?>>149007478Без скобочек компилятор поймет, что ты хочешь удалить только область куда указывает у тебя указатель, а он указывает на начало массива, у тебя удалится первая ячейка массива например и все.. 99 останутся в оперативкеЗачем это сделано? Зачем мне удалять одну область, если ptrArray ассоциировано со всем куском?
>>149007668> А что тогда delete[] ptrArray; делает?Удаляет массив. > Зачем это сделано?Это из си, вообще, имя массива без указание индекса элемента = указанию на 0 элемент.
>>149007668это ты так ошибочно полагаешь, или книга у тебя маленькая, где про это не написано
>>149007668> если ptrArray ассоциировано со всем куском?Тоже нет. Про массивы почитай. ptrArray[1..100] вот весь массив, вот вся динамическая область памяти, а ptrArray только 0 элемент.
>>149007554>149007554 что это за ide?clion?
>>149007623Просто как пример это ещё сделал, чтобы показать что из себя ptrArray представляет.Т.к. его тип - указатель на int, прибавление к нему числа (ptr + i) в результате даёт указатель на соседний в памяти int (т.к. int занимает 4 байта, то указатель смещается именно на 4 байта).Ну а <звёздочка>(ptr + i) просто даёт доступ к элементу что лежит по этому указателю.И ptr[ix] полностью одно и то же что <звёздочка>(ptr + ix)
>>149007831Не IDE, а редактор кода.Atom.
>>149007668>Зачем это сделано? Зачем мне удалять одну область, если ptrArray ассоциировано со всем куском?ptrArray это тупо указатель. Почитай что такое указатели. Он сам не ассоциирован с массивом никик, в нём тупо записан адрес памяти, с к которого начинается блок из 100 интов, выделенный с помощью new. Когда ты удаляешь массив ты должен сказать компилеру, что по адресу, на который указывает ptrArray лежит длинная хуйня, а не один инт. Это и делается с помощью [], тогда компилер вытаскивает размер ранее выделенной памяти из закромов и освобождает её всю.
Советую таки ОПу поработать на Сишке пару месяцев, чтобы таких проблем не возникало, и вопросов тоже. Просто скоро пойдет ООП, там мозги поплывут, тут не совсем понял, тут чуть-чуть не ясно, а тут вообще пиздец. Вот и получается полная картина ясности как сыр.
>>149007970>AtomЕще вопросец: в чем его плюсы? И где кодить посоветуешь (я студентота), сам сижу на Вижуал Студие, препод по программированию советует CLion, другие варианты?
>>149008180Сука, современные плюсы это темплейт на темплейте сидит и темплейтом погоняет. STL во все поля.Лучше уж кошерная сишечка и glib.
>>149008229ясно. просто в вузе требует учить С++понял теперь тебя. Думал сначала у тебя желание С++ изучать, чтоб в будущем поступить в ВУЗ там что то с ИТ связанное.
>>149008229>И где кодить посоветуешьВ блокноте любом расширяемом текстовом редакторе и компилировать через консоль. Так больше понимания происходящего будет. IDE не нужны.
>>149008229Code::Blocks?
>>149007753>>149007755>>149007824Понято. Получается, данная нелогичная хуета нужна для обратной совместимости с С? А есть какие-нибудь более логичные и продуманные с точки зрения синтаксиса языки? А то эта байтоебля и говно для обратной совместимости за неделю изучения уже заебали.
>>149008229emacs
>>149008409Господи, Столлман в треде! Помолимся!
>>149008400Просто ты сразу в омут с головой. У этого байтоебства куча плюсов. Питон, очень лёгкий, но возможностей куча. Классика.
>>149008180>Просто скоро пойдет ООПВ смысле скоро пойдет? Я с ООП изучение языка и начал, с остальным, вот, по ходу разбираюсь.
>>149008400При чем тут обратная совместимость с си? Все это сделано для управлением памятью.Если ты несилятор такой, бери питон - вот уж там вообще все просто.
>>149008229Для больших проектов онли студиямимопогромист
>>149004556 (OP)> 2017> называть с++ крестами
Не идите нахуй с редакторами, я лучше на студие дальше сидеть буду чем этой хуйней обмазыватьсяМожет еще посоветуете вместо вейпа сиги курить?
>>149008496Это ты так, просто бегло осмотрел. Там же куча всего еще. Куча Шаблон проектирования, все еще будет.
>>149008626>2017>не называть C# до диезом.
>>149008673Хотя шаблоны не устройства языка, а скорее практика, тут я не то в пример привел.
>>149008668я бы посоветовал тебе прочитать книгу "легкий способ бросить тебе треску в ебало мразь"воспитываю пездюка 15 лвл и ему помогло броситьи я сам бросил после 10 лет куренияпонимаю что на 95% безопаснее, но ты прочитай там мало пиздец. перед сном или пока срешь
>>149008480>>149008521Питон же только для создания домашних страничек и используется, не?
Си + Python. Остальное вообще не надо. И для пидаров
>>149008679До диез-то ладно. Но кресты это примерно как называть винду маздаем. Слишком протухшее название.
>>149008766ШТОУ? На нем можно писать полноценные приложения с ГУИ и сервисы.
>>149008766Почему ? В вебе можно полноценный сайт накатать, хотя его в Джанго называют приложение. Можно игру под ведро написать. Много чего можно.
>>149008766толсто
>>149008764я не курюэто была метафора
>>149008832хвалю. а чистишь зубы зубной нитью?
>>149008766нейросети же на нем пишут
>>149008852Хули ты доебался, может тебе ещё сказать какой бумаю я жопу вытираю?
>>149008852я не умею её просовывать между зубами
>>149008768Двачую адеквата. Си для быстрых высокоэффективных либ, питон для всего остального для удобства и простоты написания. Их еще соединять можно проще простого.
>>149008894это так классно когда на дваче за тебя отвечает другой анон
>>149008870пикрелейтед>>149008894про бумагу похуй>>149008896пиздец ты бабуин на крестах кодить умеешь а зубную нить не осилил? стыдно.
>>149008768Уж большего языка для петуханов, чем питон, не существует. Все адекваты кодят на шарпе
>>149008521>При чем тут обратная совместимость с си?Ну не логично же. Объявляем как указатель на int, Где-то там в недрах ассоциируем эту переменную со всем массивом, но по умолчанию используем ее для доступа лишь к одному элементу. Такое ощущения, что вместо создания нормального продуманного языка взяли и намешали говна в кучу.
H
>>149009019> кодятКнопочки на формы вешают? Нахуй иди.
>>149009019>шарп>ебаная проприетарщина для спермыНу не трольь, а.
>>149009083>>ебаная проприетарщина для спермызато какой шикарный энвайромент для большого коллектива разработчиков. и среда разрботки,и багтрекер, и система конроля версий, и этот как его блять.. круиз контроль для выкатки релизовкороче пиздец, это наверняка еще малая доля
>>149009064>Кнопочки на формы вешаютМда, батенька, с такими познаниями далеко не уедешь
>>149009155Все серверные приложения на нём НЕ пишут. И даже для пользовательских берут либо свзяку C+QT, либо ту же джаву.
>>149008939>>149008768Но плюсы же лучше си по абсолютно, блядь, всем параметрам.
>>149009170Да я никуда ехать на познании си шарми и не собрался.
>>149009276Чем ?
>>149009276Плюсы не нужны. Еще раз говорю, пишешь всё на питоне, если возникла какая-то ресурсоемкая задача где ЕБАТЬ ПИЗДЕЦ ВЫЧИСЛЕНИЯ НАДО БЫТРО, пишешь небольшую либу на Си и подсоединяешь к питоновскому проекту. Всё, проблема решена.
Будь на номерах, мы с тобой побормочем, обкашляем всё, обнял.
>>149009384>Си не нужно. Еще раз говорю, пишешь всё на питоне, если возникла какая-то ресурсоемкая задача где ЕБАТЬ ПИЗДЕЦ ВЫЧИСЛЕНИЯ НАДО БЫТРО, пишешь небольшую либу на Плюсах и подсоединяешь к питоновскому проекту. Всё, проблема решена.
>>149009243Так делают только погромисты уровня "пэхэпэ-макака"
>>149009384>Плюсы не нужныВот из-за таких быдло-разработчиков все на ПО жалуются, дескать лагает
>>149009475>небольшую либу на ПлюсахУ тебя тут на ноль делится. Ты когда её писать будешь еще буст какой-нибудь с собой потащишь полюбому.
>>149009563Писать надо уметь.
>>149009563То-то большинство веб-серверов работает на Б-гомерзком линуксе, который О УЖАС написан на чистом Си.
>>149009612Да, на плюсах.
>>149009666Чертовски двачую трипла
>>149009666Хуюсах. Си априори отсеивает быдлоту и жопоруких кодеров. А сс плюсами, впрочем, оп-пост читай.
Если тебе 18 лет то наверно уже поздно начинать, я прав?
>>149009749Начинать никогда не поздно.
>>149009658Я говорил больше про Python, нежели про Си
>>149004556 (OP)плюсы давно уже не открывал, но насколько я понимаю суть такова:определение целочисленного массива из 100 элементовцикл (от i=0 до i<100){элементумассива[ i ] присвоить текущее значение i}бесполезный второй цикл, который выводит все значения массива.т.е. ты просто забиваешь в элементы массива [0]-[99] их порядковый номер, а затем выводишь.
>>149009658А был бы он написан не на С, а на С++ - так работал бы и развивался быстрее.
>>149009749Для работы да, начинать надо было лет 10 назад. Для себя никогда не поздно.
>>149009749Ноуп, вкатился только в универе, сейчас успешно работаю
>>149009794С чего ты взял ? Я скозал ?
>>149009794>так работал бы Нет.>развивался быстрее.Да.
>>149009817У меня в 8 лет не было компуктера даже
>>149009864Да тут речь не про возраст а про время, поздно уже, кодером работать.
>>149009854Ты просто тупой.
>>149009776То-то дропбокс, инстаграм и реддит на джанго работают и фж стонут. не гони на охуенный язык.
Ссу в рот питоноблядям.
>>149009895Очень спорное утверждение
>>149009943Штаны снять забыл.
>>149009946Ничего не спорное. Если ты узкий спец с опытом 10 лет тогда да. А выпускник нахуй никому не нужен.
>>149009895Да не, в самый раз сейчас в кодеры вкатываться - сфера растет как никогда быстро.
>>149009917>дропбокс, инстаграм и реддитВот это произведения прогерского искусства
>>149010034Чего там растет-то ?
>>149010008Камон, везде море вакансий даже для джунов
>>149010008Яснопонятно. То-то у моего знакомого, который на прогера учится половина одногруппников уже поустраивались и кодят за 20-30к/мес?
Чё по паттернам проектирования почитать посоветуете?А то если я начинаю писать хоть сколько-нибудь крупную прогу - начинается пиздец с переписыванием всего кода по 10 раз.
>>149010097Количество софта.
>>149010078>Вот это произведения прогерского искусстваНу ты-то точно знаешь, весь их код видел.Это высоконагруженные проекты, которые отлично работают на питоне.
>>149010165Это он тебе так сказал ?>>149010138Не определяет что будут брать студентоту.
>>149010138И на каждую вакансию джуна приходит несколько сотен резюме.
>>149010254Да. Но зачем ему врать?
>>149010187"Веревка достаточной длины, чтобы выстрелить себе в ногу."Можешь еще Кнута почитать.
Ссу в рот шарпоблядям.
>>149010317Ну это надо его спросит. Еще про перспективы роста узнать.
>>149010261Если требуются специфические технологии, то нет. В основном неудачники прут на тестировщиков
>>149010395>Еще про перспективы роста узнать.70к через пару лет, если даун, 120+ если не даун.
>>149010008>А выпускник нахуй никому не нужен.устроился работать на третьем курсе. Средний студент со средней успеваемостью. Я живу в каком-то другом мире или у нас тут в Новосибе невьебенная кремниевая долина с миллионами вакансий?
>>149009749>Если тебе 18 лет то наверно уже поздно начинать, я прав?Я вкатился в 22 года, мне норм
>>149010656Ссу тебе в рот, сибирская подзалупница.
>>149010349полезная книга? преподша уже второй семестр нам впаривает, а мне все лень её скачать
>>149010736>Ссу тебе в рот, сибирская подзалупница.спорное утверждение
>>149010787Не надо шутить с Багдадом.
>>149010753Нет блять, бесполезная, я просто так её тебе посоветовал.Почитай и поймешь.
>>149010349Ты точно понял мой реквест?У Кнута вроде книжка про алгоритмы, это сильно паттернов проектирования по уровню абстракции.Хотя я сам мало понимаю в вопросе.
>>149011174>это сильно ниже паттернов проектирования по уровню абстракции.fix
>>149010923>с Багдадом.С бОГДАНОМ?
>>149011174Блять, как же я проигралhttps://en.wikipedia.org/wiki/The_Art_of_Computer_Programming>Volume 5 – Syntactic Algorithms (as of 2015, estimated for release in 2025)Причём Кнуту уже 79.
hz
>>149011787и он вроде говорил что еще и четверти не написал того что хочет написать
>>149011787>estimated for release in 2025чувак, это будет уже через 8 лет