Этого треда уже нет.
Это копия, сохраненная 20 января 2017 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
50 Кб, 1088x1024
884 Кб, 960x632
148 Кб, 720x326
33 Кб, 604x270
Религиозный™ вымирающий® C++ тред #44 #886043 В конец треда | Веб
Лишь одна у нас дорога
Путь наш честен, прям и строг.
Нету Бога кроме Страуструпа
А Степанов – Его пророк.

Мы других путей не знаем,
Мы с надеждой смотрим вдаль
Далеки программы без утечек.
Холодна сырая память.

Процессорная сталь, такты злые
Миг лихого торжества…
Побеждая, повторяем
Мы священные слова.

«RTTI. template. rvalue. move semantics. RAII»

Ибо даже в малой капле
Нашей крови жив Господь.
Руки держатся за клаву
Рассекающую память.

Над врагами воспаряя
Ум стремится в небеса.
Жатву байтов собирает
Компилятора острая коса,

Открывается дорога
Смысл которой прям и строг.
Нету Бога, кроме Страуструпа
А Степанов – Его пророк…

Прошлый тред: https://2ch.hk/pr/res/881172.html (М)

Q&A
Q: Где шапка?
A: У мочератора. В позапрошлом треде.

Q: Что делают хейтеры?
A: Сосут член вместе со своими мамашами.

Q: Что делают студенты с лабами?
A: То же, что и хейтеры*
#2 #886046
>>886043 (OP)
std::vector<unsigned char> myVector;
Что компилятору не нравится? Типа некорректно.
std::vector<char> myVector;
тоже не ок.
#include <vector> сделал.

А тут что не так? Ошибок не вызывает, но работать тоже не хочет - хуй вместо содержимого переменной.
http://ideone.com/LWAFQt
886113
74 Кб, 807x807
#3 #886048
Очень хочу найти анона, который будет мне годным наставником по С/С++ и, возможно, Qt в дальнейшем. Чтобы раз в N дней связываться с ним и задавать глупые вопросы, которые трудновато сформулировать для Stackoverflow и гугла. Или когда не хочется палить код. Пока, думаю, нужно это будет нечасто, да и скорость ответов не важна. Ну и вообще, годного анона хорошо бы. Чтобы советовал умные вещи и объяснял, где я на этот раз накосячил. В любом удобном формате - почта, скайп, телега, вк. Если не здесь, то где поискать таких?
#4 #886050
>>886048
Что тебе мешает задавать глупые вопросы здесь?
Может у тебя просто проблема как правильно сформулировать вопрос?
886060
#5 #886060
>>886050
И это тоже. Мне хочется личного общения с аноном-сенпаем, лол. Нашел тут такого по фронтенду, когда надо было простенькую херню сделать, он мне подсказывал немножко, рассказывал про разные вещи, когда я не знал, как сделать что-то. А глупые вопросы я на stackoverflow лучше позадаю
886092886145
#6 #886061
>>885942
>>885972
Храни в статике.
886069
264 Кб, 680x680
#7 #886069
>>886061

>Храни в статике.


Вызывай из разных тредов
#8 #886071
>>886048

>Очень хочу найти анона, который будет мне годным наставником


На пике ты?
886244
546 Кб, 400x276
#9 #886088
Я тоже хочу найти сенпая по крестам, я тяночка.
Чтобы обучал меня, а потом помог найти работку. ^^
ДС
886094886263
#10 #886092
>>886060
Ну напиши вопросы которые тебе были тогда неизвестны или неясны.
886127886468
#11 #886094
>>886088
А хуй у такой тянучки есть? Если нет, то ты не нужна.
#12 #886096
Мимопочитал тут ваши стенания о сенпаях, и чот вспомнились мне всякие клубы и кружки по интересам в своетские времена. Ну, не вспомнились конечно, сам то я пиздюк, но некое представление о них имею
могло бы это быть решением такого рода проблем?
#13 #886113
>>886046
Ну а если они у тебя в одной программе, то какого хуя они у тебя одинаковые имена имеют?
886469
#14 #886114
Сенпай итт
886126
342 Кб, 666x386
#15 #886126
>>886114
писюн дашь пососать за знания?
886141
#16 #886127
>>886092
хочется более личностного общения, понимаешь? с обменом фоточками и голосовым чатом, прогулками под луной, пледиком...
886468
#17 #886132
>>886043 (OP)

> Лишь одна у нас дорога


> Путь наш честен, прям и строг.


ОП, ты бы лучше не выебывался со стихами, а шапку нормальную запилил.
886150
#18 #886141
>>886126
А ты няшный?
886149
#19 #886144
Как в Qt 5.5.1 реализовать список с прокруткой? Из QScrollArea и виджета, в котором надо сделать дочерними все элементы списка?
886150886260
#20 #886145
>>886048
>>886060
Но ведь тебе, гнида, уже оставляли почту.
Иди нахуй просто.
886468
#21 #886149
>>886141
Няшная
886166
#22 #886150
>>886132
Хочешь шапку — иди и пили её на гитхабе (или ещё где анон сможет предлагать патчи к ней) как в других тредах и не выёбывайся. Я не собираюсь тратить хуеву тучу времени на неё, постоянно курировать (обновлять ссылочки там, добавлять книжки и тд), а потом слушать мозгоёбство по её поводу как прошлый ОП.

А стихи — традиция этого треда.

>>886144
Там же есть всякие листвью, или тебя они не устраивают?
886151886190
#23 #886151
>>886150
Он под файлы какие-то заточен, мне нужен каштомный формат элемента списка
886162
sage #24 #886162
>>886151
Так в него и так можно каштомные итемы засовывать. Погуглил бы прежде чем велосипеды придумывать.
886168
#25 #886163
антисажа
#26 #886166
>>886149
Писюн не обещаю
А вот помочь могу
886223
#27 #886168
>>886162
Так там нужно такой же виджет-родитель с элементами списка создать, только класс QAbstractItemView
sage #28 #886190
>>886150

> Я не собираюсь тратить хуеву тучу времени на неё, постоянно курировать (обновлять ссылочки там, добавлять книжки и тд), а потом слушать мозгоёбство по её поводу как прошлый ОП.


Не можешь - не делай треды. Пусть "прошлый ОП" этим занимается.

А стихи нафиг.
886213
#29 #886213
>>886190
Не можешь помочь делом - проследуй нахуй у нас тут опенсорс и демократия. Не тебе указывать кому и что тут делать.

>А стихи нафиг.


Ваше мнение очень важно для нас, благодарим за отзыв.

Прошлый ОП - мочератор, ливнул отсюдова (по его заверениям в том плаксивом треде) ещё пару месяцев назад.

Короче - кому нужна шапка либо откопают старый тред, либо запилят независимую сменаопаустойчивую шапку как в других тредах.
886275886837
#30 #886223
>>886166
асечку писечку
#31 #886244
>>886071

>На пике ты?


Нет, я другой стул выбрал
#32 #886260
>>886144
Чуть подробнее про задачу.
886299
#33 #886263
>>886048
>>886088

Чем помочь?
886468
#34 #886272
Котаны, кто работает в VS Code скиньте launch.json и tasks.json для запуска отладки кода. Не могу никак настроить.
890913
#35 #886275
>>886213

>и демократия


Тогда нужен референдум за нужность стихов
886293
#36 #886293
>>886275
Стихи — культурное наследие, традиции. Это как рпц или классическая литература.

Нутыпонел короче, можешь проводить референдум по созданию шапки.
886295886487
#37 #886295
>>886293
Будешь выёбываться мы присоединимся к ok.ru
и не будет больше C++ треда здесь
886298886301
#38 #886298
>>886295
Давно пора.
#39 #886299
>>886260
Есть набор строк, который обновляется каждую минуту. В строке может быть либо обычный QString, тогда я вывожу его в виде строки QLineEdit, либо base64, тогда я рисую кнопку, которая вызывает QSaveFileDialog и сохраняет файл из base64. Голый QScrollArea с набором QLineEdit и кнопками не подходит, потому что тогда все поле расчерчено на квадраты границами QLineEdit
886300886342
#40 #886300
>>886299
Ну и параша эта ваша гуйня.
Фубля, фунахуй.
886382
#41 #886301
>>886295
Присоединение к мэйлу пережили как-то, и это переживём.
886307
#42 #886307
>>886301

>этот типичный русский


Ну и мерзость.
Тебе не стыдно жить?
886310886319
#43 #886309
В универчике с++ изучаем, ничего сложного нет, пока что двухмерные массивы прошли. А в чем соль вообще? Тут ничего похожего на то что делаем не видель
886312886370
#44 #886310
>>886307
А должно быть?
886319
#45 #886312
>>886309
Потому что вы пока си проходите, до плюсов не добрались.
886317886346
#46 #886317
>>886312
Оно намного сложнее? Интересно? Нужно? Сколько времени нужно убить, чтобы иметь возможность извлекать профит?
886327
#47 #886319
>>886307
>>886310
Надо отвечать так "Так отцы и деды наши жили"
886327886334
#48 #886327
>>886319
Ок брат.
>>886317
Пройдёте — узнаешь. Времени нужно дохуищи.
886331886334
#49 #886331
>>886327
Впизду, сис админом буду
886349
#50 #886334
>>886319
>>886327
Ну что же вы, ватаны.
#51 #886342
>>886299
Почему бы не использовать QListView + QlistView::setIndexWidget() в местах, где нужны кнопки?
Или пойти дальше и написать QItemDelegate рисующий кнопку.
886382
#52 #886346
>>886312
И не доберутся
У нас в ВУЗе который в участвует в программе 5-100 преподают С++ 98
В учебном пособии и лекциях которые копипаст учебного пособия от 2000г нет ничего даже про вектор
#53 #886349
>>886331
А ты бумагу из принтера доставать умеешь?
886830
#54 #886366
Могу быть наставником по крестам, сам сениор девелопер. Но вы же понимаете, что по большей части ваших вопросов - вы будете отправлены читать Страуструпа или получать совет "Пройдись пошагово с дебаггером"? Вам это правда надо?
886368
#55 #886368
>>886366
Дополню, что кресты полностью учил сам по книгам, и, изредка стаковерфлоу. Лучше хорошей книги нет ничего в нашем ремесле.
886369
#56 #886369
>>886368
По С++ нужен сайт на подобии javarush
886374886437
#58 #886374
>>886369
В смысле хуево работающий и за деньги?
886377
#59 #886377
>>886374
В игровой форме, чтобы с детей-дегенератов деньги доить
#60 #886382
>>886300
Консолепетух в треде, все в цветную ASCII
>>886342

> QListView + QlistView::setIndexWidget()


Хм, то есть я просто кидаю туда текст, а нужные строчки замещаю кнопками? Звучит интересно.
886391
#61 #886391
>>886382

>Консоле


Ты не проецируй тут, гнида.
мимо opencl господин
#62 #886435
>>886048
проблема в том что у тебя хуй вместо пизды
так чтож, давай, как нибудь сам пробивайся
886436886468
#63 #886436
>>886435

>проблема в том что у тебя хуй вместо пизды


А пизду бы на себе тащил?
886438
#64 #886437
>>886369
ага, чтобы как у явашников - на одну открытую вакансию через неделю 200-300 резюме валилось
886440
#65 #886438
>>886436
тащем то именно это и делает большинство "мужыков" - работают ради доступа к пизденке
886440
#66 #886440
>>886438

>>работают ради доступа к пизденке


О доступе речи не было
Одно дело работать ради доступа, а другое дело тащить на себе
Это всё разные вещи

>>886437
Кто не умеет самообразование обречён на сосание
886442
#67 #886442
>>886440

>Кто не умеет самообразование обречён на сосание


пфф, да хоть засамообразовывайся - один фиг, когда будет 200 рыл на вакуху выберут молодое мясо, а не тебя
886443
#68 #886443
>>886442

>выберут молодое мясо, а не тебя


Хватит оправдываться
886444
#69 #886444
>>886443
мамку ебал
886446
#70 #886446
>>886444
Лузер
На работу не берут, молодухи не дают...
Почему ты такой дефектный?
886451
#71 #886451
>>886446
папку ебал
886454
#72 #886454
>>886451
Ты и собаку ебал
886455
#73 #886455
>>886454
нет, тебя не ебал
#74 #886468
>>886127
Этот толстит. Хотя было бы забавно, я же питурд, друзей нет офк. Ну например, я когда-то при подобном общении узнал, что никто давно не использует пыхофункции взаимодействия с БД, юзая вместо этого ПДО.
>>886092
Однажды какой-то кейс по верстке нашел, прям чуть ли не баг, который мы с аноном долбили полдня из интереса. Были какие-то задачи, где я не мог ошибку в своем коде найти - тоже анон помогал.
>>886145
Там же троллинг, лол. Какой нафиг мудаквкубесобакамылору, м?
>>886263
Ну, советами, подсказками, изредка чекнуть код и помочь найти ошибку, где-то подсказать "более лучший" вариант решения проблемы, где-то ткнуть носом в готовую либу вместо моего велосипеда. Неспешное и ненапряжное общение в формате учитель-ученик.
>>886435
Пиздолиз
886473
#75 #886469
>>886113
Не в одной. Просто конпелятор ругается.
886475
#76 #886473
>>886468

>Какой нафиг


А, так ты просто совсем тупое и не прошло фильтр.
Тем лучше, такие мне точно не интересны.
886477
#77 #886475
>>886469
У меня не ругается
Давай колполностью
886478
#78 #886477
>>886473

>Qt


>Хм. Мда.


>Впрочем, могло быть и хуже.


>почта


>mudakvCcQkubeANUSm$kKailPUNCTUMrPPFu


То есть это был не троллинг?

>фильтр


Окей, мыло вроде существует, сейчас напишу.
#79 #886478
>>886475
Я обосрался, у меня запятая вместо точки с запятой, а конпелятор ругался на Invalid declarator.
А насчет хуиты на идеоне можешь что-нибудь сказать? Чому функция не работает и в результате пустые строки?
886482886483886493
#80 #886482
>>886478
Дай полностью код
Тогда может что-нибудь скажу
886506
#81 #886483
>>886478
Это лаба какая-то?
886506
sage #82 #886487
>>886293
Нахер никому тут твои тупые ситхи не сдались.

А вот шапка была бы полезной.
886489886492
8 Кб, 259x194
#83 #886489
#84 #886492
>>886487
Ну, дык, возьми и запили, тебе же сказали уже.
886539
#85 #886493
>>886478
А что ты в свою функцию передаешь и что хочешь получить? И как проверяешь?

Вообще, плохо написано. Например:
- length() возвращает не int;
- c_str() не нужно;
- строки res и s2 должны быть длинее s1.
886506
#86 #886506
>>886483
Это мои попытки сделать то же самое. что я смог сделать на Си-строках, на строках в С++. Банальное гаммирование. Но с си-строками неинтересно, там длину передавать надо, а я пытаюсь с с++-строками или символьными векторами.
>>886482
Так кода и нет больше никакого. Печатать результат пытаюсь в виде hex посимвольно, каждый символ предварительно привожу к (int)(unsigned char). Это преобразование мне в прошлом треде посоветовали, вроде.
>>886493
Ну, я хочу получить поксоренный результат. Пердеаю строку1, строку1 и переменную для занесения результата.
886548
#87 #886539
>>886492
Шапку моча запиливает.
886816
#88 #886548
>>886506

> Ну, я хочу получить поксоренный результат.



> Пердеаю строку1, строку1 и переменную для занесения результата.


Я и так в коде вижу, что ты строки передаешь. Объясни толком, в чем баг. Например, 'передаю "абв" и "где", ожидаю получить "123", а получаю "хуй"'.
886551
#89 #886551
>>886548
Получаю хуй да нихуя на выходе. Вот тупо вывод строки res дает ничего. Хоть в виде чисел, хоть в виде символов - нихуя.
886581886582
#90 #886581
>>886551
А ты как выводишь пытаешься? Уж не res.length() ли используешь? Длина-то ведь не изменяется, а символы, к тому же, ещё и не принтабл. Хотя на самом деле всё туда записывается, конечно. http://ideone.com/911H9X
#91 #886582
>>886551
Запили уже полный код, мразь.
886591886593886667
#92 #886591
>>886582

void main
{
}
886592886667
#93 #886592
>>886591
Ну так ясен хрен ничего не выводится, ты же даже функцию не вызываешь! Какой же ты тупой.
886593886601886667
sage #94 #886593
>>886581
>>886582
>>886592
Он уже пятый тред подряд так типа троллит. Не ведитесь.
886667
#95 #886598
>>886048
А есть соус картинки? Гугл почему-то думает, что тут просто ювелирные изделия на картиинке.
886603
#96 #886601
>>886592

void gamma(string s1, string s2, string &res)
{
for (int i = 0; i < s1.length(); i++) {
res = (s1.c_str()) ^ (s2.c_str());
}
}

void main
{

gamma("стринг1", "стринг2", " ")

}
886605
#97 #886603
>>886598
Так это же её фотка.
Хорошо хоть догадалась суп не делать.
886613
#98 #886605
>>886601
Иди нахуй, гнида.
886774
#99 #886613
>>886603
Чья её-то?
#100 #886619
Учусь на втором курсе в ПТУ, а не колледже
Полгода изучаю C++, но не касаясь ООП мне тут помогут или съебать в СИ тред?
Так вот, несколько месяцев мы делали говнолабы, что-то вроде найти наименьший элемент массива, а под конец семестра сказали, что надо написать какую-нибудь игру
Пришла в голову довольно неплохая наверное идея: на экран выводится название страны и нужно ввести название столицы этой страны.
В случае неправильного ответа на экран выводится правильный ответ и идет переход к следующей стране. В случае правильного - просто переход к следующей стране ну и конечно же rightanswer=rightanswer+1;.
На игру дается одна минута вроде бы, реализовать это можно вычитанием из времени начала игры текущее время. Нагуглил библиотеку time.h, но пока не понимаю, что там с ней. В конце выводится количество правильных ответов
Как мне все это реализовать?
И еще вопросик: как сделать обработку ошибки несоответствия типа данных? может я и хуйню написал, но суть вопроса в том, как сделать чтобы выдавало нормальную ошибку, если в переменную типа int попытаться записать не число, а какую-нибудь букву или какой-нибудь символ
886632886642
#101 #886632
>>886619
Джва года ждал такую игру. А будет консольный askii-графон класса AAA DOS?
886716
#102 #886642
>>886619
Пиши сразу под UE4, будет игра с графонием. Там поди и таймеры есть встроенные.
886716
Рекурсия #103 #886660
Сап, гайс. Читаю Липпмана. Есть задача: вывести содержимое вектора, используя рекурсивную функцию. Так вот, если использовать этот код http://ideone.com/kawfg3, то все работает. Если заменить параметр функции на итератор (http://ideone.com/XdAmvs), то все летит по пизде и компилятор выдает разные результаты в зависимости от содержимого вектора. Ананас, пояснишь нюфане, где именно мой косяк спрятан или сразу съебать из треда с такими вопросами?
886827
#104 #886667
>>886581
Я через хекс вывожу. Ща посмотрю код.
>>886582
>>886591
>>886592
>>886593
Жирные дауны.
#105 #886679
>>886581
Почему

>res.length()


не работает? Через что делать? Через .size()?
Или как теперь длину строки узнать?
Я выводил как раз таким макаром: http://ideone.com/cuJcxu
и вместо вывода у меня пустая строка. Неужели все равно надо отдельно передавать длину?
886688886689
sage #106 #886688
>>886679
Съеби нахуй уже.
#107 #886689
>>886581
>>886679
Таки да, у меня тоже все записывается и через вот такие аналогичные сиауты я могу это сделать, но длины строки-то я типа не знаю. Иначе никаких преимуществ перед реализацией на си-строках, где я передавал длину строки еще одним параметром функции. Если что, мне уже намекнули, что лучше все это сделать на символьных векторах, но я хочу додолбить этот пример.
886735
1 Кб, 225x143
#108 #886716
>>886632
Все будет, даже флаги нарисую для тебя, через изменение цвета строки в консоле нет сделал один только для теста

>>886642
У меня препод не хотел принимать лабу из-за того что я вместо printf использовал cout, ко-ко-ко скопировал все из интернета не верю а ты тут про UE

И еще вопрос: почему если ввести русскими буквами и проверку условия сделать ими то не работает (в любом случае условие не верно)
[CODE]
#include <stdio.h>
#include <Windows.h>
#include <stdlib.h>
#include <locale>

int main()
{
setlocale(LC_ALL, "RUSSIAN");
printf("\n Введите столицу России");
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
unsigned char a[15];
SetConsoleTextAttribute(hConsole, (WORD)((15 << 4) | 15));
printf("\n ==================");
printf("\n ==================");
SetConsoleTextAttribute(hConsole, (WORD)((9 << 4) | 9));
printf("\n ==================");
printf("\n ==================");
SetConsoleTextAttribute(hConsole, (WORD)((4 << 4) | 4));
printf("\n ==================");
printf("\n ==================\n\n\n");
SetConsoleTextAttribute(hConsole, (WORD)((0 << 4) | 15));
printf("\n Ваш ответ > ");
scanf_s("%s", &a[0]);
if ((a[0] == 'М') && (a[1] == 'о') && (a[2] == 'с') && (a[3] == 'к') && (a[4] == 'в') && (a[5] == 'а'))printf("\n Верно\n");
else printf("\n Не верно\n");
system("pause");
return 0;
}
[/CODE]
а если сделать тоже самое транслитом, то все работает как надо
[CODE]
if ((a[0] == 'M') && (a[1] == 'o') && (a[2] == 's') && (a[3] == 'k') && (a[4] == 'v') && (a[5] == 'a'))printf("\n Верно\n");
[/CODE]
1 Кб, 225x143
#108 #886716
>>886632
Все будет, даже флаги нарисую для тебя, через изменение цвета строки в консоле нет сделал один только для теста

>>886642
У меня препод не хотел принимать лабу из-за того что я вместо printf использовал cout, ко-ко-ко скопировал все из интернета не верю а ты тут про UE

И еще вопрос: почему если ввести русскими буквами и проверку условия сделать ими то не работает (в любом случае условие не верно)
[CODE]
#include <stdio.h>
#include <Windows.h>
#include <stdlib.h>
#include <locale>

int main()
{
setlocale(LC_ALL, "RUSSIAN");
printf("\n Введите столицу России");
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
unsigned char a[15];
SetConsoleTextAttribute(hConsole, (WORD)((15 << 4) | 15));
printf("\n ==================");
printf("\n ==================");
SetConsoleTextAttribute(hConsole, (WORD)((9 << 4) | 9));
printf("\n ==================");
printf("\n ==================");
SetConsoleTextAttribute(hConsole, (WORD)((4 << 4) | 4));
printf("\n ==================");
printf("\n ==================\n\n\n");
SetConsoleTextAttribute(hConsole, (WORD)((0 << 4) | 15));
printf("\n Ваш ответ > ");
scanf_s("%s", &a[0]);
if ((a[0] == 'М') && (a[1] == 'о') && (a[2] == 'с') && (a[3] == 'к') && (a[4] == 'в') && (a[5] == 'а'))printf("\n Верно\n");
else printf("\n Не верно\n");
system("pause");
return 0;
}
[/CODE]
а если сделать тоже самое транслитом, то все работает как надо
[CODE]
if ((a[0] == 'M') && (a[1] == 'o') && (a[2] == 's') && (a[3] == 'k') && (a[4] == 'v') && (a[5] == 'a'))printf("\n Верно\n");
[/CODE]
#109 #886719
>>886716
не смог в разметку
#110 #886728
>>886716
Потому что ты дебил.
#111 #886735
>>886689

>Почему res.length() не работает?


Потому что ты нигде не сообщал объекту, что изменял его размер, например?

Если res всегда пустой передаётся и длины маленькие, можешь через += делать, а не по индексам, тогда и размер автоматически будет изменяться.

>но длины строки-то я типа не знаю.


Как не знаешь-то, если ты значения в лупе присваиваешь? Вот в своей гамме и изменяй размер.

http://ideone.com/MiC9Oe

И вообще, заебал на идеоне неработающий код выкладывать, в котором нельзя просто поменять пару строк и запустить.

>>886716

>Все будет, даже флаги нарисую для тебя


Тогда Непал добавь в список стран обязательно.
886741886805
sage #112 #886741
>>886735

>http://ideone.com/MiC9Oe


> 2017


> кормить зелёного


кек
886777886873
#113 #886774
>>886605
Что ты меня оскорбляешь?
Лучше бы помог
#114 #886777
>>886741

>>int main



зелень ты. Я такого никогда бы не написал

Я пишу только void main
#115 #886805
>>886735

>отому что ты нигде не сообщал объекту, что изменял его размер, например?


>res.resize(s1.length());


Блин, так вот оно что!
Спасибо, анон, я даже и не знал, что строка сама об этом "не догадывается". Фак, вот поэтому я и реквестирую так упорно себе сенпая, вот из какой книжки про это узнать, я ни разу упоминания об этом не видел. А тут ты и способ более годный подсказал, и мой вариант доработал всего одной строчкой так, что он из "хуйня, ничего не получается, сука, все сделал как надо, а оно нихуя, я долбоёб, три строчки написать как надо не могу" превратилось в "о, супер, заработало, я почти правильно все написал, только вот тут забыл..."
Спасибо тебе большое, анон!
886888
#116 #886816
>>886539
А ты в гитхаб закомить
#117 #886827
>>886660

> Если заменить параметр функции на итератор (http://ideone.com/XdAmvs), то все летит по пизде и компилятор выдает разные результаты в зависимости от содержимого вектора.


Надо вектор по ссылке передавать в функцию, а ты копируешь.
А вообще, правильно так:http://ideone.com/KfXPBK
886836
#118 #886830
>>886349
это как?
#119 #886836
>>886827
Спасибо тебе огромное, анон
#120 #886837
>>886213

> в том плаксивом треде


Это где? И с чего ты взял что оп и модер один человек?
886840
#121 #886840
>>886837

>Это где?


Нюфаг не палится.

>И с чего ты взял что оп и модер один человек?


http://arhivach.org/thread/200125/
Разметку прошлой шапку посмотри. А потом посмотри что дозволено обычным смертным.
886844
#122 #886844
>>886840
Так оп перекатывает, а шапку мод вставляет. Это уже больше чем пол года длится . Что не так?
886849
#123 #886849
>>886844
В позапрошлом вставил (мб и чуть раньше).
Если только модератор может сделать такую шапку - как думаешь, кто же её делал?
886853
sage #124 #886852
Тем временем крестотред скатился в обсуждение прошлого опа-мочератора.
Мб все желающие помусолить чью-то личность проследуют в готред и поговорят об илюше?
#125 #886853
>>886849
Аутист? Оп создаёт тред без шапки как теперь, а мод её вставляет. надо это в фак добавить
мимо автор идеи гитхаб шапки
886857
sage #126 #886857
>>886853
Хорошо, семён, ток под меня не мимикрируй плез.
Модер видимо заебался перекатывать шапку вот и всё.
886865
17 Кб, 427x117
#127 #886865
>>886857
Почему заебался? В прошлы тред же вставил. А этот только вчера ночью появился. Может он не успел ещё его заметить? Вы в форму для жалоб ему писали про новый тред?
кстати перечитываю революционный тред. зима уже наступила. хотя можно подождать нового года
886874
#128 #886873
>>886741
Пора перекатываться в ok.ru
886875886876
sage #129 #886874
>>886865
В позапрошлый. И смысла перекатывать ту шапку сейчас не много - все ссылки на книги давным давно мёртвые.
886878
#130 #886875
>>886873
А там конфы есть?
886877
sage #131 #886876
>>886873
Перекатил твою мать, проверяй.
#132 #886877
>>886875
Да, целых говноеды и вебмакакусы уже ждут тебя там.
#133 #886878
>>886874

>все ссылки на книги давным давно мёртвые.


Я лично перезаливал книги на дробокс и сокращал ссылки гуглом. С тех пор возможно добавили новых книг. Щас проверю.
886909
sage #134 #886888
>>886805

>>res.resize(s1.length());


>Блин, так вот оно что!


Ты, пидор. Тебе буквально это 2 треда назад говорили сделать.
886898886997
#135 #886898
>>886888
Я два треда назад не писал сюда ничего, только в конце предыдущего пришел.
886902
sage #136 #886902
>>886898
Не маневрируй, я помню твой бесконечный унылый тупняк на весь тред.
886931
#137 #886909
>>886878

> Мы заметили, что Вы уже больше года не пользуетесь своим аккаунтом Dropbox, и удалили его.


Бля. Я думал сайтам с регистрацией можно доверять. Вечером перезалью. Только куда?
886910
sage #138 #886910
>>886909
Да всё есть на gen.lib.rus.ec. Зачем куда-то перезаливать?
886918887045
#139 #886918
>>886910
Ок. Проверю все ли там есть. Если все, то просто сокращу ссылки и кину реквест.
#140 #886931
>>886902
Вот мой первый пост
https://2ch.hk/pr/res/881172.html#885410 (М)
Впрочем, нахуй мне что-то доказывать неадеквату?
886984
#141 #886936
Плюсаны, есть задание парсить html таблицу. Я ее получаю, а как мне ее по тегам-то разобрать? Все эти td остаются и меня заебывают. Еще эта хуита в самом начале типа meta viewport encoding zalupa
886937886956
100 Кб, 473x473
#142 #886937
>>886936

> Плюсаны, есть задание парсить html таблицу.


Гугли "регулярные выражения"
886939
#143 #886939
>>886937
У меня одного превью и сообщение покорёжило?
#144 #886956
>>886936
У тебя в доме гугл отключили?
c++ parse html
#145 #886984
>>886931

> пишет (int)(unsigned char) (source.c_str())


> называет других неадекватами


Мммаксимум жир.
887085
#146 #886997
>>886888
Справедливости ради, советовали ему там лишь reserve, который не помог бы. Если не изменять остальной код, разумеется.
#147 #887045
>>886910
не пали быдлу
887061
sage #148 #887061
>>887045
Небыдло, вернись к распаковке юникодов.
#149 #887085
>>886984
Мне здесь так посоветовали. Как упростить?
887089
#150 #887089
>>887085
Тебе это тоже уже говорили. Просто доступ по индексу, без .c_str() перед ним.
887092887094887097
#151 #887092
>>887089

>>Просто доступ по индексу, без .c_str() перед ним.


Я не понимаю, что это значит
#152 #887094
>>887089
Не работает, я пробовал.
#153 #887097
>>887089
А, нет, пизжю, работает! Странно, раньше не получалось. Спасибо, анон.
#154 #887126
>>886043 (OP)
пршел курс на степика "Введение в программирование на c++ "(тот, что он яндекса), что дальше?
887127887137887187
#155 #887127
>>887126
Искать работу
#156 #887137
>>887126
Этот ваш степик - он бесплатный?
>>886043 (OP)
Есть годные онлайн курсы с/с++ в духе академии и в3школы? Хотя бы по азам. Русские, по-возмонжости.
#157 #887187
>>887126
Идти на олимпиаду для школьников
19 Кб, 288x324
#158 #887253
Угадайте, что выведет первый cout, а что второй?
887282887295887297
#159 #887282
>>887253
Первый А второй В.
#160 #887295
>>887253

>the insertion operation checks whether each inserted element has a key equivalent to the one of an element already in the container, and if so, the element is not inserted

#161 #887297
>>887253
Вот это интереснее, по-моему: http://ideone.com/jXRR1n
887324
#162 #887324
>>887297
Нет.
16 Кб, 331x245
#163 #887326
Угадайте, что выведет первый и единственный cout?
887342887346887363
#164 #887342
>>887326

> future


> async


А это точно С++?
887345
#165 #887345
>>887342
А это точно C++-тред? больше похож на ньюфаг-тред
sage #166 #887346
>>887326
ундефинед бихивиор?
887347
#167 #887347
>>887346
Я сам каждый раз, как вижу этот код, хочу это сказать. Но нет.
#168 #887363
>>887326
А объяснение этому есть? После пары экспериментов со sleep'ом я пришёл к выводу, что:
1. При удалении future'а ожидается конец его исполнения (если запуск не был deferred)
2. Так как результат std::async ни к чему не присваивается, то и уничтожается он тут же, а значит второй async даже не вызывается, пока не пройдёт первый
3. Лишь присвоив возвращаемое std::async'ом значение переменной можно заставить асинк с x = y закончить выполнение вторым, если в нём есть sleep.

Я где-то проебался?
887373887410
#169 #887373
>>887363

>Я где-то проебался?


Нет, ты прав. Деструктор std::future, полученного из std::async (std::launch::async, ...) ждёт завершения треда.

Это, наверное, входит в top 3 самых ебанутых вещей в стандартной библиотеке.
887569
#170 #887397
Как лучше поступить сначала си потом си++ или сначала си++ а потом что хочешь? и почему вымирает, анона мало?
887404
#171 #887404
>>887397
Сначала Haskell
887407887562
#172 #887407
>>887404
А почему Haskell?
887410
#173 #887410
>>887407
В нём такой >>887363 херни нет.
#174 #887418
Продублирую.
Ночное программирование.
Передо мной поставили в вузе задачу написать класс, объект которого представляет из себя динамический массив, который сортируется одним из своих методов, а также возможностью быстрого поиска.
Если нормально переписать тз, то получается:
Необходимо реализовать динамический массив чисел с возмножстью поиска и сортировки. Идея реализации: выделяется небольшой (1) массив, по мере его заполнения выделяются такие же, которые связываются в список.(2) Также должны быть следующие методы(их больше, но эти мне непонятны.)
Создать массив заданной начальной длины.(В смысле такой длины должны быть мои массивы в (1)?)
Удаление элемента по индексу.(Все остальные элементы надо видимо сдвинуть?)
Ну и самое непонятное это (2).
Что здесь вообще от меня хотят? О каких списках речь и через что их реализовывать?
Я вот описал такой список через структуру следующим образом
-------------
struct Num_Massive_//один из мини-массивов
{
Num_Massive_ prest;//ссылка на предыдущий такой массив
Num_Massive_ after=Null;//ссылка на следующий
double Numb[10];//сами значения
}
-------------
Понимаю, что с некоторыми вопросами могут быть проблемы, но все же надеюсь на помощь.
upd
Примерно понял, что нужно реализовывать через создание структуры массив из 10 элементов, ссылка на следующий экземпляр.
Но как упростить работу с индексом элемента? Можно ли создавать методы для структуры?
upd2
Векторы – это хорошо, но по сути от меня просят, чтобы я их реализовал.
887422887460
#175 #887422
#176 #887427
https://ideone.com/5fb3VW

Какого хрена list.insert ведёт себя по разному на GCC и VS компиляторах? Вроде ведь базовый функционал. В VS 2013 этот код крашит при инсёрте, потому-что бесконечный инсёрт листа в самого себя.
887436
#177 #887436
>>887427
template< class InputIt >
iterator insert( const_iterator pos, InputIt first, InputIt last );
The behavior is undefined if first and last are iterators into *this.
#178 #887460
>>887418

> Передо мной поставили в вузе задачу


> Если нормально переписать тз, то получается:


> выделяется небольшой (1) массив, по мере его заполнения выделяются такие же, которые связываются в список.


> Что здесь вообще от меня хотят? О каких списках речь и через что их реализовывать?


Я что-то не понял, анон. Как точно сформулировано задание и кто его "нормально переписывал". Если ты сам, то почему вопросы по спискам? В оригинале задания списков нет.
887480
#179 #887471
Поясните за состояние c++. Есть ли на нём новые интересные стартапы? Или же в основном работа на плюсах - поддержка легаси c++98 говнокода?
887474
sage #180 #887474
>>887471
Есть. У нас С++11 (на 14\17 не будем пока переходить, т.к. gcc 4.8.4), проект пишется, и все клево и интересно. И хайрим исключительно крестовиков, правда, без особого успеха, т.к. они либо при деле, либо бездари
887475890048
#181 #887475
>>887474
Сажа приклеилась
#182 #887480
>>887460
Целиком задание звучит как реализовать динамический массив вещественных чисел с возможностью поиска и сортировки.(То есть именно класс)
В идеях реализации написано, создать небольшой массив, по мере его заполнения создать новый, такой же длины и связать их всех в список.
Вот именно с этой идеей реализации и возникают проблемы.
887551
sage #183 #887551
>>887480
Пишешь обычный список в котором каждый элемент содержит небольшой массив. В чем проблема то? Закончилось место в одном массиве, создаешь еще элемент списка и заполняешь массив в нем.
887560
#184 #887560
>>887551
А как создать удобный доступ по индексу к такой штуке? А то, каждый раз вычислять какой по счету элемент списка мне нужен не очень удобно.
#185 #887562
>>887404
Ну и гнида же ты, мразь
#186 #887569
>>887373
Ну, а что ему ещё делать? Просто прерывать тред посреди выполнения, наверное, не очень вариант. Завершать его асинхронно? Так к тому времени уже всё, к чему он обращается, может быть удалено.
887864
#187 #887570
Анон, почему возникает ошибка компиляции при использовании C++14?

http://ideone.com/wyh7oa
887586
#188 #887586
>>887570
Ошибку—то прочитай, компилятор тебе всё досконально расписал.
887647887655
#189 #887647
>>887586
И что? Я не понимаю, что это за ошибка. У меня в студии 2015 все норм.
887655887867
#190 #887655
>>887586
>>887647
Почему надо было сделать ссылку константной? Я не понимат.

http://ideone.com/dDPxt2
887867
#191 #887668
>>886043 (OP)
Проиграл над второй пикчей.
ведь я сам так начинал :^(
887684887697
#192 #887684
>>887668

>ведь я сам так начинал


Жаль тебя. А я начинал с изучения PE-формата и masm32.
#193 #887697
>>887668
А чо только начинал-то? Релокейт в какой нибудь Новосибирск/Донецк и потолок зарплаты в 60к (не стёб и не троллинг) за гигантское количество работы (за идею! за хорошие игры!) не устроили?
Или просто переболел играми и всё?
887704887705887719
#194 #887704
>>887697
Не. Начал заниматься кодингом на цпп в 17 лет. Закончил Институт. Сейчас работаю джуниором в фирме за 50K в своём Мухосранске по тому же цпп.
887710887724
#195 #887705
>>887697

>Или просто переболел играми и всё?


Инфантил же. В то время, как ебанаты мечтали писать игры а сделали бы они одно говно, ибо тупые технари без фантазии, я хотел писать блэк и зарабатывать на этом бабки. На винлокеры, например, часто бывают заказы. Еще можно организовать свой бизнес, сделав приватную площадку для теста малвари на детект всеми известными антивирусами и предоставлять эту услугу за бабосы.
887711887809
#196 #887708
Крестаны, во что инвестируете свои бабки, чтобы они делали новые бабки?
#197 #887710
>>887704
Забыл: Жаль работаю не над играми :^(
887719
#198 #887711
>>887705
Покупай биткоины, они через 2 года начнут дорожать.
#199 #887719
>>887710
Ты смысл моего >>887697 поста видимо так и не понял.
887723
#200 #887723
>>887719
Видимо.
887724
#201 #887724
>>887723

>Релокейт в какой нибудь Новосибирск/Донецк и потолок зарплаты в 60к (не стёб и не троллинг) за гигантское количество работы (за идею! за хорошие игры!) не устроили?


Или просто переболел играми и всё?
>>887704

>Не

4 Кб, 211x129
#202 #887735
>>886043 (OP)
Такие дела.
24 Кб, 919x396
#203 #887757
Ребзя, подскажите, как в Qt Creator сделать стиль редактора как на их справочном сайте? Те что есть в наличии искаробки, мне не нравятся, какое-то вырвиглазное говно!
Хочу как на пике!
887773
28 Кб, 729x180
#204 #887762
>>886043 (OP)
Бля, что за ебучие фильтры придумали, как папки из Студии создавать? Или сраная каша из файлов - это новая тема?
887773
#205 #887773
>>887757
Открыть CSS на сайте и скопироватьть цвета в свою цветовую схему в IDE, очевидно.
>>887762
Это древняя тема, в студии как и культекреаторе их никогда и нельзя было создовать именно в проектах.

Решения:
а) Использовать нормальные иде (цлион);
б) Использовать 2017 студию (уже есть первью) - она полноценно поддерживает проекты с цмейком и мейкфайлами, и там можно таки добовлять папки.
887810
#206 #887809
>>887705
погугли ради интересна на сколько лет посадили кодеров что малварь для работы по сберу на заказ делали
а получали они копейки - сотни баксов
хотя организаторы грабанули сбер за пару прошлых лет на несколько миллиардов, да
посадили всех одинаково
#207 #887810
>>887773
Благодарю.
#208 #887864
>>887569

>Ну, а что ему ещё делать?


Вешать основной поток, конечно же!
887933
#209 #887867
>>887647

>У меня в студии 2015 все норм.


Потому что самый кривой компилятор плюсов с кучей несоответствий стандарту.
>>887655

>Почему надо было сделать ссылку константной? Я не понимат.


Вырастешь — поймёшь.
#210 #887931
>>886043 (OP)
прошел курс на степике из шапки. Не знаю, что делать дальше. Пытался приниматься за другие - что-то не знаю, по книгам - все в другом порядке. Подскажите.
#211 #887933
>>887864
Это уж откуда вызовешь, то и повесит. Вопрос я серьёзно задавал — какие ещё безопасные варианты есть? Оставить всё на совесть программисту? Можно запустить тред и задетачить его.
887981
#212 #887981
>>887933

>Это уж откуда вызовешь


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

> какие ещё безопасные варианты есть?


Детач.
#213 #887999
Что мне нужно для программирования на крестах в вебе помимо литературы о мазохизме?
888000888018
#214 #888000
>>887999
К психиатору сходить.
888004888005
#215 #888004
>>888000
Я уже записан. А еще? Надо же в жизни попробовать всё... ...даже самое извращенное .
888012
42 Кб, 600x800
#216 #888005
>>888000
Неужели ГЕТ!
#217 #888012
>>888004
начни с героина
888013
#218 #888013
>>888012
Есть только марки.
#219 #888018
>>887999
если надо делать наколенные http-сервера то асинхронный ввод-вывод, параллельное программирование
ну или уметь делать встраиваемые модули в существующие веб сервера
или если ты имеешь в виду отдачу динамического контента сформированного си или си++ кодом, то стандарты cgi, fastcgi или прочие их аналоги
#221 #888151
Есть годные онлайн курсы с/с++ в духе академии и в3школы? Хотя бы по азам. Русские, по-возможности.
#222 #888174
Функция должна вернуть ссылку на элемент массива. Не нагуглил как это делается. То есть если у меня будет код, как ниже, то 8 эллемент массива станет равен 20?
main()
{
//
double & suda = myObj.MyFunction(7);
suda=20;
//
}
class mYY
{
//
MyFunction double & ( int i)
{
return array;
}
//
888175
70 Кб, 769x348
sage #223 #888175
>>888174

> Не нагуглил как это делается.


Ты даже и не пытался, мразь.
http://en.cppreference.com/w/cpp/language/operators
888177888178
#224 #888177
>>888175

>.com


До такого я не догадался, каюсь, анон, спасибо тебе. Кстати, почему у твоего поста шапка в обратном порядке идет?
#225 #888178
>>888175
Кстати, этот момент я нагуглил, мне интереснее, как использовать потом эту ссылку.
888190
#226 #888190
>>888178
Как хочешь, так и используй, в чём твоя проблема?
888450
#227 #888194
Канал #haskell: 1593 человека
Канал #cplusplus.com: 39 человек

Оправдывайтесь, крестухи.
888200888222888264
#228 #888200
>>888194
Элита же!
888203
#229 #888203
>>888200
Ага. Обсуждают, как VS2015 побороть. И почему g++ не выдаёт исполняемый файл.
888204
#230 #888204
>>888203
Значит, канал такой нашел.
#231 #888205
Есть годные онлайн курсы с/с++ в духе академии и в3школы? Хотя бы по азам. Русские, по-возможности.
888223888584888839
#232 #888222
>>888194
Это в Ирке чтоль? Хуя вы некроманты....
888240
#233 #888223
>>888205
А чем тебе книги не угодили?
888519
#234 #888240
>>888222
Ничего лучше ирки не придумали в её области определения.
888321
#235 #888264
>>888194
Когда программисты заняты делом — им некогда сидеть пиздеть в ирках.
А когда всё коммунити не пишет ничего кроме хэловордов для того чтобы повыёбываться синтаксисом (ну и кластеров метапарадигм разумеется) — вполне естественно что кроме как сидеть в ирке похлёбывая борщ больше заняться нечем.
888546
#236 #888321
>>888240
чушь
современные корпоративные мессенджеры
slack тот же
888546
#237 #888395
Кто-нибудь может рассказать что здесь происходит?
class Base {
int *bmember;
public:
Base (int arg = 0){bmember = new int(arg);}
~Base (){delete bmember;}
};

Конкретно в конструкторе Base. Я понял, что он принимает переменную arg инициализированную 0, а потом я не совсем понимаю указателю из приватной части(зачем указатель в приватной части?) выделяет память.
888413
#238 #888413
>>888395
Потому что это поле класса. В публичной части у тебя должны быть только методы используемые извне (внезапно, лел).

Это нужно затем, чтобы можно было спокойно редактировать отдельные части проекта не изменяя его полностью.
888417
#239 #888417
>>888413

>>В публичной части у тебя должны быть только методы используемые извне (внезапно, лел).


Интерфейсы. Знаю

Про инкапсуляцию знаю, но не понимаю, что происходит в данном классе, а именно внтури конструктора
888421
#240 #888421
>>888417

>Интерфейсы.


Не знаешь, интерфейсы это вообще про другое (либо у тебя источник с кривыми терминологией).

>а именно внтури конструктора


На куче выделяется память и копируется значение arg. Что именно тебя смущает-то?
888423888442
#241 #888423
>>888421

>>копируется значение arg


В указатель "bmember" копируется?
888441
#242 #888441
>>888423
Указатель указывает на участок памяти в который копируется.
#243 #888442
>>888421
т.е. выделенная память не является переменной, а доступ к ней возможен только через указатель?
888443888446
#244 #888443
>>888442
те область памяти не имеет имени как если бы создали бы int x =3 где имя у неё как бы было "x"
888446
#245 #888446
>>888442
>>888443
Нет, что обычная переменная что указатель — разный синтаксис для разной семантики. У "обычной переменной" точно так же нет имени — оно существует только в твоём исходном коде, а так это точно такой же указатель но на стек а не кучу.
888448
#246 #888448
>>888446

>>точно так же нет имени — оно существует только в твоём исходном коде


Поэтому я и пишу "как бы имеет имя"
Я привык, что указатели используются для доступа к другим объектам памяти

Насколько я знаю, что в указателе можно сменить адрес на другую область памяти и тогда данные потеряются. Они удалятся так как на них нет указателя или произойдёт "утечка"?
888462
#247 #888450
>>888190
Я не знаю, как. Вот получил я указатель, а дальше, что? Во всех манах, что я видел с указателями работали только для передачи в функцию.
888532
#248 #888462
>>888448

>произойдёт "утечка"

888474
#249 #888474
>>888462

class Base {
int bmember;
public:
Base (int arg = 0){bmember = new int(arg);}
~Base (){delete bmember;}
};

Предположим, что нам нужно изменить этот класс так, чтобы объект такого типа содержал не один, а два указателя. Вместо того, чтобы изменять класс Base, можно поступить иначе. Ничего не меняя в Base, построить на его основе новый класс Derived:

class Derived: public Base{
int
dmember;
public:
Derived (int arg){
dmember = new int(arg); }
~Derived (){ delete dmember; }
};

В выше приведённом коде по сути ничего не наследуется, а только память в жопу засовывается из-за имитации наследования
Тем более не будет доступа к приватной части родительского класса из-за того, что используется private, а не Protected

Или я не прав?
#250 #888491
Я не очень умный, поэтому не догоняю как, когда и зачем использовать исключения. Есть что-нибудь почитать по этой теме для таких как я?
888511888549
#251 #888511
>>888491
щас мало используют исключения, новые библиотеки проектируют без них
как и фреймворки на основе иерархий классов
щас мода на темплейтную дрисню и на наследование включением
вот эти техники надо бы знать
#252 #888519
>>888223
Скучно, муторно, нет ответов на те задачки, которые я не могу решить, нет возможности наглядно отслеживать прогресс, нет быстрой проверки, многабукаф, нет удобного копипаста и поиска даже в электронных версиях.. Ну, все, как и для других языков.
888533888538
#253 #888532
>>888450

>Вот получил я указатель


Так указатель или ссылку?

>а дальше, что?


Ну тебе что сделать-то надо, блин? Ссылку как просто обычную переменную и используй. Указатель разыменовывать сначала надо, чтобы до самого значения добраться.
Нет разницы, получаешь ты указатель/ссылку из функции или просто создаёшь. Точно так же и используй. http://ideone.com/ZOZw0d
Почитай книжку какую-нибудь, короче, хуй поймёшь, что ты пытаешься спросить.
888543
#254 #888533
>>888519
Вкатывайся в Java
Для Java-богов есть Java rush и востребованность выше чем у C++ дебилов
888584
#255 #888538
>>888519

>Скучно, муторно


А туда ли ты зашёл?
888547888584
#256 #888543
>>888532

>Так указатель или ссылку?


Ссылку, конечно ссылку.
То есть, если я получил ссылку из функции, то обращаясь к ней, как к обычной переменной, я буду менять элемент массива, который лежит в другом объекте?
888569
#257 #888546
>>888264

>Когда программисты заняты делом — им некогда сидеть пиздеть в ирках.


Крестухам, чтобы выжить, приходится пахать по воскресеньям? Сочувствую.
>>888321

> slack


Не нашёл такого в списке протоколов Pidgin
А IRC есть.
888563
#258 #888547
>>888538
Не пизди на Java-бога
#259 #888549
>>888491
Лучше почитай про Maybe и Either
888563
#260 #888563
>>888549
Учитывая как они реализовываются в крестах (первый есть в стандартной библиотеке) — лучше не стоит, он же нюфаг, не порть психику.

>>888546
Это боль человека который задротит 24/7 а денег не платят?
888660
#261 #888569
>>888543
Да. Точно так же, как если бы просто сделал
int a = 10;
int &b = a;
b = 5; // a = 5;
888588
#262 #888584
>>888533
Джава сама по себе так себе, а я хочу именно С++. Про раш в курсе, спасибо.
>>888538
Да, туда.
>>888205
Бамп вопросу
#263 #888588
>>888569
Это для обычных ссылок понятно. А вот если я получаю ссылку из функции, и хочу в мейне изменить элемент массива, то я пишу
//
double & c=MyObj.Link(4);
c=7;
//
И тогда после выполнения, 4 эллемент массива будет равен 7? Если функция линк имеет вид:
//
double & Link(int i)
{
return array;
}
//
888592
#264 #888592
>>888588
Ты пробовал запускать свой код и экспериментировать?
888740
#265 #888660
>>888563

>первый есть в стандартной библиотеке


Если ты про std::optional, то ещё нету.
Если считать, что std::optional есть, то тогда и Either есть
888700
#266 #888684
http://ideone.com/11pzKA
Чому я дебил? Мне нужно, чтоб создавался класс ClassA, а не BaseClass. Почему несмотря на const внутри CreateSome оказывается BaseFactory?
#267 #888686
>>888684
Метод Tell не виртуальный.
888692888693
#268 #888688
>>888684
Ахаха
Украл код!
Теперь продам выгодно кому-нибудь
888693
#269 #888690
>>888684
И ещё это выравнивание табами... не отступы, отступы табами норм
#270 #888692
>>888684
>>888686
И у фабрики тоже не виртульные метода.
Судя по любовь к паттерноговну и — ты перекатываешься с жабы.
888694888696888787
#271 #888693
>>888686
Можно подробнее? От того что я его просто делаю виртуальным в BaseClass - получаю segfault.

>>888688
Фигли ржать? Я учусь пока.
888705
#272 #888694
>>888692

>метода


методы

> по любовь


по любви
#273 #888696
>>888692
Джаву когда-то изучал но не срослось. Перекатываюсь с Паскаля, где нихуя паттернами голову не забивал, да и тут поначалу писал почти как на чистом С, а вот дали задание обучиться паттерноговну.
888704
#274 #888700
>>888660
Везде (кроме студии) есть в experemental.
В студии просто есть.
Но реализованы настолько, блять, криво, что это просто оторви и выкинь - непонятно вообще зачем оно нужно в таком виде.
888729
#275 #888704
>>888696

>Перекатываюсь с Паскаля



Заем это было делать?
#276 #888705
>>888693

>получаю segfault


Ты передаёшь указатель T в CreateSome по значению, оттого, что ты в CreateSome ему что-то присвоил, в main() нихуя не поменяется.
888707
#277 #888707
>>888684
>>888705
Как-то так http://ideone.com/VDRBX2

override и прочую красоту наводи сам
888711
#278 #888711
>>888707
Спасибо, добра тебе, буду осознавать.
888713
#279 #888713
>>888711
Возвращаемый тип у FactoryA::Produce() можешь изменить на ClassA*, это допускается.
т.н. return type covariance
#280 #888729
>>888700

>Но реализованы настолько, блять, криво, что это просто оторви и выкинь - непонятно вообще зачем оно нужно в таком виде.


В другом виде и не будет, т.к. есть эксепшены и нет GC.
#281 #888740
>>888592
http://ideone.com/cWxlxi
Как только не крутил, не хочет компилиться.
888742
#282 #888742
>>888740
В сообщении об ошибке даже сказано, что сделать.
888745
#283 #888745
>>888742
Удалил все амперсанды во всех порядках, не помогло.
888747
#284 #888747
>>888745
Там не написано "во всех"
888748888749
#285 #888748
>>888747
Имеется в виду, что я удалял амперсанды во всех вариантах их растановок.
#286 #888749
>>888747
Извиняюсь, понял, что сообщение не к той строчке.
300 Кб, 2679x1000
#287 #888755
А чо, никто не заметил рекламы раста в шапке? В прошлый раз на кичливую картинку сбежалось половина зекача даже хачкель-дурачки, и напихали письпидончиков.

Кстати, где там наш ситхининужныпилишапкуякмочераторупойдужаловаться? Уже тред за половину перевалил, а ты мочу так и не распинал.
888757888758
#288 #888757
>>888755

>>рекламы раста в шапке



https://www.youtube.com/watch?v=CV06GFFfvdQ
#289 #888758
>>888755
Слева просто трапы, а не indie-девелоперы.
888764
73 Кб, 1280x720
#290 #888764
>>888758
Запад

Западня заднеприводная
888765
#291 #888765
Pasta time #292 #888787
>>888684
>>888692
К нам в айти отдел пришёл новый сотрудник. Нужно сказать, что у нас в отделе работают почтенные крестогоспода. Новичка посадили за компьютер, но не успели даже дать задание, как он начал кодить. Начальник из любопытства подошёл посмотреть, что он там написал. В течении секунд тридцати он побледнел, затем посинел, затем покраснел, а потом трясущимся от нескрываемого гнева голосом сказал:
- Это же Абстрактная фабрика! На чём ты кодил до этого?
- На Джаве.
- Жабапидор! - в один голос заорали все 20 человек.
- Жабапидор! Жабапидор! Жабапидор!
Кто-то включил сирену. Над дверьми замигали красные лампочки тревоги. На окнах мгновенно сомкнулись плотные жалюзи. В офисе одновременно бывает два отдела человек по сорок. На обеде вся эта толпа собирается на первом этаже, где яблоку негде упасть. А поэтому, как охранники ни пытались вырвать джавапидора из рук разъяренной толпы, им это не удалось. По всему офису стоял сплошной рев:
- Жабапидор!
В коридоре его сразу же сбили с ног. Используя галстук как поводок, его тащили через весь коридор, передавая из рук в руки. Поэтому получалось так, что никакого движения в коридоре не происходит, но и джавапидора тоже нет. Его заволокли в каптерку под лестницей, где хранятся ведра и швабры с тряпками, и там закрыли. Под конец рабочего дня он всё же появился. За получасовой обед его изнасиловали несколько человек. Сопротивляться было бы бесполезно. Через день на нем чистым оставалось одно лицо, а на теле не было живого места. Он превращался в мразь, в животное. Его били все, даже дизайнеры и уборщицы. Его заставляли есть говно и опарышей. В очко ему совали битые лампочки, живых птиц и змей. Он стал «дельфином» – в нужнике пятнадцать дырок, он ныряет в первую, выныривает, ныряет во вторую... И так – до конца. От него постоянно воняло. С ним невозможно было рядом находиться. Был такой случай: к нам устроился работать Степаныч. Степаныч сидит на толчке, а кто-то снизу через очко хватает его за яйца. Степаныч с воплем вылетает в коридор без штанов. Напротив - айти отдел. Смех не стихал долго... Потом Степаныч забил его кирзовым сапогом насмерть. Менты как узнали, что сдох джавапидор даже дело заводить не стали.
Pasta time #292 #888787
>>888684
>>888692
К нам в айти отдел пришёл новый сотрудник. Нужно сказать, что у нас в отделе работают почтенные крестогоспода. Новичка посадили за компьютер, но не успели даже дать задание, как он начал кодить. Начальник из любопытства подошёл посмотреть, что он там написал. В течении секунд тридцати он побледнел, затем посинел, затем покраснел, а потом трясущимся от нескрываемого гнева голосом сказал:
- Это же Абстрактная фабрика! На чём ты кодил до этого?
- На Джаве.
- Жабапидор! - в один голос заорали все 20 человек.
- Жабапидор! Жабапидор! Жабапидор!
Кто-то включил сирену. Над дверьми замигали красные лампочки тревоги. На окнах мгновенно сомкнулись плотные жалюзи. В офисе одновременно бывает два отдела человек по сорок. На обеде вся эта толпа собирается на первом этаже, где яблоку негде упасть. А поэтому, как охранники ни пытались вырвать джавапидора из рук разъяренной толпы, им это не удалось. По всему офису стоял сплошной рев:
- Жабапидор!
В коридоре его сразу же сбили с ног. Используя галстук как поводок, его тащили через весь коридор, передавая из рук в руки. Поэтому получалось так, что никакого движения в коридоре не происходит, но и джавапидора тоже нет. Его заволокли в каптерку под лестницей, где хранятся ведра и швабры с тряпками, и там закрыли. Под конец рабочего дня он всё же появился. За получасовой обед его изнасиловали несколько человек. Сопротивляться было бы бесполезно. Через день на нем чистым оставалось одно лицо, а на теле не было живого места. Он превращался в мразь, в животное. Его били все, даже дизайнеры и уборщицы. Его заставляли есть говно и опарышей. В очко ему совали битые лампочки, живых птиц и змей. Он стал «дельфином» – в нужнике пятнадцать дырок, он ныряет в первую, выныривает, ныряет во вторую... И так – до конца. От него постоянно воняло. С ним невозможно было рядом находиться. Был такой случай: к нам устроился работать Степаныч. Степаныч сидит на толчке, а кто-то снизу через очко хватает его за яйца. Степаныч с воплем вылетает в коридор без штанов. Напротив - айти отдел. Смех не стихал долго... Потом Степаныч забил его кирзовым сапогом насмерть. Менты как узнали, что сдох джавапидор даже дело заводить не стали.
#293 #888813
Посоветуйте тулзу, при помощи которой можно в риалтайме смотреть нагрузку на каждый поток.
889023
#294 #888839
>>888205
Бамполейо-бамполейо
#295 #889023
>>888813
threadscope
#296 #889387
>>889348
это факт того, что вы изучали C++, а теперь изучаете C#
#297 #889472
Поясните. Вот у меня есть массив, он генерируется функцией:
static int Array
generateIt();

Как теперь мне его вывести? Откуда получить значения строк и рядов?
889474889579
#298 #889474
>>889472

>static intзвездочказвездочка

#299 #889484
Алсо sizeof хуй знает что меряет, размер указателя что-ли
889488889502889579
#300 #889488
>>889484
Размер типа. Если вместо типа суёшь указатель - то размер указателя.
48 Кб, 720x492
sage #301 #889502
>>889484

> sizeof хуй знает что меряет

#302 #889579
>>889472

>Откуда получить значения строк и рядов?



1) static int Array - эо не массив, это один int
2) во-вторых, самые простые массивы в C - это молчаливый указатель на память, который тебе ровно ничего не скажет
3) если ты хочешь пердолить байты, объяви размер массива и заполняй его из generateIt;
4) если ты хочешь быть боярином, используй std::vector<int>, блеать, а у него есть метод .size() , Вставлять через .insert()

>>889484

sizeof "меряет" размер объекта. Например, все объекты std::vector<int> будут одного размера.

Самый простой массив, который ты делаешь - это, как я уже сказал, молчаливый указатель, который незначительно отличается от указателя.
889581889583889591
#303 #889581
>>889579

>это молчаливый указатель на память,



Точнее, это даже не указатель, это выделенное во время компиляции место в стеке, адрес которого подставляется вместо любого использования массива.
889889
sage #304 #889583
>>889579

> молчаливый указатель


"молчаливый" это перевод какого слова? opaque?
889588890146
#305 #889588
>>889583

Это перевод того, что сказала твоя мамаша-шл..... А, неважно.
#306 #889591
>>889579
за векторы, спасибо, намного удобнее с ними. Но в моем изначальном быдлокоде что-то типа:

static int* Array
generateit(int & Array) {
cin >> size1;
Array = new int [size1];
}

Можно теперь найти size1 через sizeof? И надо потом освобождать память.
889594
#307 #889594
>>889591

>Можно теперь найти size1 через sizeof?



Сайзоф вернёт тебе размер указателя, потому что байтоёбские массивы - это не массивы вовсе, а просто кусок памяти, который ничего о себе не знает и не хранит, адрес которого ты где-то хранишь (если это динамический "массив") иликомпилятор хранит в тайне от тебя (если это массив вида char huy[3]).

>И надо потом освобождать память.



{
std::vector huy;
fillgenerateIt;
huy.clear(); //минимизируется объём занятой памяти
} // huy разрушается программой здесь, clear тебе вообще не нужен

Умные люди специально сделали так, чтобы писать без пердолинга.
#308 #889597
Есть годные онлайн курсы с/с++ в духе академии и в3школы? Хотя бы по азам. Русские, по-возможности.
#309 #889743
http://pastebin.com/BjVWacc9
/ main.cpp /
include <vasya/pidr.hpp>
include "main.hpp"

... //main()

/ main.hpp /
class Zalupa
{
public:
Vasina_Zalupa zalupa;

... // ост. прототипы
}

Аноны, неужели мне нужно включать инклуд в другой инклуд, чтобы я смог определить тип в прототипе класса?
Это считается нормой?
Как здесь нужно поступить?
В таком варианте он ругается на то, что не может найти этот самый тип.
889750889875
#310 #889750
>>889743
class Vasya_Zalupa; перед определением Zalupa добавь и всё.
889892
#311 #889871
>>886716
Бля, пиздец. Иди там учебник прочти, документацию.
#312 #889875
>>889743
А ты как хотел? Область видимости никто не отменял.
889877
#313 #889877
>>889875

>долбоёб тыкает носом нюфага не в то говно

889887
#314 #889887
>>889877
Почему дауны так любят зеленить?
889899
#315 #889889
>>889581
Ты хотел сказать в куче?
#316 #889892
>>889750
Благодарствую. И правда помогло. Но механизма этого я так и не понял.
889899
#317 #889899
>>889887
Почему зелёные мани так любят писать хуйню и потом обижаться на гринтекст?
>>889892
Коротко говоря, это просто затычка-костыль для линковщика, которая указывает ему что здесь используется то и это, чтобы в холостую не парсить заново файл с объявлением класса (это семантика ещё из си, этакий костыльный закос "под модули").
#318 #890048
>>887474

>лямбды не полиморфные


Понятно.
#319 #890057
Qml уже достаточно годный, чтобы на нём делать окна?
890093
#320 #890064
Про плюс плюсы пишет:
http://keinkeinkein.livejournal.com/141332.html

Профессии "дальнобойщик" и "таксист" уйдут в прошлое. Данные люди будут уволены, а те из них, кто захочет переобучиться, сделают это. Они изучат дома что-нибудь наподобие Rust, C, Golang или C++, затем выучат в общих чертах какую-нибудь узкую предметную область и пойдут работать на какой-нибудь проект. Будут работать, как все. Software development и смежные области работы, кстати, вообще не требуют ни особой генетики, ни особой структуры мозга. Все смогут работать, абсолютно все.

Я думаю, что хотя бы язык Си и standard library может освоить каждый. Каждый гражданин России в возрасте от 15 до 50, не являющийся умственно отсталым, не состоящий на учете у психиатра. Не требуется там вообще (!) никакая особая структура мозга. Дальнобойщик сможет научиться использовать Vim и отладчик в том числе, если будет нормальное образование, если будут грамотно составленные курсы.

Ну и JavaScript тоже каждый может освоить. События, API браузера, DOM, замыкания, области видимости, контекст вызова, итераторы. Опять же, там вообще никакая особая генетически обусловленная структура мозга не требуется. Да все могут.

______
Анон, то есть плюсы не умрут?
sage #321 #890081
>>890064
Какой наглый самопиар
#322 #890093
>>890057
Весь его тулкит рассчитан на то, чтобы пилить мобильные гуяки. Десктопный гуй ты там будешь рисовать сам с нуля на уровне "сделать квадратик, подогнать размеры". Для десктопа лучше возьми обычный Qt с виджетами.
>>890064
Да, всё как он пишет. Со временем конечно одно легаси умрёт, другое перепишут, но третье, четвёртое и пятое никуда не денутся.
На легаси до сих пор живёт даже кобол, лол.
#323 #890096
>>890064
Хотя автор всё же хуйню несёт — дальнобойщики с таксистами никуда не денутся. Просто потому что людям будет тупо лень постоянно думать и учится.

Знания ценятся выше всего уже не первый век, а низший эшелон никуда не девается. Как думаете, почему?
890099
#324 #890099
>>890096

>дальнобойщики с таксистами


>низший эшелон


На ноль поделил!
890101
#325 #890101
>>890099
Ну почему на ноль-то? Просто в моей маня-делёжке всего три эшелона.
890104
#326 #890104
>>890101
Твоё сообщение огорчает дальнобойщиков:

>Просто потому что людям будет тупо лень постоянно думать и учится.


На их работу есть платежеспособный спрос, очевидно же.
890114
#327 #890114
>>890104
На ассенизаторов тоже спрос есть, но я не о том говорил.
#328 #890126
Крестаны, как решать проблему с линкером? В программе есть main и кастомная функция draw, при компиляции сосу хуй с undefined reference to `draw(int, graph, graph).
890128890144
#329 #890128
>>890126
Код покажи. Не ванг тред.
890137
#330 #890137
#331 #890144
>>890126
Афанасий, какого хуя у тебя в прототипе функции
void draw(int, graph, graph);
а в определении:
void draw(int mass1, graph mine[], graph player)
890148
#332 #890146
>>889583
По-моему от слова intrusive. В boost есть умный указатель boost::intrusive_ptr.
890171
#333 #890148
>>890144
Бля, правда. Спасибо.
Как в прототипе указать тогда этот graph mine[]?
890150
#334 #890150
>>890148
дык так же. Тупо скопируй строчку.

P.S.:
int mass1=0, minecount=0, mass2=0, r4;
graph mine[mass1], player={10, 10};

что это за хуйня?
890176
#335 #890152
>>890064

>Я думаю, что хотя бы язык Си и standard library может освоить каждый. Каждый гражданин России в возрасте от 15 до 50, не являющийся умственно отсталым, не состоящий на учете у психиатра. Не требуется там вообще (!) никакая особая структура мозга. Дальнобойщик сможет научиться использовать Vim и отладчик в том числе, если будет нормальное образование, если будут грамотно составленные курсы.


Проблема не в этом. Им просто не хватит упорства, усидчивости, терпения, уверенности в собственных способностях. Потому и остаются неквалифицированным быдлом, потому что не привыкли задрачивать, пердолиться и превозмогать. А еще большинство идут на поводу у совкородителей: ЧТО ТАМ ЗА КАМПЛЮКТЕРОМ СИДИШЬ. ИДИ НА ЗАВОД, НЕ ВЫДУМЫВАЙ.

В лучшем случае CMS какую-нибудь освоят за месяц платных быдлокурсов.
890164
#336 #890164
>>890152
сичую. понимание как оно все работает достигается когда сутками ищешь причину сегфолта. синтаксису можно и обезьяну научить
890172
#337 #890171
>>890146
Чёт я сомневаюсь.
#338 #890172
>>890164

>сутками ищешь причину сегфолта


valgrind
#339 #890176
>>890150

>Тупо скопируй строчку.


Так переменные не определены же, если в прототип копировать, а если из прототипа, то это не решит проблему.

>что это за хуйня?


Смотря про что ты. r4 - старая переменная, сейчас не нужна. Остальное используется.
#340 #890253
Может мне кто-нибудь объяснить, почему написать k=(++i)++ можно, а k=++(i++) нельзя?
890257890275890278
#341 #890257
>>890253
Результат (i++) это временный объект.
#342 #890275
>>890253
Может так тебе будет понятнее
http://ideone.com/XM2tmG
http://ideone.com/aBycT8
#343 #890278
>>890253
никак нельзя - это undefined behavior гугли sequence points
890279890293
#344 #890279
>>890278
Ты вообще не в тему.
890280
#345 #890280
>>890279
любая такая запись не имеет смысла, поэтому это у вас гипотетическое упражнение
890281
#346 #890281
>>890280
Не имеешь смысла ты.
k=++(i++) // не скомпилируется и вопрос у того хрена "почему это"
k=(++i)++ // не UB
#347 #890293
>>890278
Кстати, невтемщик, sequence poins сдохли с выходом 11-го стандарта.
890331
#348 #890330
Сап, крестопидоры. Как в компайлтайме получить строку из файла?
Ну то есть есть я хочу что-то типо:
std::string str = #include("zalupa.txt");
Не суть короче.

Нахуя? Для шейдеров. Грузить из в рантайме из файла - изврат, пихать текстом как строку в исходник - тоже то еще дерьмо (плюс теряется возможность няшно его редактировать как файл с подцветочкой и автокомплитом).

Аналог из дишки:
static str = import("zalupa.txt");
#349 #890331
>>890293
The C++11 and C++14 versions of the standard do not formally contain 'sequence points'; operations are 'sequenced before' or 'unsequenced' or 'indeterminately sequenced' instead. The net effect is essentially the same, but the terminology is different.

k=(++i)++ не UB это правда я со слепу просмотрел что там k а не i
890332890350
#350 #890332
#351 #890333
>>890330
#include zalupa.h

zalupa.h
#pragma once
static const char * zalupa = "...."
890334
#352 #890334
>>890333
Не, это все хуйня. Исходный файл никак не модифицировать. То есть если в zalupa.txt будет строчка "i like cocks", то и в считанной строке должна быть байт-в-байт та же строка. Иначе смысла нет никакого.

Неужели нет готового решения?
890336
#353 #890336
>>890334
это именно так и делается - ты тупо конвертишь любой бинари в char sequence, надо только тулзу найти или самому написать

unsigned char rawData[] =
{
0x12, 0x34, // ...
};

например https://sourceforge.net/projects/bin2c/
890338
#354 #890337
>>890330
Грузи в рантайме из ресурса или добавь генератор заголовка в цепочку сборки, что-то типа:

xxd -i zalupa.txt zalupa.txt.h

Потом в исходнике делай:

#include "zalupa.txt.h"

И используй переменные zalupa_txt и zalupa_txt_len (строка не заканчивается нулевым символом).
890338
#355 #890338
>>890336
>>890337
Вот же блять... Я то думал в 2к16-то уж как-то можно на шаблончиках без ебли это сделать, на крайняк мб есть какое неофициальное расширение компилятора.
890339
33 Кб, 560x268
#356 #890339
>>890338

>неофициальное расширение компилятора


>шаблончики

890341
#357 #890341
>>890339
Ну хуй знает. В дишечке же вон одной строчкой без малейших проблем делается.
Оттуда же пытаются пиздить разные фичи, типо UFCS, вдруг и на сабж есть чего-то.

В Qt то было бы попроще, там есть ресурсы и QFile. Но я пытаюсь наговнякать на голых крестах.
890344890352
#358 #890344
>>890330
Именно так как ты и хочешь http://stackoverflow.com/questions/410980/include-a-text-file-in-a-c-program-as-a-char/411714#411714
>>890341
Так она сама UFCS спиздила из функциональных языков, лол.
890345
#359 #890345
>>890344

> Так она сама UFCS спиздила из функциональных языков, лол.


Че это "спиздила из функциональных языков"? Она сама - функциональный язык. Точнее гибридный, и функциональный в том числе. С функциями первого порядка, всякими pure и мап/редьюсами и прочим.

>Именно так как ты и хочешь


Блять. Придется теперь искать, как эту хуйню скрестить с cmake
890346890383
#360 #890346
>>890345
Точнее, ненужный.
#361 #890350
>>890331
Что насчёт k = ++i + ++i ?
#362 #890352
>>890341
Считать файл — это так сложно! Без Qt и ресурсов — никак.
890355
#363 #890355
>>890352
Ты дурачок? Тут вообще не должно быть файла, эта хуйня должна делаться в компайлтайме.
Чтобы ИРЛ и время не тратить, и чтоб не тратить время на "пидорас изменил/удалил файл". Скомпилило и вшило в прогу.
#364 #890383
>>890330

>Как в компайлтайме получить строку из файла?



Это компиляторозависимая задача, стандарт С++ такое не определяет.

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

>>890345

>Блять. Придется теперь искать, как эту хуйню скрестить с cmake



В чём проблема-то?
890405
#365 #890402
Аноны, можно ли перечисления уже в самих классах (Game, например) объявлять?
Ну, что-то в стиле
enum CurrentState
{
MainMenu,
GameScreen
} static State;

А после этого где-нибудь в другом методе переопределить текущий статус для State:
Game::State = Game::CurrentState::Main;
Компилятор не ругается, но среда подчеркивает это и говорит, что такое идет только в С++ 11
(use of enumeration in a nested name specifier is a C++11 extension [-Wc++11-extensions])
Делаю ли я хорошо или творю лютую херню?
890403
#366 #890403
>>890402
Если нет цели собираться древними компиляторами всё нормально. Разве что юзай enun class-ы (в обычные енумы можно вообще что угодно засунуть и обосраться).
890432
#367 #890405
>>890383
Ну, вообще-то, чтение в реалтайме - это не так уж плохо. Можно, например, править их без перекомпиляции.
#368 #890410
>>890064
Некоторых писак почитать так программная инженерия это помойка в которой могут работать даже те кто в свою молодость учиться не хотел
#369 #890412
На сколько я понимаю, для написания кроссплатформенных приложений есть(ну точнее они чаще всего используются) два стула: Qt и GTK. Собственно вопрос такой, по существу, есть ли какие-то принципиальные различия/плюсы/недостатки? И вообще хотел бы услышать мнению по поводу создания гуишек.
890415
#370 #890415
>>890412
Есть только Qt. Забудь про Gtk.
890422
#371 #890422
>>890415
А можно поподробнее, почему так?
890425
#372 #890425
>>890422
А ты попиши на обоих - сразу поймешь, и глупые вопросы перестанешь задавать.
890433
#373 #890432
>>890403
Благодарствую, анон, за пояснение.
#374 #890433
>>890425
Ну я даже не задумывался над написанием гуи пока не стало нужно для одной учебной проги написать графический интерфейс. Было бы время - получше бы осведомился. Но всё же, объясни почему только Qt? Я немного писал в нём, но как по мне он очень усложнён.
890434
#375 #890434
>>890433

> он очень усложнён


штоа? По сравнению с чем?

>для одной учебной проги


Одно окошечко с кнопочкой можно и на говнотк написать. Вздумаешь писать настоящие приложения - взвоешь.
890440
#376 #890440
>>890434
Ну то что я видел в их иде было для меня очень нелогично, то есть с ходу написать не получилось, хотя хз, наверно всё же показалось с непривычки и от незнания. А про одно окошечку с кнопочкой это ты зря, пусть тебе не смущает, что прога учебная, приложение более чем серьезное.
890441
#377 #890441
>>890440
wxWidgets ещё есть.
#378 #890462
Парни, помогите, почему это работает?
ideone.com/GM4dqg
Все внимание на перегрузку оператора где передаётся массив случайной длины, а юзается как будто длины десять. И на выходе сука именно то количество элементов которое надо!
Пробовал в пустой программе прогнать - не вышло. Компиляция проходит, а сама прога вылетает.
Поэтому все свои говноклассы и показываю...
890477890494
#379 #890477
>>890462
Этот оператор вообще вызывается?
890479
#380 #890479
>>890477
А то, без него прога ругается на отсутствие оператора string+string[]
890480
#381 #890480
>>890479
В какой строчке. Лень искать.
#382 #890482
Всё, сука, разобрался. Работает из-за того что я заранее знал размер массива, если в дефайне его уменьшить начинает вылетать.
Тогда следующий вопрос : как узнать размер массива имея низу кроме ссылки на первый элемент?
#383 #890483
>>890482

>>имея нихуя


т9 фикс
#384 #890484
>>890482
template<size_t N>
std::string f(std::string (&arg)[N])
890487
#385 #890487
>>890482
Ну и да, для динамических >>890484 не подойдёт.

Короче, юзай vector. Ну или array, если тебе нужен фиксированный размер.
#386 #890489
>>890482

int a[10];
int size = sizeof(a)/sizeof(*a)
890491
#387 #890491
>>890489
или
sizeof(a)/sizeof(a[0])
#388 #890494
>>890462
Бля, вот это конечно, код животного. Такое уебище я давно не припомню.
Ну, вот, тогда держи
http://ideone.com/JdkZ9z
890497
#389 #890496

>то чувство когда стыдно задать вопрос

#390 #890497
>>890494

>Бля, вот это конечно, код животного. Такое уебище я давно не припомню.


> template<int N>

890500
#391 #890500
>>890497
а чому бы и нет?!
ежели хочешь, то, можно и size_t затолкать, так каноничнее
890501890502
#392 #890501
>>890500
Да похрену вообще-т.

Я имею в виду, в долгосрочной перспективе.
890506
#393 #890502
>>890500
скажика мне сколько сгенерится ф-ций из темлпейти при 100 различных размерах массива?
890505890508
#394 #890503
,
#395 #890505
>>890502
Сколько нужно.
890507
#396 #890506
>>890501
От 0 до 100
890508
#397 #890507
>>890505
теость тебя не пугает блоат код - на стописчот мигабайт exe?
890510
#398 #890508
#399 #890510
>>890507
Нет.
890511
58 Кб, 600x600
#400 #890511
890512
#401 #890512
>>890511
Ты это, не забывай помечать все функции __attribute__((noinline))
5 лишних килобайт — это не шутки!
890514
#402 #890514
>>890512
вот стакими людьми приходится работать - а потом - а чо гиг на мобилки народ не хочет ставить?
#403 #890548
Начинающий быдлокодер врывается в тред снова.
Есть следующая хуйня:
http://pastebin.com/2tEPzpGn
Задача очень проста: управлять плюсом в центре, избегая границ и звездочек (оси X и Y я перепутал еще в самой первой версии этой хуеты, потом починю). Но есть один неприятный баг. Если одна из звезд имеет координату 0, то на координатах 0.0 гарантированно ставится звездочка. Я немного потеребил отладку и код, в итоге выяснилось, что последний элемент массива mine, который выражается переменной mass1, абсолютно ебанутый, и в основном выдает или лютую хуйню в виде шестизначных и больше чисел (при том, что установленный потолок - 18), или нормальные координаты, причем закономерность у меня выявить не получается. Я уверен, что обосрамс с массивом, но я не очень хорошо их знаю, посему прошу шарящего анона указать мне на мою ошибку попутно накидав за щеку хуйцов.
890557
#404 #890557
>>890548
Напиши лучше программу для взлома VK
148 Кб, 1366x768
12 Кб, 452x324
#405 #890604
>>886043 (OP)
Вечер в хату. Студент (школьник) 1 курса. Помогите написать код на 3-е задание, сам я понимаю только как ввести/вывести массив в этой задаче х(
Сдавать завтра, вся надежда на тебя анон
890611890614
#406 #890611
>>890604
У тебя вся ночь впереди, еблан
890612
#407 #890612
890613
#408 #890613
>>890612
Почему дедлайн проебал?
890626
#409 #890614
>>890604
В цикле проходишь массив и ищешь наименьший элемент
Заводишь переменную индекс последнего элемента, инициализируешь адресом последнего элемента
В цикле опять проходишь массив, и ищешь элементы, равные наименьшему элементу +1.
Для каждого такого элемента меняешь местами его и последний элемент в массиве (адрес берешь из заведенного на предыдущем шаге индекса).
После каждого обмена уменьшаешь индекс на единичку.

Итого два цикла, 1 переменная
890616890629
#410 #890616
>>890614
Я код просил, а не сочинение
890636
#411 #890620
>>886043 (OP)

>Нету Бога кроме Страуструпа


Воистину.

>Далеки программы без утечек


При чем здесь далеки?
https://en.wikipedia.org/wiki/Dalek
890638
#412 #890626
>>890613
Долбоеб потому что, и сидел разгребал вышку с инж. графом
#413 #890629
>>890614
Доумо аригато годзаимас, анон!
#414 #890636
>>890616
я могу и в зачетке тебе расписаться
#415 #890638
>>890620
Может потому, что здесь это глагол, сериалопидор?
890648
#416 #890648
>>890638
Тебе нужен доктор.
#417 #890844
Всё, вкатываюсь в программирование до нового года, решил изучать С++.
891050
#418 #890913
>>886272
Бамп
890924
#420 #890962
Анон, подскажи, как сделать так, чтобы можно было в методе базового класса вызывать метод переопределенного?
http://ideone.com/4Fa1zN
Т.е. не T2 -> A(); а T2 -> Update();
890963890964
#421 #890963
>>890962
Отбой анон. Забыл паблик поставить в наследовании.
Тогда вопрос другой. Рили ли сократить уебанскую запись
Two T;
Two *T2 = &T, чтобы не создавать кучу объектов?
890966890967
#422 #890964
>>890962
Объяви виртуальным метод update()
890965890974
#423 #890965
>>890964
Мимо.
#424 #890966
>>890963
Лучше сделай так
Two T;
Two &T2 = T1;
890974
#425 #890967
>>890963
Лучше сделай так
First& F = Two();
890968890974
#426 #890968
>>890967
Или не делай.
#427 #890974
>>890964
>>890967
>>890966
Попробую сейчас эти варианты.

Однако я совсем в растерянности.
Main.cpp: http://pastebin.com/bQ9kzsae
Вывод: Two::A

Entity.hpp: http://pastebin.com/va1Vubdc
Player.hpp: http://pastebin.com/HLesjt9P

Entity.cpp: http://pastebin.com/ZXTERXJj
Player.cpp: http://pastebin.com/VAmU2yuc

Вывод: Entity
Может я в глаза долблюсь?
890975
#428 #890975
890977
#429 #890977
>>890975
О, как оказывается, все просто.
Благодарствую, анон. Сам бы никогда не допёр.
#430 #891034
Аноны, я где-то однажды прочитал, что тру ООП'исты, для того, чтобы обеспечить инкапсуляцию класса даже от самого класса (за исключением сеттеров и геттеров), выносят поля в отдельные классы.
Оправдано ли это?
891035891044
#431 #891035
>>891034
инкапсуляцию полей* от самого же класс
#432 #891042
Посоны, помогите долбоёбу.
Создал я структуру вот такую структуру - http://pastebin.com/fECA9dUd (это упрощённый пример, на самом деле там куча параметров с осмысленными именами, но сути это не меняет). Смысл в том, что я возжелал обращаться к переменным как по именам, несущем в себе смысловую нагрузку (т.к. это набор физических параметров), так и просто иметь возможность разом пройтись по индексу - например, при чтении из файла, где параметры хранятся по порядку. Но естественно я обосрался и что-то пошло не так - создал я вектор таких структур и начала их читать из файла, т.е. что-то типа while(!eof) {param2 p; p[0] = (считанная переменная), p[1] = ..; param2_vector.push_back(p)}, ну и после завершения цикла всё идёт по по пизде, в векторе param2_vector все param2 содержат одинаковые значения, - я так понимаю потом, что указывают на одну переменную. Двач, помоги, как это сделать по-человечески?
#433 #891044
>>891034
Ты про PIMPL что ли? Так его еще сам Мейерс использовать велел. Вообще, как показывает практика, лучше прятать детали реализации от видимого интерфейса, чтобы не лезли, куда не попадь. Как минус - уже не поинлайнишь некоторые методы, но это не такие уж и большие затраты.
891504
#434 #891050
>>890844
Држи нас в курсе.
#435 #891062
>>890924

>Not Found


Битые ссылки. Перезалей куда-то
891074
#436 #891074
>>891062
Там на 6 часов были ссылки. Чёт ты медленный.
891288
#437 #891193
Анон, поясни, а сложно в C++ будет написать программу, которая, допустим, считывает .cpp файл и выполняет без компиляции?
#438 #891196
>>891193
Погугли "Understanding and Writing Compilers" (Richard Bornat).
#439 #891231
>>891193
зачем с++? на самом деле ты хочешь себе скрипты - добавь либу луа и загружай и исполняй что угодно на луа или другом скриптовом языке
#440 #891239
Такой вопрос. Делаю быструю сортировку, но не могу отсортировать массив больше чем на 500 тысяч элементов. Это какое-то ограничение? Как отсортировать миллион и более?
891247
#441 #891247
>>891239
огрпничение тоько по памяти может быть
891290
#442 #891266
>>891193
Для D же написали rdmd. Так и тут можно.
891271
#443 #891271
>>891266
Ага, особенно учитывая что это простая программа-компаньён к компилятору которая формирует поток ввода и запускает скомпилированный бинарь, лол.
>>891193
Да. Если хочешь таким пострадать - C++ REPL прекрасно гуглятся, https://github.com/vgvassilev/cling - вот например самый свежий пример (на который, видимо, уже месяц как подзабили, ).
891477
#444 #891288
>>891074
Не будь букой, перезалей.
891476
#445 #891290
>>891247
Я пробовал тип и short int и long long разницы никакой. Даже готовые шаблоны у меня не работают при сортировке массивов свыше 500к.
891292
#446 #891292
>>891290
я про размер самого массива
int это 8 байт * 500 000 = 4 000 000 байт - у тебя может просто в озу не влезет
891300
#447 #891300
>>891292
На самом деле сортирует до 520587 элементов, потом ошибка.
Это можно как-то исправить или дело уже в самом железе?
891303891304891534
#448 #891303
>>891300
или доюавить памяти или делать извраты типа
https://en.wikipedia.org/wiki/External_sorting

но это медленнее сильно будет
#449 #891304
>>891300
у стой - этож все 5 мегабайта - а что за ошибка у тебя вылетает? вобще не должно както влиять при таких малых данных
891305891310
#450 #891305
>>891304
в мысле ~4 мегабайта данных - это мало, я чото подумал про 4 гигабайта лол
#451 #891310
>>891304
Имя события проблемы:APPCRASH
Имя приложения:qsort.exe
Версия приложения:0.0.0.0
Отметка времени приложения:00030000
Имя модуля с ошибкой:qsort.exe
Версия модуля с ошибкой:0.0.0.0
Отметка времени модуля с ошибкой:00030000
Код исключения:c00000fd
Смещение исключения:00002b2b

Вот такая ошибка.
891312891534891889
#452 #891312
>>891310
stack overflow
ты так поинмаю не динамически выделяешь память через new? если тупо int[500000] тоэто статическая память приложения - а там она ограничена - юзай динамическую память int * arr = new int[500000] не забудь потом удалить

второй вариант у тебя стек вызова ф-ции переполнен - если у тебя сорт рекурсивный - переделай его на нерекурсивный
891318891534
#453 #891318
>>891312
Насчет первого я соглашусь, сам собирался так попробовать переделать, просто хотел удостовериться в этом.
Насчет второго, мне нужно именно рекурсивно сделать сортировку.
Спасибо, бро.
#455 #891477
>>891271

>https://github.com/vgvassilev/cling - вот например самый свежий пример (на который, видимо, уже месяц как подзабили, ).


Разработка сосредоточена тут https://github.com/root-mirror/root/tree/master/interpreter
#456 #891504
Аноны, а на сколько сильно использование указателей целесообразно?
Во всех ли случаях их использование повышает скорость работы приложения?
(При условии, что утечек нигде нет и память выделяется вовремя)
Могу ли быть ситуации, при которых использовании указателя может очень сильно замедлить скорость выполнения участка кода? (либо просто замедлить)
Вот вам живой пример:
http://pastebin.com/QjEk0J5s

Первая функция определяет положение тайловой плитки на основе ее идентификаторы. Размеры тайлсета заранее известны.
Вторая функция осуществляет проход по двумерному вектору и обращается к GetTexture, запрашивая нужную текстуру.
По скорости - хрен поймешь, вроде не убавилось, вроде не прибавилось (в качестве ориентира использовал фпс и вывод большого количества элементов, чтобы залогало).

Является ли такое использование указателей хорошим, или мне надо по рукам дать?
>>891044
Так это их приблуда. Интересно.
891506
#457 #891506
>>891504
Если ты объявляешь переменную указателем и выделяешь память при помощи оператора new, память выделится в куче, при этом у тебя будут ненужные расходы на выделение этой самой памяти, нежели бы ты выделил ее статически (просто объявив переменную), тогда место выделилось бы в стеке.
Вот то, что ты сейчас сделал - навыделял памяти в куче, а потом ее вычистил - бессмысленно. Алсо, если бы у тебя во время работы возникло исключение, то память не была бы освобождена.
Это же тебе не пуфон какой.
Алсо, если ты не уверен, будет ли вызвано исключение во время работы, применяй std::uniqie_ptr для уникальных указателей (которые ты не будешь передавать никуда и использовать только в своей области видимости) или std::shared_ptr для разделяемых указателей.
Ну как-то так.
891508
#458 #891508
>>891506
Спасибо, анон, за пояснение.
За unique_ptr отдельное спасибо, не знал, что такая штука есть.
А есть ли профит в уникальном указателе в моем случае или проще не париться и влепить все обычными переменными?
891509
#459 #891509
>>891508

>проще не париться и влепить все обычными переменными

891510
#460 #891510
>>891509
Ну ок, тогда так и сделаю.
#461 #891534
>>891300
>>891310
>>891312
От нехуй делать потестил GCC и clang со статичным массивом intов.
5-ый gcc держится до ~2090000 элементов, затем сегфолтится.
clang же, видимо, сам кидает большие массивы в кучу, сколько бы большие числа я ему не подавал, он не ломался.
891890
2 Кб, 362x35
#462 #891597
>>891476
Не работает что-то...
cpptools переустановил, но результата нету.
Пикрелейтед.
891599891601891636
#463 #891599
>>891597
Проблема в том, что ты спермач.
#464 #891601
>>891597
Короче, свали в ньюфаг-тред.
#465 #891636
>>891597
Да поставь ты уже нормальную IDE, ебана в рот
891640
sage #466 #891640
891739
#467 #891648
Нужно написать в паскале абс покер, как это вообще делается? накидайте литературы
891739
#468 #891739
>>891640

>IDE


>не смердящее говно с ублюдским лагающим автокомплитом на тегах и без возможности даже подчеркнуть текст


>>891648
Накидал за щёку, проверяй.
891743891748
#469 #891743
>>891739

>>не смердящее говно с ублюдским лагающим автокомплитом на тегах и без возможности даже подчеркнуть текст


Пожар косолапой мартышки.
891744891748
#470 #891744
>>891743

>это негодование прыщавого аутиста застрявшего в 80-х годах

891748
51 Кб, 604x393
#471 #891748
>>891739
>>891743
>>891744
Господа, проявите самообладание. Не стоит выглядеть как пикрелейтед из-за того, что в треде кто-то я написал "vim"
891751
#473 #891753
>>891751
eight gigabytes and constant swapping
891793
#474 #891793
>>891753

>eight gigabytes


Ахуеть блять, ты там видео в хексе править собрался?
#475 #891889
>>891310

>qsort


проблемы со стеком скорее всего, или тыт там размещаешь слишком много данных или слишком глубокая рекурсия не помещается
#476 #891890
>>891534

>сам кидает большие массивы в кучу


это законно, вообще? если я пишу в статике значит я хочу в статике
891893891959
#477 #891893
>>891890
похуй чего ты там хочешь, быдло
#478 #891908
>>886043 (OP)
вы ебанутые? Схуяли Си и плюсы умирают? Дохуя вакух в интеле и прочих. Все это новомодные компьютерные зрения это СИ. Все что связаное с железом и оптимизацией это си. Еюанутые
891980
#479 #891959
>>891890
может clang сам расширяет статическую память при компиляци - можно ведь указать при компиляции скокльо ты памяти хочешь, так что хз
891980
sage #480 #891980
>>891959

>статическую память


/0
>>891908
Это к чему вообще?
#481 #891981
сыажа
#482 #891994
Задам нубский вопрос.
Как вывести массив массивов? То есть массив, в котором есть например 4 массива, а в этих массивах по n элементов размер которых я задаю сам. Чтобы это выглядело примерно так:
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
У меня получается только:
12345
12345
12345
12345
Если я правильно понял, двумерный массив и массив массивов - это немного разные вещи
Кути #483 #892017
Поясните за QT, хотел скачать самую последнюю версию, а мне суют какие коммерческие с 30-дневным пробным периодом. Что ето такое? QT теперь платный для продажи своих программ?
892021
#484 #892021
>>892017
Для коммерческого софта он всегда был платным. Бесплатен он для опенсорса (скачивать надо соответствующую версию).
892026
#485 #892026
>>892021
Так, а в какой среде тогда бесплатно писать кроссплатформенное коммерческое приложение и при этом не быть выебанным алчными владельцами, когда пойдут продажи?
892031892049892072
#486 #892031
>>892026

>среде


/0

Ни в какой, учится делать деньги на опенсорсе.
Всякие wx, gtk и даже ссаные fltk поголовно под жопаелью идут — опенсорс или нахуй. А по сравнению с каким нибудь sciter кутя так вообще дешёвая, лол.

Всякие фотошопы не зря почти все на своих собственных гуй-фреймворках пишутся.
253 Кб, 1280x1052
#487 #892049
>>892026

>как же ахуенно когда этот ахуевший жид который хочет сделать сириусшит без вложений соснёт пикрила

#488 #892072
>>892026
так называемые "кроссплатформенные" приложения - это означает всего лишь кривые порты с линукса на винду
включая и уебище в виде qt
что еще более забавно, когда линукса на десктопе около 1%
892131
#489 #892130
Добрый, плюсач.
Есть ли тут аноны, которые успешно смогли найти проектную оплату хоть с ~700к в год?
Был бы рад услышать стори, как уйти с галеры в подобную сферу.
Терпеть больше не могу печеньки, тимбилдинги и ИНТЕРЕСНЫЙ БЫСТРОРАЗВИВАЮЩИЙСЯ продукт. Сколько бы денег не платили.
Ну или опыт фриланса на крестах.
892132
#490 #892131
>>892072
Как Qt может быть портом с линукса, если это изначально кроссплатформенный фреймворк?
901462
#491 #892132
>>892130

>Ну или опыт фриланса на крестах.


Лол.
sage #492 #892145
время прочищать дорогу к новому треду
sage #493 #892146
сап двач
sage #498 #892152
Всё. Закопал.
#499 #901440
>>886043 (OP)
бля я раньше писал на крестах (до выхода c++ 11), потом несколько лет в него не лез, ЧТО СДЕЛАЛИ С ЯЗЫКОМ?? какие нахер decltype(auto)? constexpr? std::initializer_list? и еще куча говна, зачем они его так усложнили..
901444901458
#500 #901444
>>901440

>ЧТО СДЕЛАЛИ С ЯЗЫКОМ


Это мы боремся съ индусами такiмъ образомъ. Привыкай.
Мимострауструпъ
#501 #901458
>>901440
как раз "вся эта куча говна" кардинально упрощаешь кодинг на темплейтах, что сейчас мейнстрим в крестах (вместо ооп на гомоморфных иерархиях классав с полиморфизмом на vtable, что было популярно в 90х)
по сути cx11 это много-много синтаксического сахара для темплейтов
#502 #901462
>>892131
qt это кеды, болезный
qt под винду - такой же набор костылей что и gtk собранный под mingw
901661
#503 #901661
>>901462
Ебать дебил.
#504 #902269
>>886043 (OP)
Как автоматически отформатировать всё в Dev-C++? Вообще у упор не вижу такой функции.
902276
#505 #902276
>>902269
Надеюсь, вы ответите.
Тред утонул или удален.
Это копия, сохраненная 20 января 2017 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски