Это копия, сохраненная 20 января 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Путь наш честен, прям и строг.
Нету Бога кроме Страуструпа
А Степанов – Его пророк.
Мы других путей не знаем,
Мы с надеждой смотрим вдаль
Далеки программы без утечек.
Холодна сырая память.
Процессорная сталь, такты злые
Миг лихого торжества…
Побеждая, повторяем
Мы священные слова.
«RTTI. template. rvalue. move semantics. RAII»
Ибо даже в малой капле
Нашей крови жив Господь.
Руки держатся за клаву
Рассекающую память.
Над врагами воспаряя
Ум стремится в небеса.
Жатву байтов собирает
Компилятора острая коса,
Открывается дорога
Смысл которой прям и строг.
Нету Бога, кроме Страуструпа
А Степанов – Его пророк…
Прошлый тред: https://2ch.hk/pr/res/881172.html (М)
Q&A
Q: Где шапка?
A: У мочератора. В позапрошлом треде.
Q: Что делают хейтеры?
A: Сосут член вместе со своими мамашами.
Q: Что делают студенты с лабами?
A: То же, что и хейтеры*
std::vector<unsigned char> myVector;
Что компилятору не нравится? Типа некорректно.
std::vector<char> myVector;
тоже не ок.
#include <vector> сделал.
А тут что не так? Ошибок не вызывает, но работать тоже не хочет - хуй вместо содержимого переменной.
http://ideone.com/LWAFQt
Что тебе мешает задавать глупые вопросы здесь?
Может у тебя просто проблема как правильно сформулировать вопрос?
И это тоже. Мне хочется личного общения с аноном-сенпаем, лол. Нашел тут такого по фронтенду, когда надо было простенькую херню сделать, он мне подсказывал немножко, рассказывал про разные вещи, когда я не знал, как сделать что-то. А глупые вопросы я на stackoverflow лучше позадаю
Чтобы обучал меня, а потом помог найти работку. ^^
ДС
А хуй у такой тянучки есть? Если нет, то ты не нужна.
могло бы это быть решением такого рода проблем?
Ну а если они у тебя в одной программе, то какого хуя они у тебя одинаковые имена имеют?
хочется более личностного общения, понимаешь? с обменом фоточками и голосовым чатом, прогулками под луной, пледиком...
> Лишь одна у нас дорога
> Путь наш честен, прям и строг.
ОП, ты бы лучше не выебывался со стихами, а шапку нормальную запилил.
Хочешь шапку — иди и пили её на гитхабе (или ещё где анон сможет предлагать патчи к ней) как в других тредах и не выёбывайся. Я не собираюсь тратить хуеву тучу времени на неё, постоянно курировать (обновлять ссылочки там, добавлять книжки и тд), а потом слушать мозгоёбство по её поводу как прошлый ОП.
А стихи — традиция этого треда.
>>886144
Там же есть всякие листвью, или тебя они не устраивают?
Так в него и так можно каштомные итемы засовывать. Погуглил бы прежде чем велосипеды придумывать.
Так там нужно такой же виджет-родитель с элементами списка создать, только класс QAbstractItemView
> Я не собираюсь тратить хуеву тучу времени на неё, постоянно курировать (обновлять ссылочки там, добавлять книжки и тд), а потом слушать мозгоёбство по её поводу как прошлый ОП.
Не можешь - не делай треды. Пусть "прошлый ОП" этим занимается.
А стихи нафиг.
Не можешь помочь делом - проследуй нахуй у нас тут опенсорс и демократия. Не тебе указывать кому и что тут делать.
>А стихи нафиг.
Ваше мнение очень важно для нас, благодарим за отзыв.
Прошлый ОП - мочератор, ливнул отсюдова (по его заверениям в том плаксивом треде) ещё пару месяцев назад.
Короче - кому нужна шапка либо откопают старый тред, либо запилят независимую сменаопаустойчивую шапку как в других тредах.
асечку писечку
Стихи — культурное наследие, традиции. Это как рпц или классическая литература.
Нутыпонел короче, можешь проводить референдум по созданию шапки.
Давно пора.
Есть набор строк, который обновляется каждую минуту. В строке может быть либо обычный QString, тогда я вывожу его в виде строки QLineEdit, либо base64, тогда я рисую кнопку, которая вызывает QSaveFileDialog и сохраняет файл из base64. Голый QScrollArea с набором QLineEdit и кнопками не подходит, потому что тогда все поле расчерчено на квадраты границами QLineEdit
Оно намного сложнее? Интересно? Нужно? Сколько времени нужно убить, чтобы иметь возможность извлекать профит?
Почему бы не использовать QListView + QlistView::setIndexWidget() в местах, где нужны кнопки?
Или пойти дальше и написать QItemDelegate рисующий кнопку.
И не доберутся
У нас в ВУЗе который в участвует в программе 5-100 преподают С++ 98
В учебном пособии и лекциях которые копипаст учебного пособия от 2000г нет ничего даже про вектор
Дополню, что кресты полностью учил сам по книгам, и, изредка стаковерфлоу. Лучше хорошей книги нет ничего в нашем ремесле.
В игровой форме, чтобы с детей-дегенератов деньги доить
Консолепетух в треде, все в цветную ASCII
>>886342
> QListView + QlistView::setIndexWidget()
Хм, то есть я просто кидаю туда текст, а нужные строчки замещаю кнопками? Звучит интересно.
ага, чтобы как у явашников - на одну открытую вакансию через неделю 200-300 резюме валилось
тащем то именно это и делает большинство "мужыков" - работают ради доступа к пизденке
>>работают ради доступа к пизденке
О доступе речи не было
Одно дело работать ради доступа, а другое дело тащить на себе
Это всё разные вещи
>>886437
Кто не умеет самообразование обречён на сосание
>Кто не умеет самообразование обречён на сосание
пфф, да хоть засамообразовывайся - один фиг, когда будет 200 рыл на вакуху выберут молодое мясо, а не тебя
нет, тебя не ебал
Этот толстит. Хотя было бы забавно, я же питурд, друзей нет офк. Ну например, я когда-то при подобном общении узнал, что никто давно не использует пыхофункции взаимодействия с БД, юзая вместо этого ПДО.
>>886092
Однажды какой-то кейс по верстке нашел, прям чуть ли не баг, который мы с аноном долбили полдня из интереса. Были какие-то задачи, где я не мог ошибку в своем коде найти - тоже анон помогал.
>>886145
Там же троллинг, лол. Какой нафиг мудаквкубесобакамылору, м?
>>886263
Ну, советами, подсказками, изредка чекнуть код и помочь найти ошибку, где-то подсказать "более лучший" вариант решения проблемы, где-то ткнуть носом в готовую либу вместо моего велосипеда. Неспешное и ненапряжное общение в формате учитель-ученик.
>>886435
Пиздолиз
>Какой нафиг
А, так ты просто совсем тупое и не прошло фильтр.
Тем лучше, такие мне точно не интересны.
>Qt
>Хм. Мда.
>Впрочем, могло быть и хуже.
>почта
>mudakvCcQkubeANUSm$kKailPUNCTUMrPPFu
То есть это был не троллинг?
>фильтр
Окей, мыло вроде существует, сейчас напишу.
Я обосрался, у меня запятая вместо точки с запятой, а конпелятор ругался на Invalid declarator.
А насчет хуиты на идеоне можешь что-нибудь сказать? Чому функция не работает и в результате пустые строки?
А что ты в свою функцию передаешь и что хочешь получить? И как проверяешь?
Вообще, плохо написано. Например:
- length() возвращает не int;
- c_str() не нужно;
- строки res и s2 должны быть длинее s1.
Это мои попытки сделать то же самое. что я смог сделать на Си-строках, на строках в С++. Банальное гаммирование. Но с си-строками неинтересно, там длину передавать надо, а я пытаюсь с с++-строками или символьными векторами.
>>886482
Так кода и нет больше никакого. Печатать результат пытаюсь в виде hex посимвольно, каждый символ предварительно привожу к (int)(unsigned char). Это преобразование мне в прошлом треде посоветовали, вроде.
>>886493
Ну, я хочу получить поксоренный результат. Пердеаю строку1, строку1 и переменную для занесения результата.
> Ну, я хочу получить поксоренный результат.
> Пердеаю строку1, строку1 и переменную для занесения результата.
Я и так в коде вижу, что ты строки передаешь. Объясни толком, в чем баг. Например, 'передаю "абв" и "где", ожидаю получить "123", а получаю "хуй"'.
Получаю хуй да нихуя на выходе. Вот тупо вывод строки res дает ничего. Хоть в виде чисел, хоть в виде символов - нихуя.
А ты как выводишь пытаешься? Уж не res.length() ли используешь? Длина-то ведь не изменяется, а символы, к тому же, ещё и не принтабл. Хотя на самом деле всё туда записывается, конечно. http://ideone.com/911H9X
А есть соус картинки? Гугл почему-то думает, что тут просто ювелирные изделия на картиинке.
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", " ")
}
Чья её-то?
Полгода изучаю C++, но не касаясь ООП мне тут помогут или съебать в СИ тред?
Так вот, несколько месяцев мы делали говнолабы, что-то вроде найти наименьший элемент массива, а под конец семестра сказали, что надо написать какую-нибудь игру
Пришла в голову довольно неплохая наверное идея: на экран выводится название страны и нужно ввести название столицы этой страны.
В случае неправильного ответа на экран выводится правильный ответ и идет переход к следующей стране. В случае правильного - просто переход к следующей стране ну и конечно же rightanswer=rightanswer+1;.
На игру дается одна минута вроде бы, реализовать это можно вычитанием из времени начала игры текущее время. Нагуглил библиотеку time.h, но пока не понимаю, что там с ней. В конце выводится количество правильных ответов
Как мне все это реализовать?
И еще вопросик: как сделать обработку ошибки несоответствия типа данных? может я и хуйню написал, но суть вопроса в том, как сделать чтобы выдавало нормальную ошибку, если в переменную типа int попытаться записать не число, а какую-нибудь букву или какой-нибудь символ
Почему
>res.length()
не работает? Через что делать? Через .size()?
Или как теперь длину строки узнать?
Я выводил как раз таким макаром: http://ideone.com/cuJcxu
и вместо вывода у меня пустая строка. Неужели все равно надо отдельно передавать длину?
Съеби нахуй уже.
>>886679
Таки да, у меня тоже все записывается и через вот такие аналогичные сиауты я могу это сделать, но длины строки-то я типа не знаю. Иначе никаких преимуществ перед реализацией на си-строках, где я передавал длину строки еще одним параметром функции. Если что, мне уже намекнули, что лучше все это сделать на символьных векторах, но я хочу додолбить этот пример.
Все будет, даже флаги нарисую для тебя, через изменение цвета строки в консоле нет сделал один только для теста
>>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]
Все будет, даже флаги нарисую для тебя, через изменение цвета строки в консоле нет сделал один только для теста
>>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]
не смог в разметку
Потому что ты дебил.
>Почему res.length() не работает?
Потому что ты нигде не сообщал объекту, что изменял его размер, например?
Если res всегда пустой передаётся и длины маленькие, можешь через += делать, а не по индексам, тогда и размер автоматически будет изменяться.
>но длины строки-то я типа не знаю.
Как не знаешь-то, если ты значения в лупе присваиваешь? Вот в своей гамме и изменяй размер.
http://ideone.com/MiC9Oe
И вообще, заебал на идеоне неработающий код выкладывать, в котором нельзя просто поменять пару строк и запустить.
>>886716
>Все будет, даже флаги нарисую для тебя
Тогда Непал добавь в список стран обязательно.
>отому что ты нигде не сообщал объекту, что изменял его размер, например?
>res.resize(s1.length());
Блин, так вот оно что!
Спасибо, анон, я даже и не знал, что строка сама об этом "не догадывается". Фак, вот поэтому я и реквестирую так упорно себе сенпая, вот из какой книжки про это узнать, я ни разу упоминания об этом не видел. А тут ты и способ более годный подсказал, и мой вариант доработал всего одной строчкой так, что он из "хуйня, ничего не получается, сука, все сделал как надо, а оно нихуя, я долбоёб, три строчки написать как надо не могу" превратилось в "о, супер, заработало, я почти правильно все написал, только вот тут забыл..."
Спасибо тебе большое, анон!
А ты в гитхаб закомить
> Если заменить параметр функции на итератор (http://ideone.com/XdAmvs), то все летит по пизде и компилятор выдает разные результаты в зависимости от содержимого вектора.
Надо вектор по ссылке передавать в функцию, а ты копируешь.
А вообще, правильно так:http://ideone.com/KfXPBK
это как?
Спасибо тебе огромное, анон
>Это где?
Нюфаг не палится.
>И с чего ты взял что оп и модер один человек?
http://arhivach.org/thread/200125/
Разметку прошлой шапку посмотри. А потом посмотри что дозволено обычным смертным.
Так оп перекатывает, а шапку мод вставляет. Это уже больше чем пол года длится . Что не так?
В позапрошлом вставил (мб и чуть раньше).
Если только модератор может сделать такую шапку - как думаешь, кто же её делал?
Мб все желающие помусолить чью-то личность проследуют в готред и поговорят об илюше?
Аутист? Оп создаёт тред без шапки как теперь, а мод её вставляет. надо это в фак добавить
мимо автор идеи гитхаб шапки
Хорошо, семён, ток под меня не мимикрируй плез.
Модер видимо заебался перекатывать шапку вот и всё.
Почему заебался? В прошлы тред же вставил. А этот только вчера ночью появился. Может он не успел ещё его заметить? Вы в форму для жалоб ему писали про новый тред?
кстати перечитываю революционный тред. зима уже наступила. хотя можно подождать нового года
В позапрошлый. И смысла перекатывать ту шапку сейчас не много - все ссылки на книги давным давно мёртвые.
Перекатил твою мать, проверяй.
Да, целых говноеды и вебмакакусы уже ждут тебя там.
>все ссылки на книги давным давно мёртвые.
Я лично перезаливал книги на дробокс и сокращал ссылки гуглом. С тех пор возможно добавили новых книг. Щас проверю.
>>res.resize(s1.length());
>Блин, так вот оно что!
Ты, пидор. Тебе буквально это 2 треда назад говорили сделать.
> Мы заметили, что Вы уже больше года не пользуетесь своим аккаунтом Dropbox, и удалили его.
Бля. Я думал сайтам с регистрацией можно доверять. Вечером перезалью. Только куда?
Ок. Проверю все ли там есть. Если все, то просто сокращу ссылки и кину реквест.
Вот мой первый пост
https://2ch.hk/pr/res/881172.html#885410 (М)
Впрочем, нахуй мне что-то доказывать неадеквату?
У меня одного превью и сообщение покорёжило?
Справедливости ради, советовали ему там лишь reserve, который не помог бы. Если не изменять остальной код, разумеется.
Небыдло, вернись к распаковке юникодов.
Тебе это тоже уже говорили. Просто доступ по индексу, без .c_str() перед ним.
Не работает, я пробовал.
А, нет, пизжю, работает! Странно, раньше не получалось. Спасибо, анон.
пршел курс на степика "Введение в программирование на c++ "(тот, что он яндекса), что дальше?
Искать работу
Этот ваш степик - он бесплатный?
>>886043 (OP)
Есть годные онлайн курсы с/с++ в духе академии и в3школы? Хотя бы по азам. Русские, по-возмонжости.
Идти на олимпиаду для школьников
Первый А второй В.
>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
Нет.
Я сам каждый раз, как вижу этот код, хочу это сказать. Но нет.
А объяснение этому есть? После пары экспериментов со sleep'ом я пришёл к выводу, что:
1. При удалении future'а ожидается конец его исполнения (если запуск не был deferred)
2. Так как результат std::async ни к чему не присваивается, то и уничтожается он тут же, а значит второй async даже не вызывается, пока не пройдёт первый
3. Лишь присвоив возвращаемое std::async'ом значение переменной можно заставить асинк с x = y закончить выполнение вторым, если в нём есть sleep.
Я где-то проебался?
>Я где-то проебался?
Нет, ты прав. Деструктор std::future, полученного из std::async (std::launch::async, ...) ждёт завершения треда.
Это, наверное, входит в top 3 самых ебанутых вещей в стандартной библиотеке.
Ночное программирование.
Передо мной поставили в вузе задачу написать класс, объект которого представляет из себя динамический массив, который сортируется одним из своих методов, а также возможностью быстрого поиска.
Если нормально переписать тз, то получается:
Необходимо реализовать динамический массив чисел с возмножстью поиска и сортировки. Идея реализации: выделяется небольшой (1) массив, по мере его заполнения выделяются такие же, которые связываются в список.(2) Также должны быть следующие методы(их больше, но эти мне непонятны.)
Создать массив заданной начальной длины.(В смысле такой длины должны быть мои массивы в (1)?)
Удаление элемента по индексу.(Все остальные элементы надо видимо сдвинуть?)
Ну и самое непонятное это (2).
Что здесь вообще от меня хотят? О каких списках речь и через что их реализовывать?
Я вот описал такой список через структуру следующим образом
-------------
struct Num_Massive_//один из мини-массивов
{
Num_Massive_ prest;//ссылка на предыдущий такой массив
Num_Massive_ after=Null;//ссылка на следующий
double Numb[10];//сами значения
}
-------------
Понимаю, что с некоторыми вопросами могут быть проблемы, но все же надеюсь на помощь.
upd
Примерно понял, что нужно реализовывать через создание структуры массив из 10 элементов, ссылка на следующий экземпляр.
Но как упростить работу с индексом элемента? Можно ли создавать методы для структуры?
upd2
Векторы – это хорошо, но по сути от меня просят, чтобы я их реализовал.
Какого хрена list.insert ведёт себя по разному на GCC и VS компиляторах? Вроде ведь базовый функционал. В VS 2013 этот код крашит при инсёрте, потому-что бесконечный инсёрт листа в самого себя.
template< class InputIt >
iterator insert( const_iterator pos, InputIt first, InputIt last );
The behavior is undefined if first and last are iterators into *this.
> Передо мной поставили в вузе задачу
> Если нормально переписать тз, то получается:
> выделяется небольшой (1) массив, по мере его заполнения выделяются такие же, которые связываются в список.
> Что здесь вообще от меня хотят? О каких списках речь и через что их реализовывать?
Я что-то не понял, анон. Как точно сформулировано задание и кто его "нормально переписывал". Если ты сам, то почему вопросы по спискам? В оригинале задания списков нет.
Есть. У нас С++11 (на 14\17 не будем пока переходить, т.к. gcc 4.8.4), проект пишется, и все клево и интересно. И хайрим исключительно крестовиков, правда, без особого успеха, т.к. они либо при деле, либо бездари
Сажа приклеилась
Целиком задание звучит как реализовать динамический массив вещественных чисел с возможностью поиска и сортировки.(То есть именно класс)
В идеях реализации написано, создать небольшой массив, по мере его заполнения создать новый, такой же длины и связать их всех в список.
Вот именно с этой идеей реализации и возникают проблемы.
Пишешь обычный список в котором каждый элемент содержит небольшой массив. В чем проблема то? Закончилось место в одном массиве, создаешь еще элемент списка и заполняешь массив в нем.
А как создать удобный доступ по индексу к такой штуке? А то, каждый раз вычислять какой по счету элемент списка мне нужен не очень удобно.
Ну и гнида же ты, мразь
Ну, а что ему ещё делать? Просто прерывать тред посреди выполнения, наверное, не очень вариант. Завершать его асинхронно? Так к тому времени уже всё, к чему он обращается, может быть удалено.
А чо только начинал-то? Релокейт в какой нибудь Новосибирск/Донецк и потолок зарплаты в 60к (не стёб и не троллинг) за гигантское количество работы (за идею! за хорошие игры!) не устроили?
Или просто переболел играми и всё?
Не. Начал заниматься кодингом на цпп в 17 лет. Закончил Институт. Сейчас работаю джуниором в фирме за 50K в своём Мухосранске по тому же цпп.
>Или просто переболел играми и всё?
Инфантил же. В то время, как ебанаты мечтали писать игры а сделали бы они одно говно, ибо тупые технари без фантазии, я хотел писать блэк и зарабатывать на этом бабки. На винлокеры, например, часто бывают заказы. Еще можно организовать свой бизнес, сделав приватную площадку для теста малвари на детект всеми известными антивирусами и предоставлять эту услугу за бабосы.
Покупай биткоины, они через 2 года начнут дорожать.
Такие дела.
Хочу как на пике!
Бля, что за ебучие фильтры придумали, как папки из Студии создавать? Или сраная каша из файлов - это новая тема?
Открыть CSS на сайте и скопироватьть цвета в свою цветовую схему в IDE, очевидно.
>>887762
Это древняя тема, в студии как и культекреаторе их никогда и нельзя было создовать именно в проектах.
Решения:
а) Использовать нормальные иде (цлион);
б) Использовать 2017 студию (уже есть первью) - она полноценно поддерживает проекты с цмейком и мейкфайлами, и там можно таки добовлять папки.
погугли ради интересна на сколько лет посадили кодеров что малварь для работы по сберу на заказ делали
а получали они копейки - сотни баксов
хотя организаторы грабанули сбер за пару прошлых лет на несколько миллиардов, да
посадили всех одинаково
Благодарю.
прошел курс на степике из шапки. Не знаю, что делать дальше. Пытался приниматься за другие - что-то не знаю, по книгам - все в другом порядке. Подскажите.
Это уж откуда вызовешь, то и повесит. Вопрос я серьёзно задавал — какие ещё безопасные варианты есть? Оставить всё на совесть программисту? Можно запустить тред и задетачить его.
>Это уж откуда вызовешь
Подлость в том, что не откуда вызовешь, а кто вызовет деструктор.
> какие ещё безопасные варианты есть?
Детач.
Я уже записан. А еще? Надо же в жизни попробовать всё... ...даже самое извращенное .
Неужели ГЕТ!
Есть только марки.
если надо делать наколенные http-сервера то асинхронный ввод-вывод, параллельное программирование
ну или уметь делать встраиваемые модули в существующие веб сервера
или если ты имеешь в виду отдачу динамического контента сформированного си или си++ кодом, то стандарты cgi, fastcgi или прочие их аналоги
main()
{
//
double & suda = myObj.MyFunction(7);
suda=20;
//
}
class mYY
{
//
MyFunction double & ( int i)
{
return array;
}
//
> Не нагуглил как это делается.
Ты даже и не пытался, мразь.
http://en.cppreference.com/w/cpp/language/operators
>.com
До такого я не догадался, каюсь, анон, спасибо тебе. Кстати, почему у твоего поста шапка в обратном порядке идет?
Кстати, этот момент я нагуглил, мне интереснее, как использовать потом эту ссылку.
Канал #cplusplus.com: 39 человек
Оправдывайтесь, крестухи.
Значит, канал такой нашел.
Когда программисты заняты делом — им некогда сидеть пиздеть в ирках.
А когда всё коммунити не пишет ничего кроме хэловордов для того чтобы повыёбываться синтаксисом (ну и кластеров метапарадигм разумеется) — вполне естественно что кроме как сидеть в ирке похлёбывая борщ больше заняться нечем.
class Base {
int *bmember;
public:
Base (int arg = 0){bmember = new int(arg);}
~Base (){delete bmember;}
};
Конкретно в конструкторе Base. Я понял, что он принимает переменную arg инициализированную 0, а потом я не совсем понимаю указателю из приватной части(зачем указатель в приватной части?) выделяет память.
Потому что это поле класса. В публичной части у тебя должны быть только методы используемые извне (внезапно, лел).
Это нужно затем, чтобы можно было спокойно редактировать отдельные части проекта не изменяя его полностью.
>>В публичной части у тебя должны быть только методы используемые извне (внезапно, лел).
Интерфейсы. Знаю
Про инкапсуляцию знаю, но не понимаю, что происходит в данном классе, а именно внтури конструктора
>Интерфейсы.
Не знаешь, интерфейсы это вообще про другое (либо у тебя источник с кривыми терминологией).
>а именно внтури конструктора
На куче выделяется память и копируется значение arg. Что именно тебя смущает-то?
Указатель указывает на участок памяти в который копируется.
т.е. выделенная память не является переменной, а доступ к ней возможен только через указатель?
те область памяти не имеет имени как если бы создали бы int x =3 где имя у неё как бы было "x"
>>888443
Нет, что обычная переменная что указатель — разный синтаксис для разной семантики. У "обычной переменной" точно так же нет имени — оно существует только в твоём исходном коде, а так это точно такой же указатель но на стек а не кучу.
>>точно так же нет имени — оно существует только в твоём исходном коде
Поэтому я и пишу "как бы имеет имя"
Я привык, что указатели используются для доступа к другим объектам памяти
Насколько я знаю, что в указателе можно сменить адрес на другую область памяти и тогда данные потеряются. Они удалятся так как на них нет указателя или произойдёт "утечка"?
Я не знаю, как. Вот получил я указатель, а дальше, что? Во всех манах, что я видел с указателями работали только для передачи в функцию.
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
Или я не прав?
щас мало используют исключения, новые библиотеки проектируют без них
как и фреймворки на основе иерархий классов
щас мода на темплейтную дрисню и на наследование включением
вот эти техники надо бы знать
Скучно, муторно, нет ответов на те задачки, которые я не могу решить, нет возможности наглядно отслеживать прогресс, нет быстрой проверки, многабукаф, нет удобного копипаста и поиска даже в электронных версиях.. Ну, все, как и для других языков.
>Вот получил я указатель
Так указатель или ссылку?
>а дальше, что?
Ну тебе что сделать-то надо, блин? Ссылку как просто обычную переменную и используй. Указатель разыменовывать сначала надо, чтобы до самого значения добраться.
Нет разницы, получаешь ты указатель/ссылку из функции или просто создаёшь. Точно так же и используй. http://ideone.com/ZOZw0d
Почитай книжку какую-нибудь, короче, хуй поймёшь, что ты пытаешься спросить.
>Так указатель или ссылку?
Ссылку, конечно ссылку.
То есть, если я получил ссылку из функции, то обращаясь к ней, как к обычной переменной, я буду менять элемент массива, который лежит в другом объекте?
>Когда программисты заняты делом — им некогда сидеть пиздеть в ирках.
Крестухам, чтобы выжить, приходится пахать по воскресеньям? Сочувствую.
>>888321
> slack
Не нашёл такого в списке протоколов Pidgin
А IRC есть.
Не пизди на Java-бога
Учитывая как они реализовываются в крестах (первый есть в стандартной библиотеке) — лучше не стоит, он же нюфаг, не порть психику.
>>888546
Это боль человека который задротит 24/7 а денег не платят?
Это для обычных ссылок понятно. А вот если я получаю ссылку из функции, и хочу в мейне изменить элемент массива, то я пишу
//
double & c=MyObj.Link(4);
c=7;
//
И тогда после выполнения, 4 эллемент массива будет равен 7? Если функция линк имеет вид:
//
double & Link(int i)
{
return array;
}
//
>первый есть в стандартной библиотеке
Если ты про std::optional, то ещё нету.
Если считать, что std::optional есть, то тогда и Either есть
Чому я дебил? Мне нужно, чтоб создавался класс ClassA, а не BaseClass. Почему несмотря на const внутри CreateSome оказывается BaseFactory?
Можно подробнее? От того что я его просто делаю виртуальным в BaseClass - получаю segfault.
>>888688
Фигли ржать? Я учусь пока.
Джаву когда-то изучал но не срослось. Перекатываюсь с Паскаля, где нихуя паттернами голову не забивал, да и тут поначалу писал почти как на чистом С, а вот дали задание обучиться паттерноговну.
Везде (кроме студии) есть в experemental.
В студии просто есть.
Но реализованы настолько, блять, криво, что это просто оторви и выкинь - непонятно вообще зачем оно нужно в таком виде.
>получаю segfault
Ты передаёшь указатель T в CreateSome по значению, оттого, что ты в CreateSome ему что-то присвоил, в main() нихуя не поменяется.
Возвращаемый тип у FactoryA::Produce() можешь изменить на ClassA*, это допускается.
т.н. return type covariance
>Но реализованы настолько, блять, криво, что это просто оторви и выкинь - непонятно вообще зачем оно нужно в таком виде.
В другом виде и не будет, т.к. есть эксепшены и нет GC.
Имеется в виду, что я удалял амперсанды во всех вариантах их растановок.
Извиняюсь, понял, что сообщение не к той строчке.
Кстати, где там наш ситхининужныпилишапкуякмочераторупойдужаловаться? Уже тред за половину перевалил, а ты мочу так и не распинал.
+15
>>888692
К нам в айти отдел пришёл новый сотрудник. Нужно сказать, что у нас в отделе работают почтенные крестогоспода. Новичка посадили за компьютер, но не успели даже дать задание, как он начал кодить. Начальник из любопытства подошёл посмотреть, что он там написал. В течении секунд тридцати он побледнел, затем посинел, затем покраснел, а потом трясущимся от нескрываемого гнева голосом сказал:
- Это же Абстрактная фабрика! На чём ты кодил до этого?
- На Джаве.
- Жабапидор! - в один голос заорали все 20 человек.
- Жабапидор! Жабапидор! Жабапидор!
Кто-то включил сирену. Над дверьми замигали красные лампочки тревоги. На окнах мгновенно сомкнулись плотные жалюзи. В офисе одновременно бывает два отдела человек по сорок. На обеде вся эта толпа собирается на первом этаже, где яблоку негде упасть. А поэтому, как охранники ни пытались вырвать джавапидора из рук разъяренной толпы, им это не удалось. По всему офису стоял сплошной рев:
- Жабапидор!
В коридоре его сразу же сбили с ног. Используя галстук как поводок, его тащили через весь коридор, передавая из рук в руки. Поэтому получалось так, что никакого движения в коридоре не происходит, но и джавапидора тоже нет. Его заволокли в каптерку под лестницей, где хранятся ведра и швабры с тряпками, и там закрыли. Под конец рабочего дня он всё же появился. За получасовой обед его изнасиловали несколько человек. Сопротивляться было бы бесполезно. Через день на нем чистым оставалось одно лицо, а на теле не было живого места. Он превращался в мразь, в животное. Его били все, даже дизайнеры и уборщицы. Его заставляли есть говно и опарышей. В очко ему совали битые лампочки, живых птиц и змей. Он стал «дельфином» – в нужнике пятнадцать дырок, он ныряет в первую, выныривает, ныряет во вторую... И так – до конца. От него постоянно воняло. С ним невозможно было рядом находиться. Был такой случай: к нам устроился работать Степаныч. Степаныч сидит на толчке, а кто-то снизу через очко хватает его за яйца. Степаныч с воплем вылетает в коридор без штанов. Напротив - айти отдел. Смех не стихал долго... Потом Степаныч забил его кирзовым сапогом насмерть. Менты как узнали, что сдох джавапидор даже дело заводить не стали.
>>888692
К нам в айти отдел пришёл новый сотрудник. Нужно сказать, что у нас в отделе работают почтенные крестогоспода. Новичка посадили за компьютер, но не успели даже дать задание, как он начал кодить. Начальник из любопытства подошёл посмотреть, что он там написал. В течении секунд тридцати он побледнел, затем посинел, затем покраснел, а потом трясущимся от нескрываемого гнева голосом сказал:
- Это же Абстрактная фабрика! На чём ты кодил до этого?
- На Джаве.
- Жабапидор! - в один голос заорали все 20 человек.
- Жабапидор! Жабапидор! Жабапидор!
Кто-то включил сирену. Над дверьми замигали красные лампочки тревоги. На окнах мгновенно сомкнулись плотные жалюзи. В офисе одновременно бывает два отдела человек по сорок. На обеде вся эта толпа собирается на первом этаже, где яблоку негде упасть. А поэтому, как охранники ни пытались вырвать джавапидора из рук разъяренной толпы, им это не удалось. По всему офису стоял сплошной рев:
- Жабапидор!
В коридоре его сразу же сбили с ног. Используя галстук как поводок, его тащили через весь коридор, передавая из рук в руки. Поэтому получалось так, что никакого движения в коридоре не происходит, но и джавапидора тоже нет. Его заволокли в каптерку под лестницей, где хранятся ведра и швабры с тряпками, и там закрыли. Под конец рабочего дня он всё же появился. За получасовой обед его изнасиловали несколько человек. Сопротивляться было бы бесполезно. Через день на нем чистым оставалось одно лицо, а на теле не было живого места. Он превращался в мразь, в животное. Его били все, даже дизайнеры и уборщицы. Его заставляли есть говно и опарышей. В очко ему совали битые лампочки, живых птиц и змей. Он стал «дельфином» – в нужнике пятнадцать дырок, он ныряет в первую, выныривает, ныряет во вторую... И так – до конца. От него постоянно воняло. С ним невозможно было рядом находиться. Был такой случай: к нам устроился работать Степаныч. Степаныч сидит на толчке, а кто-то снизу через очко хватает его за яйца. Степаныч с воплем вылетает в коридор без штанов. Напротив - айти отдел. Смех не стихал долго... Потом Степаныч забил его кирзовым сапогом насмерть. Менты как узнали, что сдох джавапидор даже дело заводить не стали.
Бамполейо-бамполейо
threadscope
это факт того, что вы изучали C++, а теперь изучаете C#
static int Array
generateIt();
Как теперь мне его вывести? Откуда получить значения строк и рядов?
Размер типа. Если вместо типа суёшь указатель - то размер указателя.
>Откуда получить значения строк и рядов?
1) static int Array - эо не массив, это один int
2) во-вторых, самые простые массивы в C - это молчаливый указатель на память, который тебе ровно ничего не скажет
3) если ты хочешь пердолить байты, объяви размер массива и заполняй его из generateIt;
4) если ты хочешь быть боярином, используй std::vector<int>, блеать, а у него есть метод .size() , Вставлять через .insert()
>>889484
sizeof "меряет" размер объекта. Например, все объекты std::vector<int> будут одного размера.
Самый простой массив, который ты делаешь - это, как я уже сказал, молчаливый указатель, который незначительно отличается от указателя.
>это молчаливый указатель на память,
Точнее, это даже не указатель, это выделенное во время компиляции место в стеке, адрес которого подставляется вместо любого использования массива.
за векторы, спасибо, намного удобнее с ними. Но в моем изначальном быдлокоде что-то типа:
static int* Array
generateit(int & Array) {
cin >> size1;
Array = new int [size1];
}
Можно теперь найти size1 через sizeof? И надо потом освобождать память.
>Можно теперь найти size1 через sizeof?
Сайзоф вернёт тебе размер указателя, потому что байтоёбские массивы - это не массивы вовсе, а просто кусок памяти, который ничего о себе не знает и не хранит, адрес которого ты где-то хранишь (если это динамический "массив") иликомпилятор хранит в тайне от тебя (если это массив вида char huy[3]).
>И надо потом освобождать память.
{
std::vector huy;
fillgenerateIt;
huy.clear(); //минимизируется объём занятой памяти
} // huy разрушается программой здесь, clear тебе вообще не нужен
Умные люди специально сделали так, чтобы писать без пердолинга.
/ main.cpp /
include <vasya/pidr.hpp>
include "main.hpp"
... //main()
/ main.hpp /
class Zalupa
{
public:
Vasina_Zalupa zalupa;
... // ост. прототипы
}
Аноны, неужели мне нужно включать инклуд в другой инклуд, чтобы я смог определить тип в прототипе класса?
Это считается нормой?
Как здесь нужно поступить?
В таком варианте он ругается на то, что не может найти этот самый тип.
Бля, пиздец. Иди там учебник прочти, документацию.
Ты хотел сказать в куче?
Почему зелёные мани так любят писать хуйню и потом обижаться на гринтекст?
>>889892
Коротко говоря, это просто затычка-костыль для линковщика, которая указывает ему что здесь используется то и это, чтобы в холостую не парсить заново файл с объявлением класса (это семантика ещё из си, этакий костыльный закос "под модули").
http://keinkeinkein.livejournal.com/141332.html
Профессии "дальнобойщик" и "таксист" уйдут в прошлое. Данные люди будут уволены, а те из них, кто захочет переобучиться, сделают это. Они изучат дома что-нибудь наподобие Rust, C, Golang или C++, затем выучат в общих чертах какую-нибудь узкую предметную область и пойдут работать на какой-нибудь проект. Будут работать, как все. Software development и смежные области работы, кстати, вообще не требуют ни особой генетики, ни особой структуры мозга. Все смогут работать, абсолютно все.
Я думаю, что хотя бы язык Си и standard library может освоить каждый. Каждый гражданин России в возрасте от 15 до 50, не являющийся умственно отсталым, не состоящий на учете у психиатра. Не требуется там вообще (!) никакая особая структура мозга. Дальнобойщик сможет научиться использовать Vim и отладчик в том числе, если будет нормальное образование, если будут грамотно составленные курсы.
Ну и JavaScript тоже каждый может освоить. События, API браузера, DOM, замыкания, области видимости, контекст вызова, итераторы. Опять же, там вообще никакая особая генетически обусловленная структура мозга не требуется. Да все могут.
______
Анон, то есть плюсы не умрут?
Какой наглый самопиар
Весь его тулкит рассчитан на то, чтобы пилить мобильные гуяки. Десктопный гуй ты там будешь рисовать сам с нуля на уровне "сделать квадратик, подогнать размеры". Для десктопа лучше возьми обычный Qt с виджетами.
>>890064
Да, всё как он пишет. Со временем конечно одно легаси умрёт, другое перепишут, но третье, четвёртое и пятое никуда не денутся.
На легаси до сих пор живёт даже кобол, лол.
Хотя автор всё же хуйню несёт — дальнобойщики с таксистами никуда не денутся. Просто потому что людям будет тупо лень постоянно думать и учится.
Знания ценятся выше всего уже не первый век, а низший эшелон никуда не девается. Как думаете, почему?
Твоё сообщение огорчает дальнобойщиков:
>Просто потому что людям будет тупо лень постоянно думать и учится.
На их работу есть платежеспособный спрос, очевидно же.
На ассенизаторов тоже спрос есть, но я не о том говорил.
Афанасий, какого хуя у тебя в прототипе функции
void draw(int, graph, graph);
а в определении:
void draw(int mass1, graph mine[], graph player)
дык так же. Тупо скопируй строчку.
P.S.:
int mass1=0, minecount=0, mass2=0, r4;
graph mine[mass1], player={10, 10};
что это за хуйня?
>Я думаю, что хотя бы язык Си и standard library может освоить каждый. Каждый гражданин России в возрасте от 15 до 50, не являющийся умственно отсталым, не состоящий на учете у психиатра. Не требуется там вообще (!) никакая особая структура мозга. Дальнобойщик сможет научиться использовать Vim и отладчик в том числе, если будет нормальное образование, если будут грамотно составленные курсы.
Проблема не в этом. Им просто не хватит упорства, усидчивости, терпения, уверенности в собственных способностях. Потому и остаются неквалифицированным быдлом, потому что не привыкли задрачивать, пердолиться и превозмогать. А еще большинство идут на поводу у совкородителей: ЧТО ТАМ ЗА КАМПЛЮКТЕРОМ СИДИШЬ. ИДИ НА ЗАВОД, НЕ ВЫДУМЫВАЙ.
В лучшем случае CMS какую-нибудь освоят за месяц платных быдлокурсов.
сичую. понимание как оно все работает достигается когда сутками ищешь причину сегфолта. синтаксису можно и обезьяну научить
Чёт я сомневаюсь.
>Тупо скопируй строчку.
Так переменные не определены же, если в прототип копировать, а если из прототипа, то это не решит проблему.
>что это за хуйня?
Смотря про что ты. r4 - старая переменная, сейчас не нужна. Остальное используется.
Результат (i++) это временный объект.
Не имеешь смысла ты.
k=++(i++) // не скомпилируется и вопрос у того хрена "почему это"
k=(++i)++ // не UB
Ну то есть есть я хочу что-то типо:
std::string str = #include("zalupa.txt");
Не суть короче.
Нахуя? Для шейдеров. Грузить из в рантайме из файла - изврат, пихать текстом как строку в исходник - тоже то еще дерьмо (плюс теряется возможность няшно его редактировать как файл с подцветочкой и автокомплитом).
Аналог из дишки:
static str = import("zalupa.txt");
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
Ок.
Не, это все хуйня. Исходный файл никак не модифицировать. То есть если в zalupa.txt будет строчка "i like cocks", то и в считанной строке должна быть байт-в-байт та же строка. Иначе смысла нет никакого.
Неужели нет готового решения?
это именно так и делается - ты тупо конвертишь любой бинари в char sequence, надо только тулзу найти или самому написать
unsigned char rawData[] =
{
0x12, 0x34, // ...
};
например https://sourceforge.net/projects/bin2c/
Грузи в рантайме из ресурса или добавь генератор заголовка в цепочку сборки, что-то типа:
xxd -i zalupa.txt zalupa.txt.h
Потом в исходнике делай:
#include "zalupa.txt.h"
И используй переменные zalupa_txt и zalupa_txt_len (строка не заканчивается нулевым символом).
>>890337
Вот же блять... Я то думал в 2к16-то уж как-то можно на шаблончиках без ебли это сделать, на крайняк мб есть какое неофициальное расширение компилятора.
Ну хуй знает. В дишечке же вон одной строчкой без малейших проблем делается.
Оттуда же пытаются пиздить разные фичи, типо UFCS, вдруг и на сабж есть чего-то.
В Qt то было бы попроще, там есть ресурсы и QFile. Но я пытаюсь наговнякать на голых крестах.
Именно так как ты и хочешь http://stackoverflow.com/questions/410980/include-a-text-file-in-a-c-program-as-a-char/411714#411714
>>890341
Так она сама UFCS спиздила из функциональных языков, лол.
> Так она сама UFCS спиздила из функциональных языков, лол.
Че это "спиздила из функциональных языков"? Она сама - функциональный язык. Точнее гибридный, и функциональный в том числе. С функциями первого порядка, всякими pure и мап/редьюсами и прочим.
>Именно так как ты и хочешь
Блять. Придется теперь искать, как эту хуйню скрестить с cmake
Точнее, ненужный.
Что насчёт k = ++i + ++i ?
Ты дурачок? Тут вообще не должно быть файла, эта хуйня должна делаться в компайлтайме.
Чтобы ИРЛ и время не тратить, и чтоб не тратить время на "пидорас изменил/удалил файл". Скомпилило и вшило в прогу.
>Как в компайлтайме получить строку из файла?
Это компиляторозависимая задача, стандарт С++ такое не определяет.
Могу только сказать, что строку ты можешь определить через препроцессор, например.
>>890345
>Блять. Придется теперь искать, как эту хуйню скрестить с cmake
В чём проблема-то?
Ну, что-то в стиле
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])
Делаю ли я хорошо или творю лютую херню?
Если нет цели собираться древними компиляторами всё нормально. Разве что юзай enun class-ы (в обычные енумы можно вообще что угодно засунуть и обосраться).
Ну, вообще-то, чтение в реалтайме - это не так уж плохо. Можно, например, править их без перекомпиляции.
Некоторых писак почитать так программная инженерия это помойка в которой могут работать даже те кто в свою молодость учиться не хотел
Благодарствую, анон, за пояснение.
Ну я даже не задумывался над написанием гуи пока не стало нужно для одной учебной проги написать графический интерфейс. Было бы время - получше бы осведомился. Но всё же, объясни почему только Qt? Я немного писал в нём, но как по мне он очень усложнён.
> он очень усложнён
штоа? По сравнению с чем?
>для одной учебной проги
Одно окошечко с кнопочкой можно и на говнотк написать. Вздумаешь писать настоящие приложения - взвоешь.
Ну то что я видел в их иде было для меня очень нелогично, то есть с ходу написать не получилось, хотя хз, наверно всё же показалось с непривычки и от незнания. А про одно окошечку с кнопочкой это ты зря, пусть тебе не смущает, что прога учебная, приложение более чем серьезное.
wxWidgets ещё есть.
ideone.com/GM4dqg
Все внимание на перегрузку оператора где передаётся массив случайной длины, а юзается как будто длины десять. И на выходе сука именно то количество элементов которое надо!
Пробовал в пустой программе прогнать - не вышло. Компиляция проходит, а сама прога вылетает.
Поэтому все свои говноклассы и показываю...
В какой строчке. Лень искать.
Тогда следующий вопрос : как узнать размер массива имея низу кроме ссылки на первый элемент?
Бля, вот это конечно, код животного. Такое уебище я давно не припомню.
Ну, вот, тогда держи
http://ideone.com/JdkZ9z
>то чувство когда стыдно задать вопрос
скажика мне сколько сгенерится ф-ций из темлпейти при 100 различных размерах массива?
Ты это, не забывай помечать все функции __attribute__((noinline))
5 лишних килобайт — это не шутки!
вот стакими людьми приходится работать - а потом - а чо гиг на мобилки народ не хочет ставить?
Есть следующая хуйня:
http://pastebin.com/2tEPzpGn
Задача очень проста: управлять плюсом в центре, избегая границ и звездочек (оси X и Y я перепутал еще в самой первой версии этой хуеты, потом починю). Но есть один неприятный баг. Если одна из звезд имеет координату 0, то на координатах 0.0 гарантированно ставится звездочка. Я немного потеребил отладку и код, в итоге выяснилось, что последний элемент массива mine, который выражается переменной mass1, абсолютно ебанутый, и в основном выдает или лютую хуйню в виде шестизначных и больше чисел (при том, что установленный потолок - 18), или нормальные координаты, причем закономерность у меня выявить не получается. Я уверен, что обосрамс с массивом, но я не очень хорошо их знаю, посему прошу шарящего анона указать мне на мою ошибку попутно накидав за щеку хуйцов.
Напиши лучше программу для взлома VK
Вечер в хату. Студент (школьник) 1 курса. Помогите написать код на 3-е задание, сам я понимаю только как ввести/вывести массив в этой задаче х(
Сдавать завтра, вся надежда на тебя анон
В цикле проходишь массив и ищешь наименьший элемент
Заводишь переменную индекс последнего элемента, инициализируешь адресом последнего элемента
В цикле опять проходишь массив, и ищешь элементы, равные наименьшему элементу +1.
Для каждого такого элемента меняешь местами его и последний элемент в массиве (адрес берешь из заведенного на предыдущем шаге индекса).
После каждого обмена уменьшаешь индекс на единичку.
Итого два цикла, 1 переменная
>Нету Бога кроме Страуструпа
Воистину.
>Далеки программы без утечек
При чем здесь далеки?
https://en.wikipedia.org/wiki/Dalek
Долбоеб потому что, и сидел разгребал вышку с инж. графом
Доумо аригато годзаимас, анон!
я могу и в зачетке тебе расписаться
Тебе нужен доктор.
http://ideone.com/4Fa1zN
Т.е. не T2 -> A(); а T2 -> Update();
Отбой анон. Забыл паблик поставить в наследовании.
Тогда вопрос другой. Рили ли сократить уебанскую запись
Two T;
Two *T2 = &T, чтобы не создавать кучу объектов?
Мимо.
Или не делай.
>>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
Может я в глаза долблюсь?
Оправдано ли это?
инкапсуляцию полей* от самого же класс
Создал я структуру вот такую структуру - http://pastebin.com/fECA9dUd (это упрощённый пример, на самом деле там куча параметров с осмысленными именами, но сути это не меняет). Смысл в том, что я возжелал обращаться к переменным как по именам, несущем в себе смысловую нагрузку (т.к. это набор физических параметров), так и просто иметь возможность разом пройтись по индексу - например, при чтении из файла, где параметры хранятся по порядку. Но естественно я обосрался и что-то пошло не так - создал я вектор таких структур и начала их читать из файла, т.е. что-то типа while(!eof) {param2 p; p[0] = (считанная переменная), p[1] = ..; param2_vector.push_back(p)}, ну и после завершения цикла всё идёт по по пизде, в векторе param2_vector все param2 содержат одинаковые значения, - я так понимаю потом, что указывают на одну переменную. Двач, помоги, как это сделать по-человечески?
Ты про PIMPL что ли? Так его еще сам Мейерс использовать велел. Вообще, как показывает практика, лучше прятать детали реализации от видимого интерфейса, чтобы не лезли, куда не попадь. Как минус - уже не поинлайнишь некоторые методы, но это не такие уж и большие затраты.
Држи нас в курсе.
Погугли "Understanding and Writing Compilers" (Richard Bornat).
зачем с++? на самом деле ты хочешь себе скрипты - добавь либу луа и загружай и исполняй что угодно на луа или другом скриптовом языке
Ага, особенно учитывая что это простая программа-компаньён к компилятору которая формирует поток ввода и запускает скомпилированный бинарь, лол.
>>891193
Да. Если хочешь таким пострадать - C++ REPL прекрасно гуглятся, https://github.com/vgvassilev/cling - вот например самый свежий пример (на который, видимо, уже месяц как подзабили, ).
Я пробовал тип и short int и long long разницы никакой. Даже готовые шаблоны у меня не работают при сортировке массивов свыше 500к.
я про размер самого массива
int это 8 байт * 500 000 = 4 000 000 байт - у тебя может просто в озу не влезет
На самом деле сортирует до 520587 элементов, потом ошибка.
Это можно как-то исправить или дело уже в самом железе?
или доюавить памяти или делать извраты типа
https://en.wikipedia.org/wiki/External_sorting
но это медленнее сильно будет
у стой - этож все 5 мегабайта - а что за ошибка у тебя вылетает? вобще не должно както влиять при таких малых данных
в мысле ~4 мегабайта данных - это мало, я чото подумал про 4 гигабайта лол
Имя события проблемы:APPCRASH
Имя приложения:qsort.exe
Версия приложения:0.0.0.0
Отметка времени приложения:00030000
Имя модуля с ошибкой:qsort.exe
Версия модуля с ошибкой:0.0.0.0
Отметка времени модуля с ошибкой:00030000
Код исключения:c00000fd
Смещение исключения:00002b2b
Вот такая ошибка.
stack overflow
ты так поинмаю не динамически выделяешь память через new? если тупо int[500000] тоэто статическая память приложения - а там она ограничена - юзай динамическую память int * arr = new int[500000] не забудь потом удалить
второй вариант у тебя стек вызова ф-ции переполнен - если у тебя сорт рекурсивный - переделай его на нерекурсивный
Насчет первого я соглашусь, сам собирался так попробовать переделать, просто хотел удостовериться в этом.
Насчет второго, мне нужно именно рекурсивно сделать сортировку.
Спасибо, бро.
>https://github.com/vgvassilev/cling - вот например самый свежий пример (на который, видимо, уже месяц как подзабили, ).
Разработка сосредоточена тут https://github.com/root-mirror/root/tree/master/interpreter
Во всех ли случаях их использование повышает скорость работы приложения?
(При условии, что утечек нигде нет и память выделяется вовремя)
Могу ли быть ситуации, при которых использовании указателя может очень сильно замедлить скорость выполнения участка кода? (либо просто замедлить)
Вот вам живой пример:
http://pastebin.com/QjEk0J5s
Первая функция определяет положение тайловой плитки на основе ее идентификаторы. Размеры тайлсета заранее известны.
Вторая функция осуществляет проход по двумерному вектору и обращается к GetTexture, запрашивая нужную текстуру.
По скорости - хрен поймешь, вроде не убавилось, вроде не прибавилось (в качестве ориентира использовал фпс и вывод большого количества элементов, чтобы залогало).
Является ли такое использование указателей хорошим, или мне надо по рукам дать?
>>891044
Так это их приблуда. Интересно.
Если ты объявляешь переменную указателем и выделяешь память при помощи оператора new, память выделится в куче, при этом у тебя будут ненужные расходы на выделение этой самой памяти, нежели бы ты выделил ее статически (просто объявив переменную), тогда место выделилось бы в стеке.
Вот то, что ты сейчас сделал - навыделял памяти в куче, а потом ее вычистил - бессмысленно. Алсо, если бы у тебя во время работы возникло исключение, то память не была бы освобождена.
Это же тебе не пуфон какой.
Алсо, если ты не уверен, будет ли вызвано исключение во время работы, применяй std::uniqie_ptr для уникальных указателей (которые ты не будешь передавать никуда и использовать только в своей области видимости) или std::shared_ptr для разделяемых указателей.
Ну как-то так.
Спасибо, анон, за пояснение.
За unique_ptr отдельное спасибо, не знал, что такая штука есть.
А есть ли профит в уникальном указателе в моем случае или проще не париться и влепить все обычными переменными?
Ну ок, тогда так и сделаю.
>>891310
>>891312
От нехуй делать потестил GCC и clang со статичным массивом intов.
5-ый gcc держится до ~2090000 элементов, затем сегфолтится.
clang же, видимо, сам кидает большие массивы в кучу, сколько бы большие числа я ему не подавал, он не ломался.
Проблема в том, что ты спермач.
Короче, свали в ньюфаг-тред.
>>не смердящее говно с ублюдским лагающим автокомплитом на тегах и без возможности даже подчеркнуть текст
Пожар косолапой мартышки.
>>891743
>>891744
Господа, проявите самообладание. Не стоит выглядеть как пикрелейтед из-за того, что в треде кто-то я написал "vim"
>qsort
проблемы со стеком скорее всего, или тыт там размещаешь слишком много данных или слишком глубокая рекурсия не помещается
>сам кидает большие массивы в кучу
это законно, вообще? если я пишу в статике значит я хочу в статике
похуй чего ты там хочешь, быдло
вы ебанутые? Схуяли Си и плюсы умирают? Дохуя вакух в интеле и прочих. Все это новомодные компьютерные зрения это СИ. Все что связаное с железом и оптимизацией это си. Еюанутые
может clang сам расширяет статическую память при компиляци - можно ведь указать при компиляции скокльо ты памяти хочешь, так что хз
Как вывести массив массивов? То есть массив, в котором есть например 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
Если я правильно понял, двумерный массив и массив массивов - это немного разные вещи
Для коммерческого софта он всегда был платным. Бесплатен он для опенсорса (скачивать надо соответствующую версию).
Так, а в какой среде тогда бесплатно писать кроссплатформенное коммерческое приложение и при этом не быть выебанным алчными владельцами, когда пойдут продажи?
>среде
/0
Ни в какой, учится делать деньги на опенсорсе.
Всякие wx, gtk и даже ссаные fltk поголовно под жопаелью идут — опенсорс или нахуй. А по сравнению с каким нибудь sciter кутя так вообще дешёвая, лол.
Всякие фотошопы не зря почти все на своих собственных гуй-фреймворках пишутся.
>как же ахуенно когда этот ахуевший жид который хочет сделать сириусшит без вложений соснёт пикрила
так называемые "кроссплатформенные" приложения - это означает всего лишь кривые порты с линукса на винду
включая и уебище в виде qt
что еще более забавно, когда линукса на десктопе около 1%
Есть ли тут аноны, которые успешно смогли найти проектную оплату хоть с ~700к в год?
Был бы рад услышать стори, как уйти с галеры в подобную сферу.
Терпеть больше не могу печеньки, тимбилдинги и ИНТЕРЕСНЫЙ БЫСТРОРАЗВИВАЮЩИЙСЯ продукт. Сколько бы денег не платили.
Ну или опыт фриланса на крестах.
Как Qt может быть портом с линукса, если это изначально кроссплатформенный фреймворк?
ПЕРЕКОТ
https://2ch.hk/pr/res/892147.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/892147.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/892147.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/892147.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/892147.html (М)
ПЕРЕКОТ
ПЕРЕКОТ
https://2ch.hk/pr/res/892147.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/892147.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/892147.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/892147.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/892147.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/892147.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/892147.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/892147.html (М)
ПЕРЕКОТ
ПЕРЕКОТ
https://2ch.hk/pr/res/892147.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/892147.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/892147.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/892147.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/892147.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/892147.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/892147.html (М)
ПЕРЕКОТ
ПЕРЕКОТ
https://2ch.hk/pr/res/892147.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/892147.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/892147.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/892147.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/892147.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/892147.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/892147.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/892147.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/892147.html (М)
ПЕРЕКОТ
бля я раньше писал на крестах (до выхода c++ 11), потом несколько лет в него не лез, ЧТО СДЕЛАЛИ С ЯЗЫКОМ?? какие нахер decltype(auto)? constexpr? std::initializer_list? и еще куча говна, зачем они его так усложнили..
как раз "вся эта куча говна" кардинально упрощаешь кодинг на темплейтах, что сейчас мейнстрим в крестах (вместо ооп на гомоморфных иерархиях классав с полиморфизмом на vtable, что было популярно в 90х)
по сути cx11 это много-много синтаксического сахара для темплейтов
Ебать дебил.
Как автоматически отформатировать всё в Dev-C++? Вообще у упор не вижу такой функции.
Надеюсь, вы ответите.
Это копия, сохраненная 20 января 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.