Сохранен 568
https://2ch.hk/pr/res/441690.html
Прошлые домены больше не функционируют, используйте адрес ARHIVACH.HK.
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

C/C++

 Аноним 24/02/15 Втр 16:08:56 #1 №441690 
14247833362440.jpg
Предыдущий тонет тут:
>>426100
Аноним 24/02/15 Втр 17:10:53 #2 №441716 
>>441690
Перепишите с использованием хвостовой рекурсии.
Аноним 24/02/15 Втр 18:11:05 #3 №441727 
>>441725
http://ideone.com/xSDeAx
Ну очевидно же:
Если переменная скорости по оси 0: возвращает новую координату положения по одно оси (которая не 0) с учетом скорости и шага.
Если переменная скорости по оси не 0: возвращает новую координату с учетом угла , скорости и шага.
Аноним 24/02/15 Втр 18:11:44 #4 №441728 
>>441716
Разве в крестах есть TCO?
Аноним 24/02/15 Втр 18:23:16 #5 №441733 
>>441727
Прочитал свой-же пост и оптимизировал.
http://ideone.com/xSDeAx
Аноним 24/02/15 Втр 18:25:10 #6 №441735 
>>441733
Посмотрел еще раз и поня, хуйню написал.
Аноним 24/02/15 Втр 18:55:50 #7 №441753 
Помогите долбоебу.
Как в двухмерном динамическом массиве найти максимумы строк?
Аноним 24/02/15 Втр 19:08:32 #8 №441758 
>>441727
Нет-нет, ты меня не понял. Я знаю что означает этот код. Но для чего он предназначен? Что такое b?
В идеале у тебя в классе typeof(b) должна быть член-функция animate(int step), которая делает все это говно. и ты просто вызываешь
b.animate(timeStep); // ясный и понятный читателю код, причем b само оперирует своими членами
А то, что у тебя - это открытая реализация, суть говнокод.
Аноним 24/02/15 Втр 19:12:41 #9 №441761 
>>441753
для каждой строки {
максимум это минимальное возможное значение
пока не конец строки {
если текущий элемент больше максимума, то максимум это текущий элемент
}
вывести максимум
}
Аноним 24/02/15 Втр 19:18:07 #10 №441763 
>>441753
А в чём проблема?

http://ideone.com/VbWqJ1
sageАноним 24/02/15 Втр 19:21:47 #11 №441765 
>>441753
map maximum
Аноним 24/02/15 Втр 19:26:03 #12 №441767 
>>441758
b - 2Д объект с координатами, вектором направления и скоростью. Считай, что этот код - внутренности animate
Аноним 24/02/15 Втр 19:33:35 #13 №441769 
>>441767
хорошо бы полный код увидеть. Если это внутренности animate, то все норм (я правда так и не понял как это ты так охуенно учитываешь угол просто выполняя деление)
Аноним 24/02/15 Втр 19:53:22 #14 №441772 
>>441769
>>я правда так и не понял как это ты так охуенно учитываешь угол просто выполняя деление
Все тригонометрические функции углов - это же ОТНОШЕНИЯ, лалка.
Аноним 24/02/15 Втр 20:02:41 #15 №441776 
>>441772
Хуя ты выебнулся, сечешь фишку-то.
так все-таки, нахуя тебе тангенс и арктангенс в данном конкретном случае, ЛАЛКА
Аноним 24/02/15 Втр 20:03:17 #16 №441777 
>>441776
>арктангенс
котангенс конечно
Аноним 24/02/15 Втр 20:13:35 #17 №441778 
>>441777
>>441776
Чтобы рассчитать финальные координаты точки (катеты), зная скорость (гипотенузу) и направление азимут? (этот самый тангенс). Собственно сам код не верен, это я только, что понял, но идея такова.
Аноним 25/02/15 Срд 13:27:24 #18 №442131 
Это опять я. Куда эти фигурные скобки поставить? Или так норм (мне как-то не очень)?
http://ideone.com/KpiBCB
Аноним 25/02/15 Срд 13:50:05 #19 №442146 
vector<int> v = {1,2,3,5,8,13};
for (int x : v) {...}
Есть ли у такой записи преимущества/недостатки по сравнению с обычным for(int i=0; i<v.size(); ++i)?
А по сравнению с итераторами?
Аноним 25/02/15 Срд 14:07:41 #20 №442152 
>>442146
>чем foreach лучше for?
Это 2 разных цикла.
Аноним 25/02/15 Срд 14:19:35 #21 №442153 
>>442152
Поясни, в чем отличия.
sageАноним 25/02/15 Срд 14:35:34 #22 №442158 
>>442131
Мамаше своей запихай в сральню.
>>442153
Синтаксический сахар над for-ом с итераторами и присвоением переменной x значения итератора. Небольшой оверхед, но с оптимизацией его не будет.
Аноним 25/02/15 Срд 14:37:15 #23 №442161 
>>442153
По идее, x = v. Алсо, я бы предпочёл писать

>vector<int> v = {1,2,3,5,8,13};
>for(unsigned int n = v.size(), i=0; i < n; ++i) {}
sageАноним 25/02/15 Срд 14:37:29 #24 №442162 
>>442158
А чтоб оверхеда не было, читай вот: http://en.cppreference.com/w/cpp/language/range-for
Аноним 25/02/15 Срд 14:38:40 #25 №442163 
>>442161
Ну сука ёбаная разметка, сожрала i в квадратных скобках. Пошёл в /d бампать тред о возврате [code].
sageАноним 25/02/15 Срд 14:38:42 #26 №442164 
>>442161
Пиздец ты говноед. Обоссал. Из-за таких как нас и не любят.
Аноним 25/02/15 Срд 14:59:19 #27 №442174 
>>442158
>Мамаше своей запихай в сральню.
>>442164
>Из-за таких как нас и не любят.

Да, именно из за него.
Аноним 25/02/15 Срд 15:19:25 #28 №442185 
>>442161
Хуйня. Итерировать контейнеры лучше через
foreach(auto& element : container)
Аноним 25/02/15 Срд 15:22:05 #29 №442188 
>>442164
Обоснуй.
sageАноним 25/02/15 Срд 15:43:43 #30 №442200 
>>442188
Твой код трудно читаем.
Вместо запихивания размера вектора в дополнительную переменную, мог бы просто сравнивать сразу с ним. Конпелятор такое оптимизирует.
Аноним 25/02/15 Срд 15:50:48 #31 №442202 
Аноны, как избавиться от чисел, аля 4.2e+037 в выводе?
sageАноним 25/02/15 Срд 15:54:56 #32 №442204 
>>442202
http://www.cplusplus.com/reference/cstdio/printf/
Аноним 25/02/15 Срд 16:41:57 #33 №442245 
>>442204
У меня на выводе из переменной числа такие.
Погуглил, не нашел как переменную засунуть в функцию эту
sageАноним 25/02/15 Срд 16:56:58 #34 №442258 
>>442245
Как ты ее выводишь то, блять? Код давай или иди на хуй. Как же вы заебали.
Аноним 25/02/15 Срд 17:27:16 #35 №442282 
Сап, не знал куда обратиться к вам или жестянщикам, думаю вам ближе. родилось желание и купил себе ардуино, хочу разобраться что да как, но я так понял там С-подобная урезка используется, может сможете помочь годными гайдами для нулевиков и желательно на русском. Сам программировал только в базовом курсе делфи, поэтому понятие крайне общее обо всем
sageАноним 25/02/15 Срд 17:41:25 #36 №442286 
>>442282
Катись к хуям со своей парашей. Английский он в школе не учил, а дуину у мамки выпросил и туда же. Чепуш блять. Бери примеры из IDE и мануалы с оффсайта и разбирайся. И английский учи. Либо копай картошку как все неграмотное было и не выебывайся.
Аноним 25/02/15 Срд 17:50:45 #37 №442294 
>>442146
foreach - это сахар для итератора. С учетом того, что итератор у вектора тупо указатель на элемент, то разницы не будет абсолютно никакой.
Аноним 25/02/15 Срд 17:54:27 #38 №442297 
>>442161
Правильно size_t, а не unsigned int. Плюс нечитаемо.
sageАноним 25/02/15 Срд 18:12:27 #39 №442309 
>>442294
Смотря как x объявлена. Если ссылкой, то да, не будет, а если просто переменной, то она будет копироваться, и ее изменение не отразится на изменении соответствующего элемента контейнера.
Аноним 25/02/15 Срд 18:42:57 #40 №442325 
>>442297
Не столь важно, главное ансигнед.
sageАноним 25/02/15 Срд 18:48:06 #41 №442329 
>>442325
Вообще-то важно, иначе теряется смысл в unsigned. Если там будет тип более емкий, чем то, что ты объявил, то точно так же будет оверфлоу, как и в случае с signed.
Аноним 25/02/15 Срд 19:47:48 #42 №442360 
>>442329
2^64 - 1 элементов

А ты шутник.
sageАноним 25/02/15 Срд 19:56:40 #43 №442367 
>>442360
Хуйню ты городишь. Достаточно, чтобы количество перевалило за 2^32, это уже превысит вместимость unsigned int.
Аноним 25/02/15 Срд 20:12:24 #44 №442377 
14248843442160.jpg
Учу с++ по книге S.Devis с++ для чайников. Так в книге утверждается что в этой проге http://ideone.com/Nd8hs9 вывод терминала будет :
We're in Student::calcTuition
We're in Student::calcTuition
У меня же получается :
We're in Student::calcTuition
We're in GraduateStudent::calcTuition
Это книга слишком старая? Или есть такие компиляторы понимающие полиморфизм по-своему?
sageАноним 25/02/15 Срд 20:18:26 #45 №442380 
>>442377
>Это книга слишком старая?
Она не только старая, это вообще параша из параш. Либо дохлого страуса читай, либо прату. Прата предпочтительней для новичка, страус слишком сложен будет.
Аноним 25/02/15 Срд 20:23:38 #46 №442382 
>>442367
2^32 = 4 1032^3

Массив размером 4 гигабайта
размер типа. Часто такое встречается?
Аноним 25/02/15 Срд 20:24:12 #47 №442383 
>>442382
ДА СУКА БЛЯДЬ ЁБАНЫЕ ЗВЁЗДОЧКИ
Аноним 25/02/15 Срд 20:33:22 #48 №442386 
>>442380
У страуса книга с гусями есть для ньюфагов.
sageАноним 25/02/15 Срд 20:39:42 #49 №442389 
>>442382
А часто встречается массив размером 2^31 (размер unsigned int без учета всех этих -1)? Так что смысла писать unsigned никакого. А если уж выебываться, то до конца.
Аноним 25/02/15 Срд 20:40:10 #50 №442390 
>>442325
size_t используется для индексации std::vector (QVector, например, использует int), плюс size_t равен размеру машинного слова, значит компилятор все равно преобразует переменную к этому размеру.
sageАноним 25/02/15 Срд 20:40:12 #51 №442391 
>>442389
>unsigned int
signed конечно же.
Аноним 25/02/15 Срд 20:46:15 #52 №442393 
>>442389 >>442391
Выёбываюсь исключительно чтобы компилятор не визжал, что знаковый тип с беззнаковым сравнивается.
Аноним 25/02/15 Срд 21:39:48 #53 №442419 
>>441728
Пишут, что в gcc есть, в msvc тоже. Правда, надо включать какие-то опции. А вообще, с чего бы ей не быть?
Аноним 25/02/15 Срд 22:11:39 #54 №442438 
>>441763
Не работает, бро.
Иногда выдает 4 элемента, иногда выдает совсем не те элементы.
Аноним 26/02/15 Чтв 00:15:35 #55 №442499 
>>442438
он там хуйни какой-то нагородил. Вот решение:
http://ideone.com/qlBE9b
Аноним 26/02/15 Чтв 12:10:38 #56 №442602 
Паканы, посоветуйте книгу на РУЗЬКОМ С++, для чайника, который вроде как немного смыслит в C.
Аноним 26/02/15 Чтв 12:12:45 #57 №442603 
>>442602
Шилд, Прат, Лафоре.выбирай на вкус
Аноним 26/02/15 Чтв 13:24:08 #58 №442618 
Такс такс такс в этом семестре у меня начались лабы по чистому си. А это значит придётся забыть мои сиауты и булианы ну и конечно же байтоёбство придётся вспомнить.. Но это всё пыль. Главное то что преподователь требует то что он называет "френдли юзер интерфейс". Это наверное означает что придется придусматривать всяческую еботню вроде ввода с экспонентой и предусматривать всяческую пыль вроде ввода символов там где требуются ц.числ.
И так как сделать по высшему разряду задание типа "в двумерном массиве записать сумму столбцов втакуюто строку а сумму строк в такойто столбец"
sageАноним 26/02/15 Чтв 13:37:35 #59 №442625 
>>442618
Сажи студентодауну, не умеющему по-человечески объяснить условия. Жри свою пыль, сука.
sageАноним 26/02/15 Чтв 13:38:29 #60 №442626 
>>442618
Ясно.
Аноним 26/02/15 Чтв 13:59:07 #61 №442633 
>>442625
>>442626
Ну вы чего в самом деле ? Просто часть перед поездкой на метро написал и часть после. Вот и получилось немногг непонятно.
Но прочитать перед отправкой стоило, да.
sageАноним 26/02/15 Чтв 14:01:31 #62 №442634 
>>442633
Читать твои высеры в стиле /b/ ? Напиши нормально и не выебывайся. Условия задания, метод ввода данных, метод вывода данных.
Аноним 26/02/15 Чтв 14:10:49 #63 №442639 
>>442634
Ты недопонял меня что неудивительно. Перечитал сам ахуел. Мне не нужно чтобы за меня кто то решал мои лабы. Мне нужно чтобы кто то с опытом сказал как сделать их максимально качественно.
Так или иначе вот задание.
" Задан двумерный массив вещественных чисел размерностью (M+1)x(N+1). В строку m+1 "
Про методы i/o ничего не сказано. Значит будем делать из файла и клавиатуры.
sageАноним 26/02/15 Чтв 14:39:51 #64 №442651 
>>442639
Условия вижу, а задание нет. Че сделать то надо?
Аноним 26/02/15 Чтв 14:49:25 #65 №442654 
>>442651
Копипастить на смарте неочень.

Задан двумерный массив вещественных чисел размерностью (M+1)x(N+1). В строку m+1 записать суммы элементов по столбцам, в столбец n+1 записать суммы элементов по строкам, а в элемент Am+1,n+1 записать сумму всех элементов массива. Результат вывести на экран.
Аноним 26/02/15 Чтв 15:06:45 #66 №442662 
Как узнать, что итератор куда-то указывает? Указатель можно просто сравнить с NULL или nullptr, а итератор?
Аноним 26/02/15 Чтв 15:09:43 #67 №442663 
>>442662
сравни с end()
sageАноним 26/02/15 Чтв 15:14:56 #68 №442666 
>>442654
А в чем сложность то?
Аноним 26/02/15 Чтв 15:15:32 #69 №442667 
>>442654
Непонятно что ты при этом хочешь узнать. Нет единственно верного православного стандарта качества для подобных микропроектов. Просто запиши в нужный столбец сумму строк и в нужную строку сумму столбцов, посчитав ее через циклы for. Потом посчитай сумму всех элементов в последнем строке и столбце и запиши ее в нужный элемент. Можешь даже рандомные числа делать. Пользователь задает из консоли размерности массива, ты генерируешь числа, считаешь нужные столбцы и выводишь все это на экран матрицей.
Аноним 26/02/15 Чтв 15:49:10 #70 №442687 
>>442666
>>442667
Ребят, я не настолько даун. Сам костяк лабы я естественно сделал. Мне бы узнать чтобы сделать ещё.
Вот пример как сделал простейшу лабу один из хороших студентов

"Напечатать все простые числа, не превосходящие заданное число"
По мимо самой лабы. Был сделан ввод и вывод из файла, экрана, ввод виде эксп., каким то образом предусматривался ввод сумашедших чисел выходящих за приделы int, к всему этому программа занимала около 2мб. Если про сборщик я ещё знаю то про буферезированный вывод я услышал впервые при защите этой лабораторной работы.
Вот это я понимаю выполнение обычной лабы на высшем уровне.
Так-то мне интресно узнать что можно ещё можно влепить туда.
Аноним 26/02/15 Чтв 16:06:44 #71 №442692 
>>442687
>ввод и вывод из файла
Ввод одного числа из файла? Зачем?
>выходящих за приделы int
Но входящих в unsigned long long?
>программа занимала около 2мб
В оперативной памяти или на диске? Если на диске, то это дохуя. А если в оперативке, то это либо пиздеж, либо просто грамотная настройка компилятора
>ввод виде эксп
Подсчет простых чисел предполагает ввод действительного числа? Зачем?
double value; scanf("%lf",&value);
Аноним 26/02/15 Чтв 16:37:28 #72 №442711 
>>442692
> Ввод одного числа из файла? Зачем?
Ввода не было из файла. Случайно сказанул.
> Но входящих в unsigned long long?
Какоето ограничение присутствовало, да. Но точную цифру не скажу.
> >программа занимала около 2мб
> В оперативной памяти или на диске? Если на диске, то это дохуя. А если в оперативке, то это либо пиздеж, либо просто грамотная настройка компилятора
В оперативке. При миллионе. Это дал его "алгоритм оптимизации. ". Его сущность я не знаю.
> >ввод виде эксп
> Подсчет простых чисел предполагает ввод действительного числа? Зачем?
> double value; scanf("%lf",&value);
Предполагает ввод любого числа. Он даже scanf не использовал. getch и читал посимвольно. Вот и получается в любом виде предусматривается.
Аноним 26/02/15 Чтв 16:46:36 #73 №442715 
>>442711
В общем все ясно, он просто какой-то упоротый любитель низкого уровня. Все это не нужно. Тебе с головой хватит стандартного scanf, только референс почитай, он может очень хорошо читать любой ввод.
Аноним 26/02/15 Чтв 17:00:16 #74 №442728 
>>442715
Ясно. Спаичбо.
А про буфферизированный вывод можешь что-нибудь рассказать? В гугле как-то плохо описано.
Аноним 26/02/15 Чтв 17:45:11 #75 №442768 
>>442728
FILE предоставляет тебе буферизованый ввод-вывод. Гугли референсы. Есть поддержка стандартных stdin и stdout.
Аноним 26/02/15 Чтв 17:53:01 #76 №442775 
>>442768
Хмм.
Возможно я не так выразился.
Имелось ввиду вывод данных по мере их обработки. 100эл. нашло 100 показало и так до конца.
Аноним 26/02/15 Чтв 17:55:06 #77 №442778 
>>442775
А тут-то в чем проблема? И зачем это нужно вообще, кроме дешевых понтов?
Аноним 26/02/15 Чтв 18:06:00 #78 №442783 
>>442775
>>442778
Конкретно в твоем случае с массивами я вижу это так: ты читаешь размерности массивов из потока ввода, создаешь один массив - для суммы столбцов и одну переменную - для суммы строк. Далее ты читаешь по одному элементу из потока ввода, выводишь его в поток вывода и увеличиваешь переменную и соответствующий элемент массива сумм столбцов на этот элемент. Когда строка кончается ты выводишь сумму этой строки в поток вывода и обнуляешь ее. Когда заканчиваются столбцы, ты выводишь массив с суммами столбцов, параллельно считая его сумму и выводишь ее в самом конце. Таким образом у тебя в памяти хранится только 1 массив размером со строку. Вот такая вот оптимизация получается.
Аноним 26/02/15 Чтв 18:10:57 #79 №442790 
>>442778
Ну типо если введёшь большое число то обработка естественно займёт некоторое время. Пользователю может показаться что программа зависла. А так он видит постоянно еёв работе и всё отлично.
Ну а проблема в реализации естественно
Аноним 26/02/15 Чтв 18:49:52 #80 №442820 
>>442790
Да не, я к тому, что почему нельзя просто каждое число выводить?
Аноним 26/02/15 Чтв 19:33:56 #81 №442892 
>>442820
Ну сначала задание выполнить надо а потом уже готовое вывести. И это типо долго
sageАноним 26/02/15 Чтв 19:49:47 #82 №442902 
>>442892
А выводить 100 значений до завершения это типа можно? Что, блять, за бред? Ты совсем ебанутый какой-то, не пиши сюда больше.
Аноним 26/02/15 Чтв 21:55:10 #83 №442974 
>>442902
Вывод по мере выполнения и вывод после полного завершения. Разницу чувствуешь ? какой то ты тупенький. всё разжевывать надо
sageАноним 26/02/15 Чтв 22:30:19 #84 №442993 
>>442775
>>442790
>>442974
Ты сам себе противоречишь, ТУПЕНЬКИЙ. А может быть ты не понимаешь основных принципов работы программ. Тогда тебе здесь делать точно нечего.
Аноним 26/02/15 Чтв 23:01:07 #85 №443010 
>>442993
Ясно.
sageАноним 26/02/15 Чтв 23:14:05 #86 №443022 
>>443010
Пошел на хуй, чепуш, он тебе дело говорит. Учись иди, а не на сосачах кукарекай. Макака взрастил поколение дегенератов, блять.
Аноним 26/02/15 Чтв 23:21:16 #87 №443026 
Возможно ли с помощью функции CreateThread создать поток с 2-мя параметрами.
Моя проблема в том, что один параметр уже занят под mutex, а мне надо передать ещё один, содержащий handle другого потока. (Мне нужно вызвать функцию ResumeThread изнутри потока, что бы пробудить другой.)
Аноним 26/02/15 Чтв 23:23:10 #88 №443027 
>>443026
Передавай указатель на структуру.
Аноним 26/02/15 Чтв 23:33:29 #89 №443031 
14249828091450.jpg
>>443022
Аноним 26/02/15 Чтв 23:49:44 #90 №443043 
>>443022
А совместить можно?
Аноним 27/02/15 Птн 01:46:04 #91 №443111 
>>443026
>>443027
Тогда новая проблема возникает.
Хотя я туплю, наверное.

Так я получаю указатель:

DoubleParam D;
struct D pD;

Указатель запихиваю в функцию CreateThread(...,&pD,...)

С ходу visual studio ошибок не обнаруживает, но при сборке выдаёт (в строке с функцией CreatThread):
cannot convert argument 3 from 'DWORD (__stdcall
)(DoubleParam)' to 'LPTHREAD_START_ROUTINE'

Третий аргумент - это как раз тот самый &pD.
Аноним 27/02/15 Птн 01:48:12 #92 №443112 
>>443111
>>\tDoubleParam D;
>>\tstruct D pD;

Обосрался с разметкой

DoubleParam D;

struct D * pD;
Аноним 27/02/15 Птн 01:53:14 #93 №443114 
>>443111
Точнее третий параметр - это handle самого потока, а в четвёртый как раз пытаюсь запихнуть указатель.
Аноним 27/02/15 Птн 02:34:10 #94 №443124 
>>443111
>cannot convert argument 3 from 'DWORD (__stdcall )(DoubleParam)' to 'LPTHREAD_START_ROUTINE'

Ну так ёба, третий параметр это LPTHREAD_START_ROUTINE lpStartAddress, указатель на ThreadProc. О чём тебе и сообщается в тексте ошибки. В MSDN пройди, будь так любезен.
Аноним 27/02/15 Птн 02:52:45 #95 №443131 
>>443124
>>443114
>>Точнее третий параметр - это handle самого потока, а в четвёртый как раз пытаюсь запихнуть указатель.
Аноним 27/02/15 Птн 03:09:37 #96 №443137 
>>443131
Да, я прочитал эту хуйню. И я прекрасно понимаю текст ошибки. Давай этот шматок кода в ideone или картинкой.
Аноним 27/02/15 Птн 03:33:21 #97 №443149 
>>443137
Всё разобрался. Всё из-за того, что в определении потока(DWORD WINAPI Bee(void D) ) вместо void D всякую хуйню писал.
Аноним 27/02/15 Птн 03:33:57 #98 №443151 
>>443149
опять * пропали
sageАноним 27/02/15 Птн 09:18:26 #99 №443209 
>>443043
Не получится. Ты будешь бежать сюда за любым тупейшим вопросом, который за минуту решается при помощи мозга или гугла. Если сильно повезет, то какой-нибудь омежка-долбоеб сделает все за тебя, но вероятнее просто поешь сажи. Знаний так и не прибавится.
Аноним 27/02/15 Птн 09:36:12 #100 №443214 
>>443209
Хуйню несёшь. Я же говорил что работу уже сделал. Просто спросил про личные стандарты качества у pr. А ты записал уже в долбаёбы-ниосиляторы. В общем не знаю что с тобой не так и зачем так агрится.
sageАноним 27/02/15 Птн 11:17:58 #101 №443261 
>>443214
Нет никаких "стандартов качества" в этом плане. Как самому не стыдно, так и делай. Находи баланс между красотой кода и ленью.
Аноним 27/02/15 Птн 13:30:41 #102 №443359 
>>443261
Но есть вещи о которых я пока просто напросто не знаю. Как про тот же буф. вывод. А вообще пока хочу задрать эту планку как можно выше. Чтобы потом та самая середина давалась мне легко.
Аноним 27/02/15 Птн 14:58:36 #103 №443414 
14250383163910.gif
объясните мне разницу между
>"хуй"
и
>'хуй'
в каком случае используются одиночные, а в каком двойные кавычки?
Аноним 27/02/15 Птн 15:02:52 #104 №443417 
>>443414
Одиночный только для символа. Строчки в двойных
Аноним 27/02/15 Птн 15:15:42 #105 №443423 
>>443414
char* xyz = "хуй";
char x = 'х';
char y = 'у';
char z = 'й';
sageАноним 27/02/15 Птн 15:16:26 #106 №443424 
>>443359
Про буферизованный вывод читай в гугле или книжках. Лучше в гугле. Легче тебе середина не дастся, всегда будет лень. Умение != желание.
Аноним 27/02/15 Птн 16:33:28 #107 №443463 
Помогите понять Move Semantics. Есть код и он какого-то хуя вызывает бесконечную рекурсию move_constructor и swap. В гайдах все так и делается вроде, идиома copy-and-swap (например здесь http://stackoverflow.com/questions/3279543/what-is-the-copy-and-swap-idiom)
Аноним 27/02/15 Птн 16:34:29 #108 №443464 
>>443463
Код забыл
http://ideone.com/gIbd49
Аноним 27/02/15 Птн 17:16:28 #109 №443472 
>>443464
Все, разобрался. Нельзя вызывать std::swap внутри move_constructor, ибо он всегда вызывает этот самый конструктор. Код поправил тоже.
Аноним 27/02/15 Птн 18:55:26 #110 №443513 
>>443464
Нафига ты swap для класса вызываешь? Надо для полей вызывать.
Аноним 27/02/15 Птн 18:58:27 #111 №443517 
Сап, аноны.
Нужно задать квадратную матрицу, чтобы элементы на гл. диагонали были равны 1, ниже 0, выше - сумме индексов.
Как сделать, чтобы индексы считались с 1, а не с 0 без костылей?
http://pastebin.com/fXtTCDb5
sageАноним 27/02/15 Птн 19:07:50 #112 №443521 
>>443513
Да, уже переделал.
Аноним 27/02/15 Птн 20:21:41 #113 №443551 
>>443517
Но... Нахуя? Еще один ебанутый погромист растет.
Аноним 27/02/15 Птн 21:07:02 #114 №443580 
>>443521
И не забывать про http://stackoverflow.com/questions/4782757/rule-of-three-becomes-rule-of-five-with-c11
Аноним 27/02/15 Птн 21:10:26 #115 №443581 
>>443580
Это важно, если у тебя сырые указатели.
Аноним 27/02/15 Птн 21:49:08 #116 №443589 
>>443581
Опс, в глаза продолбился, у него всё правильно ( т.н. unifying assignmemnt)
Аноним 27/02/15 Птн 23:09:31 #117 №443614 
>>443551
Лаба в ВУЗике жеж
Аноним 27/02/15 Птн 23:10:23 #118 №443615 
>>443614
Какая, блять, лаба в вузике? Зачем тебе индексы смещать?
Аноним 28/02/15 Суб 01:15:18 #119 №443673 
>>443517
Допустим тебе нужна матрица 5 на 5.
Создаёшь двумерный массив 6 на 6. На элементы с нулевыми индексами внимание не обращаешь.
Аноним 28/02/15 Суб 01:18:37 #120 №443675 
Существует ли функция для винды, для того чтобы "пробудить" одним процессом другой? Нагуглилась лишь функция для linux (wakeup(имя процесса)).
Аноним 28/02/15 Суб 01:32:35 #121 №443679 
>>443675
Если он оконный, то отправь ему сообщения, в т.ч. по DDE.
Аноним 28/02/15 Суб 03:28:00 #122 №443704 
>>439914
Еще раз спасибо за помощь. Про тебя я не забыл, анон. Препода напряг, думает. Как будет новая инфа - отпишусь.
Аноним 28/02/15 Суб 09:33:10 #123 №443724 
14251051905590.jpg
Тян, пруфов не будет. В шараге курс С++, помогите написать программу, вычисляющую, попадет ли точка в закрашенную область. Желательно с объянением, как в if расписать все условия.
Фигура #2.
:3
Аноним 28/02/15 Суб 09:44:40 #124 №443725 
>>443724
Только после эротической фотосессии с супами, няша :3
Аноним 28/02/15 Суб 09:59:37 #125 №443727 
>>443725
А можно без пикч, плиз 3:<
Мне срочно надо закрыть эту работу (плачу)
Аноним 28/02/15 Суб 10:26:03 #126 №443730 
bump
Аноним 28/02/15 Суб 11:12:06 #127 №443740 
>>443724
Попроси одногрупника Сычева.
Аноним 28/02/15 Суб 11:19:27 #128 №443741 
>>443740 Программистам с двача я доверяю больше, чем своей быдло-группе.
Аноним 28/02/15 Суб 11:49:12 #129 №443745 
>>443724
Распиливаешь фигуру на три прямоугольника. Потом PtInRect для каждого.
уебывай, тупая вниманиеблядь
Аноним 28/02/15 Суб 12:01:57 #130 №443747 
>>443745 блять, ты гений. Это то я уже сделала. Проблема в другом. Я не знаю, как в if правильно условие написать, что там х>=чего-то там и у>=чего-то там. Я перепробовала кучу вариантом, он всегда выдает, что точка не попадает в область.
Аноним 28/02/15 Суб 12:07:24 #131 №443748 
14251144447730.gif
>>443747
>блять, ты гений.
>Это то я уже сделала
>Я не знаю, как в if правильно условие написать
>Я перепробовала кучу вариантом
А ты смешная
Аноним 28/02/15 Суб 12:08:52 #132 №443750 
>>443748 и не говори.
Аноним 28/02/15 Суб 12:18:00 #133 №443751 
>>443724
//If vertex inside polygon
bool IfVertexInsidePolygon(const Vertex& vertex, const Polygon& polygon) {
int i, j, nvert = polygon.getSize();
bool c = false;

for(i = 0, j = nvert - 1; i < nvert; j = i++) {
if (((polygon.GetY() >= vertex.GetY()) != (polygon[j].GetY() >= vertex.GetY()))
&& (vertex.GetX() <= (polygon[j].GetX() - polygon[j].GetX())
* (vertex.GetY() - polygon.GetY())
/ (polygon[j].GetY() - polygon.GetY())
+ polygon.GetX())) {

c = !c;

}
}

return c;
}
Аноним 28/02/15 Суб 12:24:02 #134 №443755 
>>443615
Сумме индексов матрицы, индексы в матрицах начинаются не с 0 ведь, а с 1. А в плюсах массив начинается с 0, а значит и индексы равны 0.
Аноним 28/02/15 Суб 12:49:26 #135 №443761 
>>443755
А прибавить 2 не судьба?
Аноним 28/02/15 Суб 13:10:12 #136 №443764 
>>443724
Билять, а разве эти фигуры не формулами задаются? Там же не строгое соответствие по клеточкам?
Аноним 28/02/15 Суб 13:12:23 #137 №443765 
>>443724
http://www.cyberforum.ru/pascalabc/thread1267239.html тащемта всё более чем просто
Аноним 28/02/15 Суб 16:50:59 #138 №443824 
>>441690
Парни, я написал код, собственно, функция, переводящая число в 2-ю систему исчисления, работает коряво. (Задание для ньюфагов, так что массивы и вообще всякие штуки, сложнее 2+2 нельзя юзать)

Верней, все 3-х значные числа она переводит правильно, а, например, число 5000 не переводит - вообще не работает. Четырёхзначные числа вообще переводит неверно или не переводит. Вопрос, почему?
Просчитал всё на бумаге, алгоритм тот же. Пошагово проверил, в первом цикле void print_in_binary(int x) на определенном этапе в значение num записывается число с двойками и четверками (Хотя такого не может быть, лол), может, просто необходимо использовать другие типы переменных? Но, вроде как, int вмещает огромные натуральные числа.
Аноним 28/02/15 Суб 16:52:20 #139 №443825 
>>443824
http://pastebin.com/cteDTtue
Отклеилось
Аноним 28/02/15 Суб 17:03:49 #140 №443833 
Правильно ли я понимаю, что скомпилированные float-переменные в 64-битном исполняемом файле станут даблами?
Аноним 28/02/15 Суб 17:20:43 #141 №443838 
>>443825
>>443824
http://ideone.com/y1TINP
Аноним 28/02/15 Суб 17:25:31 #142 №443839 
>>443833
Нет. Схуяли? float в любом исполняемом файле будет 32 бита.
Аноним 28/02/15 Суб 17:42:45 #143 №443846 
>>443838
Так а в чем трабл был? В типе num?
Аноним 28/02/15 Суб 18:09:37 #144 №443855 
>>443846
В том, что ты пытаешься записать бинарное представление в одну переменную. Естественно ее переполняет.
Аноним 28/02/15 Суб 18:51:40 #145 №443876 
Как в си проверить число на натуральность ?
Аноним 28/02/15 Суб 19:30:40 #146 №443890 
>>443876
http://ideone.com/36stzH
Аноним 28/02/15 Суб 19:56:36 #147 №443899 
>>443890
если больше нуля и остаток от деления не нуль
>>443890
>#include <math.h>
лишнее
Аноним 28/02/15 Суб 20:00:01 #148 №443901 
>>443899
соврал, вернее
>остаток от деления без остатка (%) на единицу нуль
Аноним 28/02/15 Суб 20:01:57 #149 №443902 
Вот такой вопрос по pthread.
Если сокету установлен флаг O_NONBLOCK, будут ли работать connect функция как cancel point?
Аноним 28/02/15 Суб 20:02:05 #150 №443903 
>>443899
>лишнее
Ну-ка кинь мне ide-шку без нее и посмотрим у кого и что лишнее. Сучка.
Аноним 28/02/15 Суб 20:02:38 #151 №443904 
>>443902
>будет
fastfix
Аноним 28/02/15 Суб 20:07:24 #152 №443907 
>>443903
Не кипятись :3
Я к тому что можно решить без лишних инклудов.
Аноним 28/02/15 Суб 20:08:09 #153 №443908 
>>443907
Пруфы где? ide-шку кидай.
Аноним 28/02/15 Суб 20:28:49 #154 №443920 
>>443899
Спасибо огромное.
Но почему когда я пытаюсь сделать это функцией
int NaturalCheck(float N)
{
float integral = 0.0f;
float fractional = 0.0f;
float num = N;

fractional = modf(num, &integral);

if ((num >= 0) && (fractional == 0.0))
{
return 1
}
else
{
return -1;
}

}
принимаемое значение мутирует. Например в 7.006e-045#DEN при вводе 5.01
Аноним 28/02/15 Суб 20:39:11 #155 №443929 
>>443920
Потому что modf принимает double.
Аноним 28/02/15 Суб 20:47:44 #156 №443933 
>>443929
Думал уже об этом.
Всё равно мутирует.
Аноним 28/02/15 Суб 21:08:33 #157 №443934 
>>443920
Где чего мутирует?
http://ideone.com/6SHIVB
Аноним 28/02/15 Суб 21:23:15 #158 №443936 
>>443934
В более простой форме записать сможешь?
Аноним 28/02/15 Суб 21:31:29 #159 №443940 
>>443936
Что? Куда уж проще-то?
Аноним 28/02/15 Суб 21:31:46 #160 №443941 
>>443934
Нашёл где ошибка но не могу понять её суть.
Ошибка при передачи значения.
Если написать
printf("%d\n", NaturalCheck(5.01));
все будет отлично
но если задать с клавиатуры
printf("%d\n", NaturalCheck(N));
Мутирует.
Причём если объявить
double N=5.01
Мутирует
Так бывает вообще ?
Аноним 28/02/15 Суб 21:34:52 #161 №443943 
>>443941
Нет.
http://ideone.com/6SHIVB
Аноним 28/02/15 Суб 21:36:21 #162 №443944 
>>443833
Проверь.

#include <stdio.h>

int main() {
printf("The 'int' data type is\t\t %d bytes\n", sizeof(int));
printf("The 'unsigned int' data type is\t %d bytes\n", sizeof(unsigned int));
printf("The 'short int' data type is\t %d bytes\n", sizeof(short int));
printf("The 'long int' data type is\t %d bytes\n", sizeof(long int));
printf("The 'long long int' data type is %d bytes\n", sizeof(long long int));
printf("The 'float' data type is\t %d bytes\n", sizeof(float));
printf("The 'char' data type is\t\t %d bytes\n", sizeof(char));
}
sageАноним 28/02/15 Суб 21:41:24 #163 №443945 
14251488850110.png
Вброшу ка еще раз свое поделие в новый тхреад.

https://ololoepepe.me/board

https://github.com/ololoepepe/ololord

С последнего вброса допилил несколько бесполезных фич (перечислены в новостях). Например, подгрузка постов и постинг нескольких картинок (только в /h/).
Аноним 28/02/15 Суб 22:06:22 #164 №443959 
>>443943
Ага.Ага.
Всё понял где.
Спасибо человеческое.
Аноним 28/02/15 Суб 23:25:51 #165 №443997 
Есть какая-нибудь книга по стандартной библиотеке в С++11\14?
желательно на английском
Аноним 28/02/15 Суб 23:33:22 #166 №444001 
>>443940
Стандартными средствами реализовать проверку типа реально?
sageАноним 28/02/15 Суб 23:49:43 #167 №444004 
14251565834850.png
>>443945
Признавайтесь, хуесосы, кто из вас такой внимательный читатель?
Аноним 01/03/15 Вск 00:50:08 #168 №444024 
>>444004
Ну я тип тралльнул нимношк разбань пабратски а?
на самом деле сходи нахуй. Я беларус мне всё можно. У меня айпи динамический ахзохзох
Аноним 01/03/15 Вск 00:50:45 #169 №444025 
>>443959
Вот покороче.
http://ideone.com/kLFG4e
Аноним 01/03/15 Вск 01:33:39 #170 №444033 
Тип double присуутствует в си?
Аноним 01/03/15 Вск 02:27:56 #171 №444049 
Почему после ввода символа в тип который предусматривает число переменная не доступна для повторного ввода ?
Есть некоторая проверка на правильность ввода из определённого численного диапазона. Если проверка проваливается ввод предлагается заново. Но если при вводе ввести символ scanf уже никак не воспринимается. Происходит зацикливание. Обнуление переменной также не помогает.
Аноним 01/03/15 Вск 02:52:35 #172 №444054 
>>444049
Мы тут проконсультировались со штатным телепатом, у тебя ошибка в пятнадцатой строке.
Аноним 01/03/15 Вск 02:59:58 #173 №444056 
14251679988520.jpg
Хелп /pr/. Нужно написать
/ howManyBits - Возвращает наименьшее число битов, необходимое для представления x
в дополнительном коде (two's complement)
Примеры: howManyBits(12) = 5
howManyBits(298) = 10
howManyBits(-5) = 4
howManyBits(0) = 1
howManyBits(-1) = 1
howManyBits(0x80000000) = 32
Разрешённые операции: ! ~ & ^ | + << >>
Максимальное количество операций: 90
*/
Так вот. Никаких if и while. Только битоебля, только хардкор. Есть идея свести задачу к более простой. Можно оставить только один старший бит, а остальные занулить. Как можно узнать на каком месте стоит единственный ненулевой бит без полного перебора.
Так же как ее решать для отрицательных х? Вроде бы howManyBits(x)= howManyBits(~x+2) верно для x<0.
Картинка для привлечения внимания.
Аноним 01/03/15 Вск 03:01:24 #174 №444057 
>>444056
бля, разметку прострал
sageАноним 01/03/15 Вск 08:09:01 #175 №444100 
>>444024
Не пойду. Разбанится само через сутки, заодно и проверю, разбанится ли.
Аноним 01/03/15 Вск 10:22:53 #176 №444123 
>>444054
http://ideone.com/qnZ1qm
sageАноним 01/03/15 Вск 10:51:26 #177 №444128 
>>444123
>goto
Аноним 01/03/15 Вск 10:56:42 #178 №444129 
>>444128
сути не меняет
Аноним 01/03/15 Вск 11:19:00 #179 №444136 
>>444129
http://ideone.com/w80W6o
Аноним 01/03/15 Вск 11:29:50 #180 №444141 
>>444136
Ну и введи символ "с" например вместо числа.
Будет всё тоже зацикливание без возможности повторного ввода.
Аноним 01/03/15 Вск 11:37:22 #181 №444143 
>>444141
http://ideone.com/rPEx4H
Аноним 01/03/15 Вск 12:34:48 #182 №444155 
>>444143
Ну при неправильном вводе сам scanf() вернёт 0 но я ведь не об этом.
Мне интересно почему при вводе символа в переменную типа double она уже не доступна для повторного ввода.
Аноним 01/03/15 Вск 13:29:15 #183 №444186 
>>444155
Да кто тебе такое сказал? Просто символ остается в потоке. Его надо нормально прочитать оттуда.
Аноним 01/03/15 Вск 14:18:57 #184 №444216 
>>444186
Да и не нужено мне символ читать.
Я добиваюсь того чтобы при неправильном вводе выбило ошибку и далее следовало предложение повтора ввода.
Например ожидается ввод чисел с 1 до 3. Если ты введёшь 5 проверка выбьет ошибку и предложит повторить ввод. Но если ты внезапно ввёл символ scanf() вернёт 0 как ошибку но повторный ввод необходимого значения уже невозможен. Как добится этого самого повторного ввода если scanf пропускается ?
Аноним 01/03/15 Вск 16:26:11 #185 №444297 
>>444216
stackoverflow подсказывает что вот так
http://ideone.com/EwRgQ4
Ты бы гуглить научился штоле. Надоел уже с банальными вопросами.
Аноним 01/03/15 Вск 17:03:34 #186 №444312 
>>444297
Ну на самом деле я додумался предварительно fflush(stdin) сделать, но так всё же лучше. Спасибо.
Аноним 01/03/15 Вск 18:43:13 #187 №444371 
14252245938720.jpg
Как проверить число на натуральность в одну строчку кода? (на любом языке)
Привести пример используя компилируемый и интерпретируемый языки.
Аноним 01/03/15 Вск 18:47:17 #188 №444373 
>>444371
Строчка кода - понятие растяжимое.
Аноним 01/03/15 Вск 18:50:47 #189 №444374 
>>444371
Ты нас собеседовать что-ли пришел?
Аноним 01/03/15 Вск 18:52:09 #190 №444375 
>>444373
с минимумом операторов и вызовов функций
Аноним 01/03/15 Вск 18:54:45 #191 №444379 
>>444374
Нет, скорее вы меня. лол.
Аноним 01/03/15 Вск 19:04:09 #192 №444387 
>>444371
Тебе уже говорили.
Если число больше либо равно нулю и дробная часть равна нулю, то число натуральное.
Воспринимай эту одну строчку как псевдокод на любом языке.
Аноним 01/03/15 Вск 19:18:50 #193 №444400 
>>444387
А как проверить в одну строчку на любом языке является ли произвольное число простым?
Аноним 01/03/15 Вск 19:23:34 #194 №444406 
>>444400
Да ты совсем ебнутый, я смотрю. Пошел нахуй с борды.
Аноним 01/03/15 Вск 19:29:09 #195 №444409 
>>444406
Че, сложно подсказать новичку? Или стыдно, что сам не знаешь.
Аноним 01/03/15 Вск 19:35:07 #196 №444413 
>>444409
!(any(simple_less_than(x), divides(x)))
Аноним 01/03/15 Вск 19:37:17 #197 №444416 
>>444413
Это на каком языке?
Аноним 01/03/15 Вск 19:49:45 #198 №444424 
>>444416
На любом
Аноним 01/03/15 Вск 19:49:51 #199 №444426 
>>444413
На C++ не компилируется. Дело в том, что я с недавнего времени работаю исключительно в Linux. Создаю файл prostoe.txt, копирую туда твою строчку !(any(simple_less_than(x), divides(x))), сохраняю, в окне DOS пишу gcc prostoe.txt и мне дос какие-то ошибки выдает. Не компилируется. gcc - это правильно 100%, мне так знающие люди сказали использовать. Кодировка может неправильная.
Аноним 01/03/15 Вск 19:52:33 #200 №444429 
>>444426
не ведитесь на мамкиного траллингатора
Аноним 01/03/15 Вск 19:56:44 #201 №444431 
>>444429
Меня предупреждали, что в сообществе С++ мне не будут помогать. Что вы все злые и угрюмые.
Аноним 01/03/15 Вск 20:38:59 #202 №444438 
>>444426
Просто в твоем языке либо нету функций any, simple_less_than, и divides, либо они называются по-другому
Придется тебе написать их самому.
Аноним 01/03/15 Вск 21:15:47 #203 №444470 
>>444438
Значит теперь мне надо написать не только расчет простого числа, но и эти функции в одну строчку на любом языке? Какой же сложный этот С++. А в этих функциях будут тоже функции? Подскажите сразу в общем случае - как мне написать любую функцию в одну строчку на любом языке, и я уже пойду отсюда.
Аноним 01/03/15 Вск 21:20:01 #204 №444473 
>>444470
> Подскажите сразу в общем случае - как мне написать любую функцию в одну строчку на любом языке, и я уже пойду отсюда.
Обычно используют точку с запятой. И тогда можно писать все операторы в одну строчку.
Аноним 01/03/15 Вск 21:24:08 #205 №444475 
>>444473
!(any(simple_less_than(x), divides(x))) ; any simple_less_than divides

Все равно в досе одни ошибки.
Аноним 01/03/15 Вск 21:25:47 #206 №444476 
Да вы ебанулись ему отвечать.
Аноним 01/03/15 Вск 21:27:53 #207 №444477 
>>444475
Покажи какие.
Аноним 01/03/15 Вск 21:31:31 #208 №444479 
>>444477
Вот, пожалуйста.

c:\>gcc prostoe.txt
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe:prostoe.txt
: file format not recognized; treating as linker script
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe:prostoe.txt
:1: syntax error
collect2.exe: error: ld returned 1 exit status

c:\>

Только у меня в линуксе.
Аноним 01/03/15 Вск 21:32:58 #209 №444480 
>>444479
Обнови драва на видяху.
Аноним 01/03/15 Вск 21:34:47 #210 №444481 
>>444479
Я хочу у себя попробовать в линуксе, но немогу найти диск c: как ты его открыл, демон?
Аноним 01/03/15 Вск 21:35:53 #211 №444482 
>>444481
Поставь директх 12
Аноним 01/03/15 Вск 21:37:22 #212 №444483 
>>444480
Вы меня тут за идиота держите? Я opengl только через неделю начну изучать. Я знаю, что сейчас мне не нужны дрова на видюху. Я просто английского не знаю, а так бы уже давно скомпилировал.
Аноним 01/03/15 Вск 21:38:32 #213 №444484 
>>444481
Ты линукс то поставь в винду сначала. Для windows мне сказали линукс это с сайта mingw.
Аноним 01/03/15 Вск 21:38:54 #214 №444486 
>>444483
Там просто библиотеки из дров видЯхи лижат.
Попробуй ещё вишмастер поставить тож врое ничо taq
Аноним 01/03/15 Вск 21:39:22 #215 №444487 
>>444483
Давай скриншот, ничего не понятно, что у тебя за проблема.
Аноним 01/03/15 Вск 21:40:39 #216 №444489 
>>444484
Я поставил линукс отсюдава https://www.gentoo.org/ , но не в винду, а в отдельный винчестер, как мне теперь быть?
Аноним 01/03/15 Вск 21:45:41 #217 №444492 
14252355412930.png
>>444487
Вот. Сделал все как сказали.
Аноним 01/03/15 Вск 21:48:47 #218 №444496 
>>444492
Наверное это потому что у тебя линукс не настроенный, у тебя в нем буквы белые, а в правильном должны быть зеленые.
Проверь настройки линукса.
Аноним 01/03/15 Вск 21:55:34 #219 №444500 
>>444496
Так проблема в том, что в языке любых функций нет, или в линуксе? Одни говорят, что программисты только в линуксе работают, другие теперь говорят, что он не настроенный. Я вот чувствовал, что линукс не настроенный на самом деле. Функции, получается, надо убрать из файла?
Аноним 01/03/15 Вск 21:57:33 #220 №444501 
>>444500
сначала нужно настроить линукс
Аноним 01/03/15 Вск 22:00:40 #221 №444503 
>>444501
Какой же сложный этот С++. Как мне настроить линукс? Может подскажешь как мне вообще без линукса это сделать. Только обязательно в одну строчку. Язык - любой.
Аноним 01/03/15 Вск 22:04:22 #222 №444504 
>>444503
> Как мне настроить линукс?
Вот хорошая статьи http://habrahabr.ru/hub/linux/
> вообще без линукса это сделать. Только обязательно в одну строчку. Язык - любой.
Можно поставить Wolfram Mathematica там есть http://reference.wolfram.com/language/ref/PrimeQ.html
Аноним 01/03/15 Вск 22:12:38 #223 №444509 
>>444503
> Какой же сложный этот С++.
учи джаву она проще и платят больше
Аноним 01/03/15 Вск 22:13:54 #224 №444510 
>>444504
Но у меня же linux под windows (если быть совсем точным, то я с ним в досе работаю, как видно на скриншоте), разве можно его настраивать как обычный?

И я уже устал ставить всякое. Ты уверен, что в Wolfram Mathematica я смогу написать любую функцию в одну строчку на С++? Там тоже gcc? Как компилировать? Если ты уверен, что там точно так же, как на любом языке можно сделать, то я конечно же поставлю.
Аноним 01/03/15 Вск 22:16:13 #225 №444511 
>>444510
> Если ты уверен, что там точно так же, как на любом языке можно сделать, то я конечно же поставлю.
Инфа 100%, слово ананаса, брат жив.
Аноним 01/03/15 Вск 22:19:07 #226 №444514 
>>444509
Сначала С++ в совершенстве хочу освоить. Потом все остальные языки (но на следующей неделе opengl начну, поэтому возможно python пропущу). Я же прошу подсказать любую функцию, чтобы на любом языке можно было сделать.
Аноним 01/03/15 Вск 22:22:30 #227 №444515 
14252377505450.jpg
Аноны, нужен совет. В качестве курсача, нужно написать проект на С++. Особенность - это должен быть консольный проект, но достаточно сложный. Как вариант - консольная игра. Естественно все крутится вокруг одной и той же хуйни типа - морской бой, крестики нолики ну и прочий подобный, однотипный шлак. А я хочу сделать какой нибудь оригинальный проект, но что то нихуя даже на ум не приходит.

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

Алсо пикстронгли рилейтед
Аноним 01/03/15 Вск 22:27:36 #228 №444516 
>>444492
Проиграл.

>>444515
Напиши консольный шутан. Без псевод 3д. Ну что-то типа контры https://ru.wikipedia.org/wiki/Contra.
Аноним 01/03/15 Вск 22:29:42 #229 №444517 
>>444516
Мне что то кажется, что для этого маловато места будет в консоли, не? Да и настолько пиздатое я вряд ли смогу. Но возможно действительно сделать что то подобное. Еще предложения?
Аноним 01/03/15 Вск 22:36:14 #230 №444520 
>>444517
Ну так-то консольку ж ресайзить можно. Пущай будет требованием сделать консоль определенного размера, чтобы было играбельно. Да и как контра в плане концепта. Пущай мобы и игрок будут размером в один символ. Собственно на скриншоте у тебя вполне играбельный пример даже с дефолтной консолью.

Вообще еще гоночки можно сделать. Или арканоида.
Аноним 01/03/15 Вск 22:38:35 #231 №444524 
>>444520
О, еще бомбермена вспомнил.
Аноним 01/03/15 Вск 22:39:10 #232 №444525 
>>444520
я вот только не совсем понимаю как карта прорисовывается

>>444524
о, а это действительно заебца идея
Аноним 01/03/15 Вск 22:45:05 #233 №444527 
>>444525
Ну смотри, тут два способа.
Первый - ты используешь системный терминал. В таком случае очищаешь консоль полностью и рисуешь заново. В таком случае у тебя вывод будет "моргать", т.к дабл буфера тут естественно нет.
Второй - ты создаешь обычное окно и рендеришь в нем текст сам с закосом типа консоль. Так обычно и делают, собственно. В таком случае ты уже будешь работать с обычными фреймами. Тут у тебя и дабл буфер есть, и рисовать можно более пеструю хуйню. В этом случае можно либо просто на окне рисовать (GDI+, в Qt QPainter и еще всякая хуйня, загуглишь), или непосредственно с GPU будешь работать (OGL, DX). Для твоей задачи обычного рисования на окне с головой хватит.
Аноним 01/03/15 Вск 22:47:14 #234 №444528 
>>444527
Понял,спасибо за ответы.
Аноним 02/03/15 Пнд 13:54:31 #235 №444708 
>>444312
В продолжение темы:
Как обнаружить посторонние элементы при вводе в тип double например ?
Поясню: при обычном вводе символов asdf scanf() возвращает 0. Это понятно. Но при вводе сначало числа а потом символов никаких некорректных вводов не обнаруживается 1sdf. Как обнаружить посторонние символы при вводе со scanf() ?
Аноним 02/03/15 Пнд 14:18:33 #236 №444724 
>>444515
Посмотри еще ncurses - библиотека для работы с консолью. В консоли можно интресные вещи делать, можешь посмотреть sanctuaryRPG. Можешь попробывать текстовую адвенчуру сделать (гугли inteactive fiction) - там лексический парсер, подобная хуйня. Можно написать движок для более простых текстовых квестов, типа как в космических рейнджерах - это достаточно просто, при этом нужны определенные архитектурные решения (формат файла с игрой, возможность прикрутить ASCII графон и т.п.) - на курсовую может потянуть, помоему.
Аноним 02/03/15 Пнд 15:23:03 #237 №444757 
Является ли такой код валидным?

http://ideone.com/l2GkBc

Меня смущает reinterpret_cast и полиморфные объекты. Всегда ли они смогут опознать какую функцию необходимо вызывать, если reinterpret_cast делать для объекта-обертки над полиморфными объектами?
Аноним 02/03/15 Пнд 15:54:44 #238 №444784 
>>444757
опасно манипулируешь объектами. Но в целом, код валидный. всякие std/boost::function так и делают.

В чем задача? Здесь я вижу извернутую реализацию вызова по интерфейсу.
Аноним 02/03/15 Пнд 16:12:21 #239 №444801 
>>444784
Да есть либа одна на Си. Пилю высокоуровневую обертку, нужны коллбэки (представлены интерфейсами в обертке). В библиотеке они принимают на вход void* и возвращают его юзеру при вызове коллбэка. В общем-то все так и есть, как в приведенном коде.
Аноним 02/03/15 Пнд 16:20:19 #240 №444808 
>>444801
P.S: saveAInst и issueInst делюаются в сишной либе, я их для примера так реализовал. Конечно они не используют new, delete и глобальную переменную.
Аноним 02/03/15 Пнд 16:43:03 #241 №444823 
>>444808
std/boost::function не подойдут?
Аноним 02/03/15 Пнд 16:51:40 #242 №444828 
>>444823
Если честно: не знаю. Мне почему-то кажется, что дать пользователю интерфейс будет лучше. Надо будет подумать.
Аноним 02/03/15 Пнд 18:04:17 #243 №444862 
>>444708
>Как обнаружить посторонние символы при вводе со scanf() ?
Никак, scanf - это убогое некроговно из 70-х, используй strtod.
Аноним 03/03/15 Втр 03:50:02 #244 №445006 
В крестах допускается одинаково обзывать локальные переменные?
Аноним 03/03/15 Втр 08:44:24 #245 №445022 
>>445006
да, если они во вложенных скоупах. в одном нет, разумеется.
двачую вопрос, реестр в C++ Аноним 03/03/15 Втр 11:29:13 #246 №445056 
14253713535630.jpg
Как в C++ добавить тукущую прогу в автозагрузку?
двачую вопрос, C++ Source Engine Аноним 03/03/15 Втр 11:34:42 #247 №445059 
14253716824450.png
Как для Source Engine запилить серверный плагин? Если не лень скиньте готовый проект со всеми патчами
Аноним 03/03/15 Втр 11:36:00 #248 №445060 
Начал изучать C по книге Брайан Керниган, Деннис Ритчи. И в самом начале уже столкнулся с херней. Есть функции getchar и putchar. Предлагается такой пример
[code]#include <stdio.h>
/ копирование ввода на вывод; 1-я версия /
main()
{
int с;
с = getchar();
while (с != EOF) {
putchar (c);
с = getchar();
}
}
[/code]
Выполняю его и ничего не происходит, думаю ладно может так и надо, так как в потоке вроде как и нечему копировать-выводить, однако дальше предлагают два упражнения:

Упражнение 1.6. Убедитесь в том, что выражение getchar() != EOF получает значение 0 или 1 .
Упражнение 1.7. Напишите программу, печатающую значение EOF.
А как я напишу, если даже не узнаю, работает код или нет?
Аноним 03/03/15 Втр 11:43:20 #249 №445064 
>>445060
K&R C устарел лет 20 назад.
Читай что-нибудь из Beginner секции
http://stackoverflow.com/questions/562303/the-definitive-c-book-guide-and-list
Аноним 03/03/15 Втр 11:47:34 #250 №445065 
>>445060
>Выполняю его и ничего не происходит
Что ты имеешь ввиду?
sageАноним 03/03/15 Втр 12:06:39 #251 №445069 
>>445056
Нужно обновить драйвер видеокарты.
>>445059
А тебе надо переустановить DirectX процессора.
>>445060
Переустанови Windows, заработает.
Аноним 04/03/15 Срд 11:51:45 #252 №445412 
>>445069
Спасибо, помогло.
Аноним 04/03/15 Срд 12:02:00 #253 №445413 
>Кроме того, вспомните, что многие шаблоны используют другие шаблоны, и таким образом, компилятор должен выполнять каскадную перекомпиляцию таких шаблонов (и их единиц трансляции), и этот рекурсивный процесс продолжается до тех пор, попока не будут выполнены все каскадные инстанцирования (реакция нормального пропрограммиста в такой ситуации: "Какое счастье, что я не занимаюсь реализацией подподдержки экспорта в компиляторе!").

Мейерс конечно повеселей но Шаттер тоже норм.
Аноним 04/03/15 Срд 17:12:24 #254 №445501 
>>445413
>Там, где не можешь, — не должен и хотеть...
Аноним 04/03/15 Срд 18:35:32 #255 №445548 
while (dst++ = src++) ;
Поясните, в чем прикол? И как вообще работает исполненение программы в условии?
Аноним 04/03/15 Срд 18:48:40 #256 №445550 
>>445548
1. взяли dst и src
2. присвоили dst = src
3. сравнили dst с null
4. заинкрементили значения

там точно присваивание? может ==?
Аноним 04/03/15 Срд 18:52:20 #257 №445552 
Сап, уменя в функции есть 4 переменных, которые нужно вывести в программу. Как это сделать?
Аноним 04/03/15 Срд 18:53:32 #258 №445556 
>>445550
Точно. Написано, что для копирование строк.
Аноним 04/03/15 Срд 19:01:51 #259 №445559 
>>445552
Структура/объект
Аноним 04/03/15 Срд 19:05:48 #260 №445562 
>>445548
Оператор '=' возвращает rvalue, тоесть выражение 'a = b' равно b. В цикле инкрементируются указатели, значения из src сохраняются в dst, пока не встретися 0 и цикл не прервется. По соглашению 0 находится в конце массивов char представляющих строки.
Аноним 04/03/15 Срд 19:06:30 #261 №445563 
>>445559
Можешь на примере показать?
Пытался делать
return(a1,a2,a3,a4)
Но в программе она ссать хотела какую я переменную хочу вывести
Аноним 04/03/15 Срд 19:11:01 #262 №445564 
>>445563
https://ideone.com/C3Dhrf
Аноним 04/03/15 Срд 19:38:37 #263 №445577 
>>445564
А без использования struct возможно это сделать?
Аноним 04/03/15 Срд 19:44:08 #264 №445583 
>>445577
Можно массив возвратить, или через параметры (указатели передавать).
Аноним 04/03/15 Срд 20:23:20 #265 №445593 
>>442438
Да, ошибся от усталости.

http://ideone.com/Bwf6rF

Вот правильное решение. Что-то я не сразу твой ответ заметил, бывает.
Аноним 05/03/15 Чтв 00:01:20 #266 №445717 
Есть ли хоть какой-нибудь способ вернуться на предыдущую строку в консоли ?
Аноним 05/03/15 Чтв 07:10:06 #267 №445797 
>>445577
Используйте pair или кортежи например, или вообще в vecror хуярь
Аноним 05/03/15 Чтв 08:51:35 #268 №445806 
Есть окошко, которое открывается по нажатии на кнопку, и перед открытием окна мне нужно сконкатенировать строки из массива структур, примерно так:

stringstream htmls;
htmls << L"<html><body>";

if(msgCount == 0)
{
htmls << L"<p>Сообщений нет.</p>";
}
else
{
for(int i = 0; i < msgCount; i++)
{
htmls << L"<div><h1>" << msgs.title << L"</h1><p>" << msgs.body << L"</p></div>";
}
}

htmls << L"</body></html>";
htmlWindow->SetPage(htmls.str());
Но блин, при увеличении массива на плюс одну структурку в нем, прога вылетает в сегфолт с сообщением:
Program received signal SIGSEGV, Segmentation fault.
In std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_string(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&) () ()
Уже третий день мозг ебу, что за хрень?
Аноним 05/03/15 Чтв 08:55:03 #269 №445807 
>>445806
Тоесть если в массиве 5 структур, но окошко ни разу не открывалось - все отрабатывает нормально и окошко закрывается. Добавляю структуру в массив, открываю окно = SEGFAULT. Начальное число структур в массиве не играет абсолютно никакой роли, вылетает только при попытке отработать увеличенный массив относительно того, который обрабатывался в первый раз.
Сорян, не могу в объяснения
Аноним 05/03/15 Чтв 09:44:49 #270 №445819 
>>445807
Код на pastebin или ideone.
Аноним 05/03/15 Чтв 09:47:14 #271 №445820 
>>445807
Ставь брекпоинты и ищи конкретную строку (вызов функции) на которой падает. Если сегфолт то ты с памятью проебался, индекс не тот или нулевой указатель разименовываешь. Например, когда ты добавляешь структуру она на самом деле не добавляется (или добавляется на на то место куда надо) и когда ты читаешь последний елемент - там ноль. Это надо тестить, проверь все индексы, все указатели, попытайся уточнить строку или блок кода на котором сегфолт.
Аноним 05/03/15 Чтв 10:21:36 #272 №445826 
>>445820
Спасибо! Нашел обишку.

Подскажите, как добавлять в уже существующий массив в динамической памяти элементы? Например

int Array1 = [5, 6, 9]
int
Array2 = [2, 3]
// Array1 = [5, 6, 9, 2, 3]


Аноним 05/03/15 Чтв 10:22:41 #273 №445827 
>>445826
> Спасибо! Нашел ошибку.
> int(звездочка) Array...
самофикс
Аноним 05/03/15 Чтв 10:25:54 #274 №445830 
>>445826
используй std::vector и не трахай себе мозг
Аноним 05/03/15 Чтв 10:31:10 #275 №445831 
>>445830
Это почти всю прогу надо переписывать =(

> там не int(звездочка), a Message(звездочка). sruct Message = {}
Аноним 05/03/15 Чтв 10:45:34 #276 №445837 
>>445831
Драйвера на видюху переустановил и не надо будет.
Аноним 05/03/15 Чтв 10:52:30 #277 №445841 
>>445831
вот и перепиши. пишешь на плюсах - используй возможности плюсов, а не си-стайл.
Если только у тебя там не перфоманс-критикал код. хотя и в этом случае вектор можно использовать
Аноним 05/03/15 Чтв 13:28:34 #278 №445913 
>>445826
Да бляха, вы издеваетесь? Какого хуя вы пытаетесь что-то сделать, даже не попытавшись почитать книгу или еще чего-нить? Вы думаете, что вас тут языку учить будут? Надеюсь тебе никто не покажет, как это сделать.
Аноним 05/03/15 Чтв 13:43:34 #279 №445918 
>>445826
Дрова на видяху обновил?
Аноним 05/03/15 Чтв 17:08:47 #280 №446060 
14255645279740.jpg
Аноним 05/03/15 Чтв 17:09:30 #281 №446061 
>>446060
Кратко отражает суть треда.
Аноним 05/03/15 Чтв 21:23:33 #282 №446179 
Вопрос к чулочнику, который написал борду на с++.
Можешь описать в двух словах, как оно работает? За что отвечает цпп, за что другие вещи (и какие тоже поясни)?
sageАноним 05/03/15 Чтв 22:29:46 #283 №446204 
>>446179
http://habrahabr.ru/post/252215/
Аноним 05/03/15 Чтв 22:46:01 #284 №446211 
>>446204
а ну-ка в пизду эту кодлу петухов тем более что всё равно не нашёл интересующей инфы там
На пальцах поясни, как всё работает. Я в крестах из сетевого только с сокетами вручную работал, не из приятных экспириенс. Я так понял, что всё сетевое взаимодействие берёт на себя CppCMS, т.е. он биндит твой сокет на прослушку сокетов клиентов и всё прочее в этом стиле. Ну и положим, что мой браузер присылает тебе запрос. Хули дальше происходит?
Какой-то javascript, охуеть вообще. Он где работает? На стороне клиента или у тебя? Нихуя не понятно короче.
Аноним 05/03/15 Чтв 22:52:52 #285 №446217 
>>446211
Да ты пиздец нубас
Проследуй в пхп тренд
Напиши имиджборду
Тогда будешь понимать
И приходи
Вообще, было бы неплохо, чтобы кто-то написал текст о веб-программировании, как что происходит
Но всем в падлу
Джаваскрипт почти всегда исполняется на клиенте
Сервер-сайд язык (в данном случае цпп) генерит странички. Вставляет в шаблоны данные из базы данных, например.
Потом веб-сервер их отдает.
А джаваскрипт все это свистит и пердит и шлёт ajax запросы к серверу для динамической подгрузки условных данных из условной базы данных.
sageАноним 06/03/15 Птн 08:46:58 #286 №446300 
>>446217
Этот все правильно написал, как-то так оно и есть, если коротко.
>>446211
А ты иди домашку делать, не дорос еще, судя по долбоебским вопросам.
Аноним 06/03/15 Птн 10:59:45 #287 №446317 
>>446300
ну и иди нахуй тогда, пидр
смотри не захлебнись от своей илитарности
sageАноним 06/03/15 Птн 11:43:21 #288 №446328 
>>446317
При чем тут илитарность, маня? Не вижу просто смысла помогать тупому школьнику, который еще даже гуглить не научился.
Аноним 06/03/15 Птн 14:22:38 #289 №446395 
Читаю Лафоре про конструкторы/деструкторы.
http://ideone.com/ncGvZP

Столкнулся во с такой строчкой:
circle(int x, int y, int r, color fc, fstyle fs):
xCo(x), yCo(y), radius(r), fillcolor(fc), fillstyle(fs)
{ }

не могу никак понять, нахуя нужны все переменные в скобках после circle, и нахуя их присваивать инициализируемым полям.
sageАноним 06/03/15 Птн 14:33:39 #290 №446404 
>>446395
В учебнике это объяснено? Если да, то ты мудак, раз не понял. Если нет, то мудак автор, и такой учебник нужно скорее выкинуть/удалить.
Аноним 06/03/15 Птн 14:41:45 #291 №446407 
>>446395
ой я дурачок. вопрос решён.
>>446404
соси хуй, злобный тупорылый уёбок. этот учебник у вас первым в рекомендуемом списке стоит.
нахуя ты вообще в лужу пёрнул, коли по делу нечего было сказать?

Аноним 06/03/15 Птн 17:43:19 #292 №446462 
>>446407
не обращай внимания на чулочника, ему постоянно в заднице что-то мешает
sageАноним 06/03/15 Птн 21:54:21 #293 №446490 
>>446407
Так я по делу и сказал. Алсо, у кого это "у вас"? Я к этому отношения не имею.
>>446462
Лел, мелкобуквенное хеллоуворлдное чмо вылезло. Петуха забыли спросить.jpg
Аноним 06/03/15 Птн 22:32:02 #294 №446516 
>>446490
на клыка тебе спустил, маня. Доебался до мелких букв, охуеть. Попустись, щенок.
sageАноним 06/03/15 Птн 22:36:46 #295 №446518 
>>446516
Ясно-понятно. Ну хоть с остальным ты согласен, и то уже прогресс.
Аноним 06/03/15 Птн 22:47:02 #296 №446523 
14256712225190.jpg
>>446518
по делу сказать-то хочешь чего?
sageАноним 06/03/15 Птн 22:57:34 #297 №446534 
14256718548580.jpg
>>446523
Все вышесказанное было по делу, чмоша.
Аноним 06/03/15 Птн 23:01:23 #298 №446536 
>>446534
Съеби уже, скоморох, тошно от тебя. За все треды ничего умного не сказал.
sageАноним 06/03/15 Птн 23:11:26 #299 №446542 
>>446536
Вообще-то я часто тут отвечаю тем, кто задает нормальные вопросы, а не "пасаны у миня лаба как сделоть чтоб пичатала матрицу через сраку маиво препада, он миня так папрасил".
Нормальный вопрос - нормальный ответ. Нехуй превращать тред в сборище умственно отсталых.
sageАноним 06/03/15 Птн 23:12:51 #300 №446544 
>>446542
Давайте еще начнем спрашивать "как присвоить значение переменной", или "зачем нужна точка с запятой". Тот петушило выше задал вопрос как раз из той серии.
Аноним 06/03/15 Птн 23:32:27 #301 №446566 
>>441690
Какой ебан делал пикчу? Что за неграмотное быдло?
>your mother is so fat that recursive calculation of her mass causing to stack overflow
Аноним 06/03/15 Птн 23:35:26 #302 №446569 
>>446566
Все норм с грамматикой на пикче. Серьезно.
Аноним 06/03/15 Птн 23:44:00 #303 №446580 
>>446569
Обоснуй.

Учу ингришь
Аноним 06/03/15 Птн 23:48:10 #304 №446584 
>>446566
В школкку, анхличанин мамкин
sageАноним 06/03/15 Птн 23:49:08 #305 №446585 
>>446580
В ингрише допустимо пропускать that, примеры ищи в литературе (не знаю как в деловом языке, но в художественной литературе такое допустимо и встречается).
окончил языковую гимназию, еще не все забыл-кун
sageАноним 06/03/15 Птн 23:51:00 #306 №446588 
Хотя нет, щас дочитал конец
>...of her mass causing to...
И понял что это жир толще этой самой мамаши. Так что на хуй послан.
Аноним 07/03/15 Суб 00:08:01 #307 №446597 
14256760818910.png
>>446584 Но ведь я только учусь. Соси хуй, быдло.
>>446585
>>446588 Какие-то невнятные вскукареки. Что-то не вижу ссылочек на сайтики с грамматикой.

Итаааак, давайте разберем по частям..:
>your mother is so fat,
твоя мать такая жирная зпт.
>the recursive computing her mass causes a stack overflow
рекурсивная функция вычисления её массы случай на переполнение стека

Всё правильно?
Что же корпус бритаешьего язычка?:
to causing: http://bnc.bl.uk/saraWeb.php?qy=to+causing&mysubmit=Go
causing:http://bnc.bl.uk/saraWeb.php?qy=causing&mysubmit=Go

Что-то мне намекает, что щкольник клипавший эту картиночку просто долбоеб. Вропчем, как и все сипипи петушки итт.
Аноним 07/03/15 Суб 00:28:40 #308 №446606 
>>446597
>её массы случай на переполнение стека
Ебал ее рука. To cause - это глагол. Переводится как "вызывает", "является причиной".
sageАноним 07/03/15 Суб 00:52:57 #309 №446619 
>>446597
Ебать ты конченый. Книжки читай, дибил.
Аноним 07/03/15 Суб 00:57:29 #310 №446623 
школьник затралил цппшников
азаза
Аноним 07/03/15 Суб 01:01:50 #311 №446625 
Господа, возвращать результат функции как исключение - это нормально?
Аноним 07/03/15 Суб 01:05:59 #312 №446628 
14256795594250.jpg
>>446606
Верно. Что-то я обосрался с causes/causing.
Но как быть с толстой вычислительной функции её массы?

>>446619 Иди подотрись, чухан.
Аноним 07/03/15 Суб 01:08:51 #313 №446629 
>>446628
> толстой вычислительной функции её массы?
запятая, ты видишь ее?
Аноним 07/03/15 Суб 01:11:11 #314 №446630 
>>446629
>твоя мать такая толстая, вычислительная функция её массы вызывает переполнение стека
Аноним 07/03/15 Суб 01:12:22 #315 №446631 
>>446628
>Но как быть с толстой вычислительной функции её массы?
Откуда я знаю, какое говно тебе в голову в твоей гимназии залили. Для меня предложение выглядит нормальным, для нейтивов - тоже:
http://www.google.ru&q=your+mother+is+so+fat+stack+overflow
Аноним 07/03/15 Суб 01:13:10 #316 №446632 
>>446597
Ебнутые жавадауны просто пиздец
Понарожали хуйни
Аноним 07/03/15 Суб 01:14:01 #317 №446634 
>>446630
уже лучше, только computing - это причастие настоящего времени, "вычисляющая"
Аноним 07/03/15 Суб 01:24:23 #318 №446636 
14256806637660.png
>>446634 Но ведь в этом предложении это герундий настоящего времени.
>>446631 Мне тоже, но меня смущает это неграмотное отсутствие that
>>446632 Что еще спизданёшь?
Аноним 07/03/15 Суб 01:28:46 #319 №446638 
>>446636
> герундий настоящего времени.
хуюндий, герундий не выступает в роли определения, а здесь определяется слово function
> неграмотное отсутствие that
ну ты пиздец https://www.google.by/search?q=can+i+omit+that&ie=utf-8&oe=utf-8&gws_rd=cr&ei=Tyr6VJ_BGMmP7AbVr4GAAQ
Аноним 07/03/15 Суб 01:42:50 #320 №446652 
14256817704860.jpg
>>446638
>>446638
>герундий не выступает в роли определения
Но ведь function здесь не глагол, выступающий в роли определения, что бы computing его характеризовал как причастие.

>гугл
Да я загуглил уже. Странно, я могу читать и понимать, но выражать мысли и удерживать часть прочитанного в памяти - трудновато. Неужели сибляди во всем виноваты?
Аноним 07/03/15 Суб 01:47:14 #321 №446654 
>>446652
>Но ведь function выступающий в роли определения (по твоему мнению) - здесь не глагол, что бы computing был как характеристика-причастие к этому глаголу.
Пофиксил, для понятности.
Аноним 07/03/15 Суб 01:57:46 #322 №446661 
>>446654
> >Но ведь function выступающий в роли определения (по твоему мнению) - здесь не глагол, что бы computing был как характеристика-причастие к этому глаголу.
ты долбоеб
function - объект, существительное, подлежащее
причастие - форма глагола похожая на прилагательное, признак объекта (НЕ ПРИЗНАК ДЕЙСТВИЯ, ЭТО ТЫ БЛЯДЬ С НАРЕЧИЕМ ПОПУТАЛ)
sageАноним 07/03/15 Суб 03:13:44 #323 №446673 
Вы охуели этого дегенерата кормить?
Аноним 07/03/15 Суб 05:04:34 #324 №446679 
КАК ЖЕ МЕНЯ ЗАЕБАЛИ ЧЕТЫРЕЖДЫБЛЯСДКИЕ КРЕСТЫ
АЖ СИЛ НЕТ, СУКА
ИНКЛЮД ИНКЛЮД КЛАДБИЩЕ ПИДОР
ПРАГМА ОНСЕ БЛЯДЬ, НАХУЯ ОНА ВООБЩЕ НУЖНА КОГДА МОЖНО ЗАПИЛИТЬ ИМПОРТЫ, НЕТ БЛЯДЬ ХОЧУ ЖРАТЬ ИНКЛЮДЫ, ГОВНОЕДЫ СУКА
ЛИНК ЕРРОР СИМВОЛ ПИЗДА_УЗБЕКА АЛРЕДИ ДЕФАЙНЕД ИН .ОБЖ
НАХУЯ ДЕФОЛТНО ВСЁ ПРИВАТНО ДЕЛАТЬ, ЧТО ПОНАДОБИТСЯ ТО САМ ЗАПРИВАЧУ КОГДА НУЖНО БУДЕТ. НЕТ БЛЯДЬ УКАЗЫВАЙТЕ ПАБЛИК НАСЛЕДОВАНИЕ УЁБКИ
И ДЕЛАЕШЬ КОНСТРУКТОР ПРОТЕКТЕД И ПИШЕШЬ ПОТОМ КОСТЫЛИ ЧТОБЫ СОЗДАТЬ ШЕЙДЕР ПОИНТЕР С ОБЪЕКТОМ. НЬЮ И ПОТОМ ШАРЕД_ФРОМ_ЗИС() ПИЗДЕЦ БЛЯДЬ
ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005 ЛИНК2005

пиздануться блядь

более неудобного и костыльного языка в жизни не видел

ебал мамку страуструпа, прости господи
Аноним 07/03/15 Суб 07:29:19 #325 №446690 
>>446679
Нет, не так.
ОШИБКА В <<ЖОПА_ХУЙ::ГОВНО_ПИЗДА><ПИДОР-КЛАДБИЩЕ([СУКА_ЯЕБУ::АНАЛ_ЖИРАФА](<T><ЕБАНИСЬ_В КОНЕЦ>)*)(ЕБАНЫЙНАХУЙ_ОСЁЛ)<ЖРИ_КАЛ(РАС_РАС_РАС)>

ПИДОРЫ БЛЯДЬ НАЛЕПИЛИ В 15000 СТРОК ХУЙНИ КОТОРАЯ 2+2 СКЛАДЫВАЕТ, НАКОПИРОВАЛИ В ДЕСЯТОК ФАЙЛОВ И ЗАВЯЗАЛИ ДРУГ НА ДРУГА. ТЕПЕРЬ ПОПРАВИТЬ НЕБОЛЬШУЮ ХУЙНЮ - ЭТО ПЕРЕПИСАТЬ ПОЛСИСТЕМЫ
sageАноним 07/03/15 Суб 08:05:52 #326 №446692 
>>446679
>>446690
Ну так и уебывай из крестов, неосилятор.
Аноним 07/03/15 Суб 09:37:27 #327 №446696 
>>446625
Нет. Исключения - это исключения, неожиданная ситуация.
Хотя бывает, что исключения используют для подъёма из рекурсии. В парсерах, например. Но это очень плохо.
sageАноним 07/03/15 Суб 09:55:29 #328 №446702 
>>446696
Поддвачну этого, дело говорит. Еще дополню, что исключения лучше кидать только тогда, когда ситуация на самом деле исключительная и от разработчика не зависящая (скажем, файловая система наебнулась). А если ошибка вызвана неверными параметрами или тем что сервер недоступен - тут лучше флаг ошибки (возвращаем кортеж с элементом-флагом или передаем out-parameter в виде ссылки/указателя).
Аноним 07/03/15 Суб 10:54:40 #329 №446710 
>>446692
Ничтожество, ты лишь тупая скотина, дрочащая на хуй пойми что.
Когда этот недоязык окончательно канет в лету, ты похватишь нехилый баттхерт, выблядок сучий. Приятного дня.
sageАноним 07/03/15 Суб 11:05:37 #330 №446713 
>>446710
Перейду на другой без лишнего шума. Отчего тебе так печет? Тебя заставляет кто-то на крестах писать? Да? Меняй работу. Нет? Ну так не пиши на крестах.
Аноним 07/03/15 Суб 13:00:21 #331 №446738 
>>446713
>Тебя заставляет кто-то на крестах писать?
Ему лабы сдавать надо
sageАноним 07/03/15 Суб 13:09:38 #332 №446742 
>>446738
Чет парашная у него видать шарага, раз заставляют на каком-то конкретном языке писать. Я в свое время сразу преподу сказал, чтоб он со своими дельфями сам в очко долбился, а я буду писать на том, на чем хочу. При этом, заценив результат, он меня потом всегда другим в пример ставил. Так что все от самого себя зависит.
Аноним 07/03/15 Суб 13:41:36 #333 №446754 
Утро доброе, анансы.
Появилась мелкая задачка, а именно напилить простейший односторонний ftp СИНХРОНИЗАТОР. На плюсах, конечно же.
Почитав rfc я понял, что тут обычные блокируемые сокеты подойдут на ура. Но и сразу же слегка обосрался.
Сейчас планирую сделать примерно так:
- Собираем рекурсивно файлы из указанно папки, что иметь вид: /ftp/folder1/file1, /ftp/folder1/subfolder/file2, ...
И в аналогичном виде собираем на локальной машине. Сравниваем по размеру файла и дате изменения.

Суть обосрамся:
Внезапно, фтп иногда отсылает мне "226 Закрытие канала, обмен завершен успешно" ещё до того, как файл был скачал. При этом никакой канал он не закрывает. Т.е. лог может быть подобного вида:
RETR filename
150 Статус файла правилен, подготавливается открытие канала
//Вот тут никаких сообщений, судя по рфц, быть не должно, но внезапно фтп досылает
226 Закрытие канала, обмен завершен успешно
//И тут я, как долбоёб без проблем скачиваю файл.

Хочу попробовать так сделать:
Все recv записываем в stringstream, и метод на уровне get_next_response(); И пользоваться std::getline. Ибо стандарт вещает, что фтп все ответы заканчивает на \r\n
Вопрос такой, можно ли совладать со stringstream, чтобы он удалял строку после getline? Или есть другие варианты?

Что посоветуете, господа?
sageАноним 07/03/15 Суб 13:45:14 #334 №446758 
>>446754
Посоветую как минимум не писать на чистых крестах, а воспользоваться библиотеками/фреймворками. Еще лучше будет, если ты таки покажешь код (с указанием того места, где у тебя работает не так как надо).
Аноним 07/03/15 Суб 14:58:06 #335 №446802 
14257294866490.jpg
Продолжаю изучать Лафоре. Разбираю пример "Угадай карту". Есть, собственно, класс карты, два поля с рубашкой и достоинством и два метода с водом и выводом карты, но вопрос не в этом.

class card
{
int number;
suit suit;
public:
card(){}
void set(int n,suit s){suit=s; number=n;}
void display();
};
void card::display()
{
if(number>=2 && number<=10) cout<<number;
else
{
switch (number)
{
case jack: cout<<'J'; break;
case queen: cout<<'Q'; break;
case king: cout<<'K'; break;
case ace: cout<<'A'; break;
}
}

Для чего вообще вот эта строчка существует?
>void card::display()
Просто чтобы показать, что описывать функцию можно и вне тела класса, посто объявив её предварительно?
Если да, до для чего стоит двойное двоеточие, и что оно в данном случае обозначает? Вроде оно указывает на метод класса, но ведь и без него можно записать функцию.
sageАноним 07/03/15 Суб 15:06:48 #336 №446808 
>>446802
Еще один уебок с вопросами "зачем нужна точка с запятой". Погугли что-то типа "c++ class declaration and definition".
Если коротко, то предполагается, что ты отделаешь объявление класса от его определения. Когда что-то больше лаба_2 напишешь, начнешь догадываться, зачем это нужно.
sageАноним 07/03/15 Суб 15:07:17 #337 №446810 
>>446808
>отделяешь
фикс
Аноним 07/03/15 Суб 15:10:44 #338 №446814 
>>446802
> описывать функцию можно и вне тела класса
Принято реализацию всех методов выносить из определения класса, возможно кроме inline. ДвоеточиеОператор разрешения контекста нужно чтобы показать что это метод класса, а не просто функция. Если не понимаешь зачем нужен метод а не функция, удали всю эту хуйню (объявление метода, и сам метод сделай функцией) и попытайся переписать функцию таким образом чтобы она работала с тем же результатом что и метод в коде Лафоре.
Аноним 07/03/15 Суб 15:15:36 #339 №446818 
>>446802
Вообще то тебя бы ссаными тряпками нужно прогнать, но добродвач же.

"Двойное двоеточие" - разрешения контекста (вроде так называется) конкретно указывает для какого класса ты пишешь функцию display, в общем указывает из какого пространства имен ты вызываешь/берешь функцию/переменную/итд.
Аноним 07/03/15 Суб 15:21:32 #340 №446824 
>>446814
вне класса функция работать не будет, да?
или это просто уточнение для программиста?

>>446818
чому гнать-то сразу?

>>446808
спасибо. пошёл нахуй.
sageАноним 07/03/15 Суб 15:32:13 #341 №446833 
>>446824
На хуй твоя мать ко мне ходит, чепушило.
Аноним 07/03/15 Суб 15:46:10 #342 №446840 
>>446824
Потому что "ЛЕНЬ ГУГЛИТЬ СПРОШУ АНОНА". Да, для программиста, можешь спокойно убирать компилятор все поймет и все равно норм откомпилирует.
Аноним 07/03/15 Суб 15:48:42 #343 №446841 
>>446840
А зачем тогда этот тред вообще существует?
Чтобы в (i++) раз обсасывать давно обсосанное, или раз за разом уныло холиварить?
Аноним 07/03/15 Суб 15:51:55 #344 №446843 
Как кодиться под индикой/кислотой? Кто пробовал?
Аноним 07/03/15 Суб 15:53:34 #345 №446844 
http://pastebin.com/74g1FQZC

Является ли первый вариант цикла идентичным второму?
Аноним 07/03/15 Суб 16:13:57 #346 №446849 
>>446844
Да
sageАноним 07/03/15 Суб 16:22:05 #347 №446851 
>>446844
По действию идентичны, в машинном коде сложно сказать как будет, может порядок инструкций будет другой, но количество то же, а может и одинаковый, от компилятора зависит. Ну а в контексте качества кода второй вариант лучше, т.к. легче читается.
>>446841
Уж явно не для вопросов по синтаксису. Вот хотя бы для того что >>446844 спрашивает, это еще более-менее.
Аноним 07/03/15 Суб 17:24:39 #348 №446877 
>>446851
ладно, тогда так:
http://ideone.com/q416dH
в какой-то момент программа перестаёт реагировать на агрумент функции sleep()

как значительно ускорить выполнение программы, и что этому мешает?

достаточно подходит под тематику треда?
Аноним 07/03/15 Суб 17:28:40 #349 №446879 
А как вы понимаете код? Какую визуализацию в голове используете?
Аноним 07/03/15 Суб 17:30:30 #350 №446880 
14257386305820.jpg
>>446879
sageАноним 07/03/15 Суб 17:33:56 #351 №446882 
>>446877
Нихуя не понял тебя. Какой-то бред сумасшедшего. Как она реагировать должна? Сплясать что ли? Но вообще, Sleep принимает целое число (количество миллисекунд), так что твое .00000005 превращается в 0. https://msdn.microsoft.com/ru-ru/library/windows/desktop/ms686298%28v=vs.85%29.aspx
sageАноним 07/03/15 Суб 17:35:40 #352 №446883 
>>446879
Так в виде объектов и функций и представляю. Не помню как раньше было, но в какой-то момент поймал себя на том, что думаю функциями и объектами.
Аноним 07/03/15 Суб 17:50:21 #353 №446888 
14257398212580.gif
>>446882
окей. без тогда без слипа.
всё равно слишком медленно.
sageАноним 07/03/15 Суб 17:53:48 #354 №446891 
>>446888
Ну а сам то ты как думаешь? system("cls");
Аноним 07/03/15 Суб 18:01:27 #355 №446892 
>>446891
а как ты понял?
sageАноним 07/03/15 Суб 18:52:14 #356 №446899 
>>446892
Это самая тяжеловесная часть. Мало того, что ты заставляешь систему найти утилиту cls.exe (а может и не .exe, хуй вашу винду знает), так еще и запустить ее. А при запуске она еще и очищает консоль. Хотя последнее хуйня по сравнению с предыдущими действиями.
Аноним 07/03/15 Суб 21:53:50 #357 №446955 
>>441690
В чем профит указателей?
чем принципиально отличается


int x, y =10;
x = y

от

int x, y =10, ptr;
ptr = &y;
x =
ptr;
sageАноним 07/03/15 Суб 22:08:27 #358 №446966 
>>446955
Как минимум в том, что стек не бесконечный, поэтому надо объявлять объекты, занимающие много памяти, в куче, то есть при помощи new. А new возвращает указатель, очевидно. Это раз.
Далее, при копировании такого большого объекта (если в функцию его передаешь, например) тратится еще столько же памяти и лишние такты процессора. А при передаче по указателю нихуя не тратится (размером указателя в 4 (вроде бы) байта можно пренебречь).
И еще есть разные ситуации, когда нужны указатели, но мне лень их описывать.
Аноним 07/03/15 Суб 22:13:59 #359 №446968 
>>446955
Как минимум наличием самого указателя.
Как максимум ты вроде в X передаёшь адрес У. Он будет равен ~ 25346.
Вот если бы ты написал
int x, y;
y = &x;
то ты бы мог иметь как бы 2 названия одной переменной. присваивать значение 4 иксу через
y=4;
Аноним 07/03/15 Суб 22:15:29 #360 №446969 
>>446968
Видиш перед У в конце звёзочку? и я не вижу, а она есть.
Аноним 07/03/15 Суб 22:41:52 #361 №446974 
>>446966

а это все разве всё не изучается в спецдисциплине "байтоёбство"?
существуют ли инструменты, чтобы посмотреть, на паботу с памятью прямо во времЯ компиляции? Гле научиться всем этим нюансам работы с памятью, ведь нигде прямым текстом не пишется: работа с указателяти на объекты предпочтительнее работы с самими объектами. просто же объясняется про возможность обращения по ссылке и по значению, и всё
Аноним 07/03/15 Суб 22:48:33 #362 №446976 
>>446955
Подумай как ты, например, список будешь делать без указателей.
Аноним 07/03/15 Суб 22:49:00 #363 №446977 
>>446974
Здравый смысл?
При передаче по значению ты копируешь весь объект и передаешь копию. Если функция проводит какие-то операции над копией, оригинальный объект останется неизменным.
При передаче по ссылке ты работаешь непосредственно с объектом, не создавая копии. Функция может его поменять.
Т.е. никаких нюансов тут нет, что больше подходит под конкретное техзадание - то и используешь.
Аноним 07/03/15 Суб 22:51:15 #364 №446979 
>>446966
Для передачи в функцию можно использовать ссылку. Для остальных случаев выделение и очистку памяти разве не лучше ли обарачивать в класс?
Реальное приминение указателей - массивы, деревья и другие структуры, неразыменованный указатель нахуй никому не нужен. Так зачем выделять память для единственного объекта?

Мне нравится С++, но меня вводит в недоумение сишный стиль жонглирования указателями. Осообенно, когда функция выделяет память и возвращает указатель.
Есть же оптимизация возвращаемого значения. Кто потом это гавно будет отлавливать?
sageАноним 07/03/15 Суб 22:51:20 #365 №446980 
>>446974
Чет у меня аж жир потек из монитора, иди ка ты на хуй.
sageАноним 07/03/15 Суб 22:52:07 #366 №446981 
>>446979
shared_ptr и уебывай, клоун.
Аноним 07/03/15 Суб 23:01:41 #367 №446985 
>>446981
Причем здесь shared_ptr, еблан?

Разговор о том, что можно обойтись без указателей вне объектов, и без умных в том числе.
sageАноним 07/03/15 Суб 23:11:01 #368 №446991 
>>446985
Нельзя без них обойтись, толстячок. Тебе уже все про стек и кучу было сказано, но ты же с пятью классами церковно-приходской школы умнее всех комитетов.
Аноним 07/03/15 Суб 23:37:57 #369 №446993 
Есть ли возможность установить буффер для стандартного потока вывода после выполненных операций i/o?
Аноним 07/03/15 Суб 23:52:45 #370 №446995 
>>446955
> В чем профит указателей?
Чтобы изменять объекты по указателям, например, изнутри функции. По-моему это самое охуенное применение.
Аноним 08/03/15 Вск 00:05:20 #371 №446999 
>>446974
>ведь нигде прямым текстом не пишется: работа с указателяти на объекты предпочтительнее работы с самими объектами.
О не эффективности передачи объектов по значению не писал только ленивый.
Аноним 08/03/15 Вск 01:04:21 #372 №447029 
Как можно узнать или/и выделить максимум для любой системы памяти например для динамического массива?
Известно что malloc возвращает NULL при недостаточном объеме памяти. Но после этого область эта область памяти недоступна так что это использовать врядле удасться.
Аноним 08/03/15 Вск 01:16:29 #373 №447033 
>>447029
Нужно дергать системное API. B WinAPI есть
https://msdn.microsoft.com/en-us/library/aa366589(VS.85).aspx
в остальных хуй знает, гугли
Аноним 08/03/15 Вск 01:47:37 #374 №447043 
>>447029
>Известно что malloc возвращает NULL при недостаточном объеме памяти
Не обязательно. Под линуксом ты можешь аллоцировать хоть экзабайт на 64-битной системе, и все упадет только когда физическая память закончится.
Аноним 08/03/15 Вск 01:51:38 #375 №447045 
>>447043
Поясни подробнее, где про это почитать и кому уебать?
Аноним 08/03/15 Вск 02:08:56 #376 №447048 
>>447045
http://linux.die.net/man/3/malloc
Аноним 08/03/15 Вск 02:16:54 #377 №447050 
>>447048
Пиздец. Спасибо, не знал, что все так плохо.
Аноним 08/03/15 Вск 02:20:55 #378 №447051 
>>447050
Почему плохо? Стандартом поведение маллока никак не регламентируется. Undefined behaviour. Каждый дрочит, как хочет.
Аноним 08/03/15 Вск 07:05:56 #379 №447070 
>>446991
Что было сказано, ебанько?
>Без указателей нельзя, но мне лень примеры искать.

Если в классе конструктор выделяет память, он выделяет его в куче и хранит только ебанных указатель, стек от этого не пострадает. Затем деструктор сам почистит все.

Зачем, я вас, крестодебилы, спрашиваю, вы выделяете память направо и налево? Нахуя плодить утечки и сегфолты? Есть этому оправдание?
Аноним 08/03/15 Вск 08:59:46 #380 №447078 
>>447070
>Зачем, я вас, крестодебилы, спрашиваю, вы выделяете память направо и налево?

Чтобы программа пошустрее работала + экономия памяти. Не использовать же контейнеры для больших объёмов данных.

>Нахуя плодить утечки и сегфолты?

Пиши сразу код в месте, где память должна быть освобождена, только и делов. А ещё умные указатели есть, правда я не знаю, как у них с производительностью/экономией памяти. Хотелось бы ознакомиться с научно-техническими статьями на сей счёт, если кто располагает. Вангую по памяти то же, что и с обычными указателями, а по быстродействию чуть медленнее.

Есть этому оправдание?

Ну конечно есть. Не буду же я без конца петушить std::vector, например, для целочисленных типов. Взял рассчитал, сколько тебе памяти нужно, до какого момента пробегать итерациями, когда освобождать. Лишний раз не освобождаешь / не занимаешь память.
sageАноним 08/03/15 Вск 10:20:21 #381 №447095 
>>447070
То что ты, неосилятор, плодишь сегфолты, это твои проблемы. Нехуй делать еще одну жаву из крестов с тысячей лишних оберток и абстракций. Кресты не про это. Уебывай и пиши на чем хочешь, раз мозгов не хватает.
Аноним 08/03/15 Вск 12:02:13 #382 №447115 
Привет, плюсач!

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

Передавать каждому в конструктор не хочется, это криво и выглядит велосипедом. Делать глобалки, разумеется, тоже не хочется. Стоит сделать статическую инициализацию в конструкторе?
Аноним 08/03/15 Вск 12:03:45 #383 №447116 
>>447078
>Чтобы программа пошустрее работала + экономия памяти. Не использовать же контейнеры для больших объёмов данных.
>2015
>Примитивные оптимизации вместо продуманной архитектуры на языке с лучшими оптимизирующиеми компиляторами

>Не использовать же контейнеры для больших объёмов данных.
А для чего они тогда нужны?
Контейнеры - удобная и безопасная обертка для работы с динамическое памятью.

>Пиши сразу код в месте, где память должна быть освобождена, только и делов.
Как найти это место среди неопределенного числа вложенных рекурсивных вызовов и ветвлений?

>Не буду же я без конца петушить std::vector, например, для целочисленных типов.
Тебя никто не заставляет использовать STL, можно написать свой контейнер.
>Взял рассчитал, сколько тебе памяти нужно
>Лишний раз не освобождаешь / не занимаешь память.
А vector-то самопроизвольно выделяет память в случайные моменты времени в случайном количестве.
>до какого момента пробегать итерациями
begin()/end() для кого сделали?

>>447095
Ты что несешь, поехавший? Проверься на нуль терминатор, ты походу гавно наворачиваешь.
Аноним 08/03/15 Вск 12:06:08 #384 №447118 
>>447115
Статический член класса, конструктор его обновляет.
Аноним 08/03/15 Вск 13:31:09 #385 №447148 
>>447118
В процессе реализации возникла проблема. В классе есть static std::vector< int > i; После класса есть std::vector< int > i; Ругается на multiple definition.

Если не сложно, приведи пример, как это должно выглядеть, чтобы можно было инициализировать статический член в конструторе и забыть.
Аноним 08/03/15 Вск 13:31:55 #386 №447150 
>>447148
Фикс: после класса, конечно, std::vector< int > Class::i;
sageАноним 08/03/15 Вск 13:42:38 #387 №447155 
>>447148
>После класса есть
Зачем он там есть? Если тебе нужно инициализировать его в конструкторе, то инициализируй его в конструкторе, а не объявляй новый.
sageАноним 08/03/15 Вск 13:53:08 #388 №447159 
>>447116
Аргументы кончились, пошел бред и словесный понос, ясно.
Аноним 08/03/15 Вск 13:56:01 #389 №447162 
>>447155
Так, тут возникает другая трудность.

Я решил перенести этот вектор даже не в конструктор, а в функцию, где он используется. Чтобы один раз инициализировать и все. Но беда состоит в том, что функция эта лежит в треде, поэтому туда лезут два треда сразу и происходит сегафолт.

Если я переношу инициализацию в конструктор, то за пределами конструктора вектор не видно.

Как тут стоит поступить?
Аноним 08/03/15 Вск 14:08:23 #390 №447165 
>>447162
Делай синхронизацию, или используй атомарные оперцаии, или создавай объекты только в одном конкретном потоке (фабрику навернуть).
Аноним 08/03/15 Вск 14:40:18 #391 №447180 
>>447165
Объекты создаются в одном потоке. В каждом из объектов есть тред и функция, с которой этот тред запускается овер дохуя раз в секунду.

Поэтому все-таки хочется вынести инициализацию статики в конструктор, потому что он вызывается для каждого объекта последовательно, а не городить синхронизацию.
Аноним 08/03/15 Вск 15:03:24 #392 №447191 
14258162040680.png
http://pastebin.com/gL4s6DnU

Что он от меня хочет? Когда использую в функции get strcpy, то получается какой то ужасный результат. Дело, наверное, в more(), но я не знаю, как ту штуку можно исправить.

на char in и на аргумент in внимания не обращайте, мне просто лень при возвращении к стандартному коду, где у get нет аргументов всё вилкой чистить.

inb4: пошёл нахуй, чепуш, мамку твою ебал
Аноним 08/03/15 Вск 15:06:10 #393 №447193 
>>447180
> Объекты создаются в одном потоке
Ну значит сегфолт не из-за того что куда-то лезут два треда. Ты где-то дергаешь нулевой указатель, или там удаляешь объект а потом пытаешся его использовать. Вообще у тебя вся архитектура как-то подозрительно выглядит, в каждом объекте по треду который стартуется дохуя раз это не очень то нормально. Подумай еще раз про общую структуру приложения.
Аноним 08/03/15 Вск 15:12:14 #394 №447200 
>>447191
А input_str всегда заканчивается нуль терминатором?
Аноним 08/03/15 Вск 15:15:29 #395 №447203 
>>447191
Ты же задание не выполнил. Объявление функции должно быть get (char) а у тебя получилось char StringParser::get(char*)
Аноним 08/03/15 Вск 15:16:01 #396 №447204 
>>447193
>>447193
Да нет, с архитектурой вроде все норм -- все эти объекты это обертки для тредов. Там суть вот в чем -- в рабочей функции треда лежит статический вектор. Если он не заполнен, врубается его заполнение.

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

Я пока придумал только один способ решения -- сделать после заполнения while по существованию вектора. Но это какой-то ебучий костыль.

Может все-таки есть способ объявить вектор статическим членом класса и генерить в конструкторе?
Аноним 08/03/15 Вск 15:18:06 #397 №447206 
>>447203

Так объявление функции в классе же. char StringParser::get(char*) - это сама функция.
Аноним 08/03/15 Вск 15:18:39 #398 №447207 
>>447204
Можешь попробовать синглетон запилить.
Аноним 08/03/15 Вск 15:19:16 #399 №447208 
>>447193
Ну, то есть можно еще генерить статику в конструкторе, а потом копировать ее в член класса, по которому будет проверяться, но тогда придется хранить вектор в памяти много раз, а это ненужное засирание памяти.
Аноним 08/03/15 Вск 15:22:06 #400 №447211 
14258173264830.png
>>447200

Не, оно работает не так и очень много, пока программа на крашнется.

В стандартном варианте, где у функции гет нет аргументов, оно работает так:
вводишь 1/2\4,5
А оно выводит:
1
2
4
5

В этом варианте http://pastebin.com/P5ruKhb3
При вводе 4/4 и 5/5 выводит пикрил
Аноним 08/03/15 Вск 15:26:54 #401 №447220 
>>447204
Если я правильно понял, тебе нужно тчо-то типа сделать статический метод (метод класса) который будет инициализировать вектор (статический естественно). Раз объекты у тебя создаются в одном потоке, перед их созданием дергаешь метод с инициализацией вектора, потом начинаешь создавать объекты. Если из разных потоков то нужно убедится что метод будет вызван до попыток инстанциировать объекты. Совать его в конструктор не сильно хорошая идея, но можно с блокировками - при самом первом зодании берется мьютекс и после инициализции вектора освобождается. Остальные объекты (если есть) ждут освобождения мьютекса. Но если у тебя создание в одном потоке то этого нихуя не надо, проще вызывать статический метод и потом инстанциировать объекты.
Аноним 08/03/15 Вск 15:29:16 #402 №447221 
>>447220
О, большое спасибо! Это как раз то, что мне нужно!
Аноним 08/03/15 Вск 15:32:09 #403 №447227 
14258179297200.png
>>447211
Запустил твой код, работает.
Аноним 08/03/15 Вск 15:35:19 #404 №447233 
>>447227

Ты запустил стандартный код, где нужно только в одну строку ввести, которая является аргументом класса.
Аноним 08/03/15 Вск 15:42:22 #405 №447243 
Если из функции get вывести input_str, то всё нормально.
Аноним 08/03/15 Вск 16:05:16 #406 №447279 
14258199166230.png
cout << strlen(input_str);

Лол
Аноним 08/03/15 Вск 16:10:35 #407 №447287 
>>447279

А, вот оно чо! Оно же при каждом вызове функции копируется, вот я дурак.
Аноним 08/03/15 Вск 16:52:19 #408 №447304 
>>447051
> Undefined behaviour.
UB там нет. Есть unspecified behavior в том, каким будет порядок и взаимное расположение нескольких выделенных областей памяти. Зато ясно написано, что к объекту можно обращаться до тех пор, пока он явно не будет освобожден. Про UB (а OOM Killer очень даже UB) при обращению к объекту не говорится.
Аноним 08/03/15 Вск 17:04:33 #409 №447311 
Если переменная обьявлена в функции, то она сбрасывается до обьявленного значения при каждом вызове функции?
Аноним 08/03/15 Вск 17:08:55 #410 №447315 
>>447211

Всё, сделал, хоть и тупым способом.
Аноним 08/03/15 Вск 17:14:28 #411 №447321 
>>447311
Да, она вообще не сущестует вне функции.
Аноним 08/03/15 Вск 17:14:58 #412 №447322 
>>447321
>сущестует
существует
Аноним 08/03/15 Вск 19:25:11 #413 №447389 
>>446844
Если именно условие цикла - да.
Если тело цикла - нихуя нет.
Аноним 08/03/15 Вск 22:37:39 #414 №447527 
>>441690
Помогите,няши. Как вставить новые элементы в упорядоченный по убыванию массив не нарушая упорядоченности?
sageАноним 08/03/15 Вск 22:41:59 #415 №447530 
>>447527
>массив
Никак. Только если создать новый массив, либо realloc. В любом случае придется пройти по массиву и перезаполнить его заново с учетом нового элемента (если новый массив), либо сместить "правую" часть (если realloc). А лучше использовать список.
Аноним 08/03/15 Вск 22:43:54 #416 №447534 
>>447530
что за список? Мы не проходили списки в универе
Аноним 08/03/15 Вск 22:45:31 #417 №447535 
Привет ребяты, поясните, как мне понять что клиент отключился от сервера а winsock, как мне устроить так, чтобы после того как пользователь открыл консольное окно сервер смог реконнектнуться к пользователю(сервер сам подключается к клиенту). И почему у меня выходит отправить только 4 символа в функции Mes ? http://pastebin.com/ArWF04Vc
Аноним 08/03/15 Вск 23:41:33 #418 №447552 
>>447534

Я думал, что все программисты в /пр/ - самоучки.
Аноним 08/03/15 Вск 23:44:28 #419 №447554 
>>447527
Вставляешь куда надо, остальные элементы сдвигаешь.
Аноним 08/03/15 Вск 23:47:51 #420 №447557 
>>447535
>как мне понять что клиент отключился от сервера
Пингуй времяот времени, сделай так чтобы клиент перед штатным отключением предупреждал сервер.
> после того как пользователь открыл консольное окно сервер смог реконнектнуться
Тоже самое - постоянно пробывать подключиться к клиенту, пока он не ответит
Аноним 09/03/15 Пнд 02:00:25 #421 №447612 
>>441690

Плюсач, подскажи хороший гайд по быстрому изучению особенностей свежего C++ (Что там сейчас модно, C++14?)

Программировал на плюсах несколько лет назад, сейчас возникла необходимость пособеседоваться на позицию плюсовика, в компании используются по возможности новые фичи компилятора (т.е. C++0x нужен, C++14 - скорее нужен, чем нет)
Аноним 09/03/15 Пнд 03:39:12 #422 №447632 
>>446702
> (возвращаем кортеж с элементом-флагом или передаем out-parameter в виде ссылки/указателя).
А потом весь код, через строчку в if (error)? Я думал исключения придумали как раз чтобы не было этой хуйни.
sageАноним 09/03/15 Пнд 04:15:49 #423 №447638 
>>447632
Ну да, чтобы через строчку были try catch. Уебанство эти ваши исключения, раздражают куда больше проверок через строчку.
Аноним 09/03/15 Пнд 09:18:41 #424 №447655 
>>443673
Плохая идея. Данный приём хорош или для очень больших матриц (в обоих измерениях одновременно), или для одномерных массивов практически вне зависимости от размера массива.

У Страуструпа был приёмчик в упражнении, когда он запили struct Month {}; где std::vector<Day> day; в конструкторе имеет 32 дня, чтобы к ним было удобно обращаться.
Аноним 09/03/15 Пнд 09:44:46 #425 №447661 
>>443724
Ты, блядь, шутишь? Равно как и те, кто тебе отвечают. Тебе нужны тупо вложенные ифы одного уровня вложенности, не более, условия по y вложены в условия по x.

Даже если грамотно всё написать, можно по максимум избежать вложенностей. Вот вроде самым простым способом сделал.

http://ideone.com/VZrXXh
sageАноним 09/03/15 Пнд 09:49:50 #426 №447662 
>>447534
>ну маааам, мы не проходили, хнык-хнык
Все, на хуй послан, унтер.
Аноним 09/03/15 Пнд 11:25:24 #427 №447675 
14258895248090.jpg
Коротко:
Был макакой, решил пересесть на плюсы. Нужны проекты, которые можно почитать и понять общие концепции. На github нихуя найти не могу, ибо
проекты до безумия сложны, либо проект состоит из одного файла на 2000 строк и может быть получится найти 2-3 комментария. Соответственно реквестирую ссылки на проекты, которые осилить может даже я.

Подробно:
Был макакой на похапе. Понял, что совсем не мое. Пересел на С, потом по совету знакомого взял C++. Изучил все азы, скорее даже сравнил их с похапе и довольно быстро усвоил, но столкнулся с проблемой, что не знаю, как пилить проект.

Концепция проекта есть, но я банально не знаю, как выполнить реализацию:
-Стоит ли пилить отдельный класс.
-А как разместить файлы?
-Где хранить данные?
-А может быть стоит использовать готовые библиотеки?
-Может быть, уже есть готовый паттерн, а я просто ебуся в жопу?
-etc.

Банально, вопросы организационного характера, но никакой информации я найти по этому не могу. Если PHP-код был сравнительно прост и поковырять проект не составляло труда, то, зайдя на какой-нибудь опенсовас проект, я сталкиваюсь с тем, что нихуя не понимаю. Тысячи файлов, назначение которых не ясно, а состав их вызывает небольшой шок, так как в книжках подобным даже и не пахло. А все эти файлы разбросаны по куче каталогов, в которых ожидаешь увидеть одно, а встречаешь совсем другое.

Собственно, надеюсь, что кто-нибудь из анончиков знает какие-нибудь проекты, которые можно проанализировать начинающему крестоносцу. Или, может быть, есть какой-нибудь хороший блоггер, который в подробностях пояснил за проект\составил с нуля рабочую программу не из 1-2 файлов, а действительно хороший демо-проект.
Или, может быть, сняли какой-нибудь screen-cast, где пилят какую-нибудь простецкую мелочь, аки в похапе запилить гостевую книгу.

Ну-с, анон, надеюсь на тебя. Ты часто мне помогал, помоги и сейчас.



Если на PHP я нагуглил простые cms, которые я погонял деббагером и запилил подобие для себя, а позже вовсе пересел на фреймворки, то с С++ подобное в моем исполнение не взлетает.
Аноним 09/03/15 Пнд 11:33:36 #428 №447677 
>>447675
Читай книги по паттернам проектирования.
Аноним 09/03/15 Пнд 11:41:45 #429 №447680 
>>447677
Да блядь, эти все книги содержат академические примеры, которые толком никуда нельзя применить. Уже дико заебало читать книжки, пилить очередной считыватель файла. Никакого прогресса, никаких целей - абсолютная стагнация.

У меня есть проект, который меня адски толкает вперед - автоматизированный парник. Это мне действительно интересно и я готов с этим работать, но у меня нет хорошей концепции - банально не знаю, куда засунуть какой кусок кода. Собственно, поэтому хочу почитать другие проекты, понять, как строится структура проекта и его скелет. Ну и всякие другие технические вопросы.
sageАноним 09/03/15 Пнд 11:47:03 #430 №447683 
>>447675
>-Стоит ли пилить отдельный класс.
В зависимости от ситуации. Например, если у тебя в одном классе собралось под сотню методов, то это сигнал к тому, чтобы изменить иерархию и вынести какую-то функциональность в отдельные классы. Опять же, классы, состоящие из одного-двух методов чаще всего - плохая идея. Ищи баланс.
>-А как разместить файлы?
Файлы проекта? Обычно кладут в подпапку src, если есть много файлов, относящихся к какой-то части архитектуры приложения, то их еще в отдельную подпапку, скажем, src/dialog, src/stored, и т.п.
>-Где хранить данные?
В базе данных. Очень советую присмотреться к SQLite, если только у тебя там не супер-пупер хайлоад с миллиардом пользователей.
>-А может быть стоит использовать готовые библиотеки?
Не может, а совершенно точно нужно их использовать. Велосипеды полезны только для обучения.
>-Может быть, уже есть готовый паттерн, а я просто ебуся в жопу?
Вполне возможно, что есть, но не советую тратить время на их зубрежку. Половину паттернов я интуитивно использовал еще когда даже слова такого не слышал. Если ты не конченый долбоеб, то сам будешь использовать паттерны, даже не задумываясь об этом. Хотя, по названиям и областям применения пробежаться стоит, но не заморачиваясь об этом.

Что касается проектов - смотри в сторону Qt (заодно рекомендую его как фреймворк). Документация отличная, код довольно качественный, есть множество примеров небольших приложений. По поводу же чего-то более крупного - только гуглить. Я например ни одной статьи на эту тему припомнить не могу.
Аноним 09/03/15 Пнд 11:53:57 #431 №447685 
>>447683
Спасибо, вот уже хоть что-то. Сейчас я попытаюсь расписать концепцию своей грядки, лол. Достаточно абстрактно, ибо дохуя технических вопросов все ещё не решено.
Запощу сюда - похуй, все равно опенсовас и ничего принципиально нового нет.

>Что касается проектов - смотри в сторону Qt
Я тут покумекал и пока решил остановиться на веб движке. Понравилась эта концепция очень.
sageАноним 09/03/15 Пнд 11:58:32 #432 №447688 
>>447685
>Я тут покумекал и пока решил остановиться на веб движке.
Каком именно? Это, к слову, сложновато для новичка, не рекомендую. Тот же WebKit в Qt содержит столько же (или даже больше) кода, сколько все остальные его части.
Аноним 09/03/15 Пнд 11:59:50 #433 №447690 
>>447675
>-Стоит ли пилить отдельный класс.

Ну вообще охуеть. Ты спрашиваешь стоит ли использовать хотя бы один класс в своём небольшом проекте, или в каком вообще случае создавать класс?
Аноним 09/03/15 Пнд 12:11:23 #434 №447693 
>>447690
Ну вот банальный пример, с которым я столкнулся, когда начал набрасывать проект.
У меня есть основной класс, который координирует работу всего приложения (Titan). Он инициализирует работу, устанавливает связь с контроллером(физическим), проверяет входные данные, ждет команды от пользователя и т.д.

С другой стороны, у меня есть файл, которые содержит базовую конфигурацию проекта. Конфигурация, скорее всего будет в JSON формате и скорее всего я перемещу её в БД, ибо
>2015
>срать в файлы.
Сижу и думаю, запилить функцию, которая читает данные из файла прямо в Titan, или запилить отдельный класс, который вытащит нужные данные и сформирует массив, который будет передан в Titan для анализа?

Склоняюсь ко второму варианту, но если уж пилить класс, то очень гибкий. Типа для работы с JSON формата.


>>447688
Пока без идей. Мне просто QT тащить не очень-то и хочется. Хотя опять же, я пока об этом не задумываюсь. Сейчас главное прототипирование, так как даже физической части проекта нет. Поэтому чисто воды консолеебство.


sageАноним 09/03/15 Пнд 12:27:54 #435 №447697 
>>447693
Ты неправильно понимаешь классы. Класс - это не замена функции. Класс - это "данные с приделанными к ним функциями для выполнения каких-то действий над этими данными", если простым языком. Так что в твоем случае класс должен заменить массив (для большего удобства, чтоб ничего не выковыривать из массива и не парсить внутри Titan).
А вообще, то что ты привел, это типичный God object - антипаттерн. Лучше так не делать. Для связи с контроллером сделай отдельный класс, который будет преобразовывать сигналы от контроллера в события или вызывать забинденные на них методы; обработку команд от пользователя предоставь еще одному классу (лучше в отдельном потоке, чтобы ничего не блочить); проверку входных данных возложи на следующий класс, который одновременно будет являться представлением этих данных в удобном для дальнейшей работы формате. Ну и так далее.
Аноним 09/03/15 Пнд 12:44:30 #436 №447701 
На подробное описание дохуя времени уйдет, поэтому кратенько алгоритм работы системы. И я видимо не совсем понимаю, видимо, основные концепции.


>>447697
>заменить массив
Особенно я не понял вот это.
Возможно, кто-нибудь предложит примерную архитектуру приложения.

Алгоритм работы:
1. Инициализация сервера. Смотрим базовую конфигурацию (Что подключено к системе, какие задачи стоят, где размещена база etc)
2. Открываем сокет с контроллеров(Aruduino) и требует опрос сенсоров, которые подключены к системе.
3. Aruduino опрашивает сенсоры, формирует ответ в JSON формате(?) и отсылает обратно на серверную часть.
4. Принятие решения. Серверная часть сверяет показания сенсоров с планом действий, который заложен пользователем (если температура упала, то включить лампы, etc). Если показания сенсоров находятся в пределах нормы, то система простаивает n-секунд и ожидает мануальной команды от пользователя. Вновь отсылает запрос контроллеру на опрос сенсора. Если показания сенсоров выходят за пределы нормы, то серверная часть отсылает команду к контроллеру (например, включить лампы).

Пока это минимальный функционал, дальше есть ещё тысяча и одна функция, но до них ещё очень далеко.

sageАноним 09/03/15 Пнд 12:51:40 #437 №447702 
>>447701
>Особенно я не понял вот это.
Ну епта, у тебя в массиве же будут, скажем, строки (ибо разные типы туда ты не запихаешь). А тебе их надо будет потом частично в bool, частично в int, частично во что-то еще переделать. А тут был бы вместо массива класс с уже готовыми распарсенными полями, типа class X {int count; std::satring path; bool isThatFeatureEnabled};
>1. Инициализация сервера. Смотрим базовую конфигурацию (Что подключено к системе, какие задачи стоят, где размещена база etc)
Нахуя? Это все необязательно прямо при запуске делать. Пример из того же Qt: у тебя есть файл конфигов (.ini, .conf), создаешь объект QSettings s; и далее, где надо: s.value("count").toInt(); s.value("path").toString(); и т.д.
>ожидает мануальной команды от пользователя
И блокируется, пока пользователь что-то не введет, т.к. в крестах нет таймаута ввода. Потому это и должно быть в отдельном потоке, который в крайнем случае можно и убить.
Аноним 09/03/15 Пнд 13:02:27 #438 №447705 
>>447702
Яснее стало с этим массивом, но теперь я вообще не понимаю, как запилить программу.
sageАноним 09/03/15 Пнд 13:11:10 #439 №447708 
>>447705
Это норма.
Аноним 09/03/15 Пнд 13:16:11 #440 №447710 
>>447708
И хули делать? Как-то не пришли ни к какому решению? Неужто в традициях /pr/ меня отправят стаканчики убирать со столов в макдональдсе?
Аноним 09/03/15 Пнд 13:23:29 #441 №447714 
>>447697
>Ты неправильно понимаешь классы.
>Класс - это "данные с приделанными к ним функциями для выполнения каких-то действий над этими данными"
?
Аноним 09/03/15 Пнд 13:27:49 #442 №447716 
>>447705
> я вообще не понимаю, как запилить программу.

Пили итертивно, выбери минимум возможностей и пили с архитектурой, какая под руку подвернётся.

> Смотрим базовую конфигурацию
Возьми какую-нибудь библиотеку, не парься тут вообще.

> где размещена база
А база тебе зачем? Для хранения правил?
Кажется, если правила - это что-то что пользователь должен редактировать, то тупо ещё один конфиг, лежащий рядом с твоей программой — решение куда лучшее, чем бд.

Допустим, в качестве минимума реализовываем тупые правила вида "Если X > 10 сделать_действие"

Ок, как их хранить? Зависит от числа правил и ожидаемой скорости работы. Вот точка потенциального расширения (другой способ хранения, другой алгоритм поиска) — самое время выделить сущность, которая принимает на вход состояние твоей системы и возвращает сработавшие правила (или требуемые действия).

Для начала можешь просто хранить как список структур {свойство, знак сравнения, число, команда}

Ожидание ввода пользователя и работа с контроллёром — тоже выглядит как две отдельные сущности.
sageАноним 09/03/15 Пнд 13:39:54 #443 №447719 
>>447710
>И хули делать?
Закрыть сосач и начать пробовать, пытаться. Само собой нихуя не сделается. Тебя же никто не заставляет сюда код выкладывать, что получится, то и ладно. С опытом будет все лучше и лучше получаться, все через это проходят.
Аноним 09/03/15 Пнд 15:03:43 #444 №447756 
14259026232410.jpg
>>441690
Пишет запутавшийся Java-developer про библиотеки C++. Дайте ссылку, пожалуйста, на статью которая пояснит за подключение библиотек dll/lib/a/so, и какая между ними разница в использовании. Не понимаю какова разница, кроме того, что so и dll динамичные, а a и lib - статичные. Ну и что a и lib - unix-like, а dll - windows. Но зачем статичность/динамичность, в чём профиты и разница в подключении к проекту в VS и прочих IDE?
Аноним 09/03/15 Пнд 15:04:16 #445 №447757 
Вы что здесь совсем поехали, добавив маты в спам-лист?
Аноним 09/03/15 Пнд 15:13:07 #446 №447765 
>>447756
>so и dll динамичные
Их подключит ядро операционной системы, вызов пойдёт через указатель на функцию (дополнительный прыжок по оперативной памяти),
>a и lib - статичные
Их подключит линкер, вызов пойдёт напрямую, параметры будут переданы через стек,
>зачем статичность/динамичность, в чём профиты и разница
В оптимизациях, а если исходники подключать, то функцию в код подставят, см. книжжшки по написанию компиляторов.

IMHO, ещё:
- в библиотеках не надо создавать глобальные переменные,
- в библиотеках не надо создавать новые области памяти без крайней на то необходимости,
- в библиотеках не надо ещё много чего, т.к. библиотеку вызывают и другие программы,
И в таком случае лучше статическая линковка.
Аноним 09/03/15 Пнд 15:29:52 #447 №447778 
>>447765
> Их подключит ядро операционной системы, вызов пойдёт через указатель на функцию (дополнительный прыжок по оперативной памяти),

Не совсем ядро, а динамический линковщик (во всяком случае, если речь идёт о линуксах), но в общем — сказанному верить.

>>447756
Алсо, чисто организационный момент. Некоторые библиотеки довольно большие и разделяемые между множеством приложений (Qt, например) и линковать статически оную в каждый исполняемый файл системы довольно глупо.
Аноним 09/03/15 Пнд 15:59:00 #448 №447790 
>>447683
>В базе данных. Очень советую присмотреться к SQLite
С трудом прикрутил эту хуевину. Сейчас проект собирается с тремя варнингами. Почему эта библиотека такая ебливая?

Warning 1 warning LNK4075: ignoring '/INCREMENTAL' due to '/LTCG' specification
Warning 2 warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/OPT:LBR' specification
Warning 3 warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:librar

sageАноним 09/03/15 Пнд 17:49:44 #449 №447826 
>>447790
Потому что проблемы спермоклоуна и говностудии. У меня все прекрасно работает.
sageАноним 09/03/15 Пнд 18:09:25 #450 №447837 
>>447826
Первые два, кстати, твоя спермостудия сама вызвала. Не знаю уж, каким образом. Кури https://msdn.microsoft.com/ru-ru/library/3ec25010.aspx
Третий либо ты, либо опять же студия вызывает. https://msdn.microsoft.com/ru-ru/library/6wtdswk0.aspx
Обрати внимание на
>/NODEFAULTLIB:librar
>librar
Это к SQLite явно никак не относится.
Аноним 09/03/15 Пнд 20:08:07 #451 №447911 
>>441690
Помогите! Как разположить по убыванию отрицательные элементы массива, стоящие за первым минимальным элементом?
Аноним 09/03/15 Пнд 20:19:31 #452 №447918 
>>447911
https://ideone.com/Qwgnjr
Думаю, что с УБЫВАНИЕМ и ВОЗРАСТАНИЕМ сам разберёшься. С++ референсис тебе в помощь.
Ну и ещё partial_sort тоже посмотри. Но тут он был не нужен.
Аноним 09/03/15 Пнд 20:27:06 #453 №447922 
>>447918
это решённая задача? А можно решение без вот этой непонятной <algorithm>?
Аноним 09/03/15 Пнд 20:32:45 #454 №447925 
>>447922
Охуенные стори, бро. Ты бы книжку почитал для ньюфань. Или погуглить попробовал.

Сделать можно это так:
1. Ищешь наименьший элемент. Запоминаешь его позицию. Т.е. arr[n], где n позиция меньшего элемента.
2. Юзаешь алгоритм сортировки, гугли сразу СОРТИРОВКА ПУЗЫРЬКОМ, самая простейшая. Сортируешь массив начиная от arr[n] до arr[arr_size].

И блядь, читай литературу в шапке треда, ибо подобные вопросы далеко ни раз описаны в трудах различных авторов.
sageАноним 09/03/15 Пнд 20:33:08 #455 №447926 
14259223889390.jpg
>>447922
Конечно можно, в армии все можно, дорогой. Потерпи чуток, призыв уже скоро.
Аноним 09/03/15 Пнд 20:33:39 #456 №447927 
>>447926
я девушка))
Аноним 09/03/15 Пнд 20:35:15 #457 №447929 
>>447925
мне нужно отсортировать ОТРИЦАТЕЛЬНЫЕ элементы
Аноним 09/03/15 Пнд 20:39:30 #458 №447933 
>>447929
Отлично. Это охуенно. 500 рублей, с предоплатой 300 рублей и я тебе сделаю. Раз читать, да думать нихуя не умеешь.
Аноним 09/03/15 Пнд 20:40:29 #459 №447934 
>>447933>>447933
ну блииин((
sageАноним 09/03/15 Пнд 20:58:49 #460 №447941 
>>447927
Ну тогда за отсос сделаю. Или handjob хотя бы.
Аноним 09/03/15 Пнд 21:05:17 #461 №447945 
Посоны, подскажите дебилу. Есть например helloworld.cpp, и я внем хуяк, написал в нем #include <QTCore>. Ну значит g++ говорит что нету такой хуйни. Что делать? Проги с использованием qt либ можно только через qmake собирать? В системе либы qt4 стоят.
Аноним 09/03/15 Пнд 21:24:35 #462 №447951 
>>447765
>so и dll динамичные
>Их подключит ядро операционной системы, вызов пойдёт через указатель на функцию (дополнительный прыжок по оперативной памяти)
нет
тут 2 варианта
sageАноним 09/03/15 Пнд 21:45:02 #463 №447955 
>>447945
g++ -Ic:\path\to\qt\include
А вообще, используй систему сборки. Хотя бы тот же qmake.
Аноним 09/03/15 Пнд 22:06:51 #464 №447968 
>>447837
Сууука, я никак не могу сообразить с архитектурой программы.

Вот есть функция int main(). Дальше что? Куда должна идти программа? Почему нет смысла инициализировать в самом начале? Ведь нужно представление о среде иметь и т.д?
Что в классе Titan должно быть? Почему я пилю по антипаттерну?
Разве нельзя оставить Titan, который просто принимает решения по факту? Куда вообще логику приложения положить? В каком классе должна находиться та часть, которая отвечает за принятие решений?
Аноним 09/03/15 Пнд 22:10:05 #465 №447970 
>>447968
Подскажите хоть какие-нибудь наброски, чтобы не обосраться сразу же, как открыл студию.
Аноним 09/03/15 Пнд 22:50:45 #466 №447990 
>>447968

Господи. Пиши так, как тебе удобнее.
Ты на классы декомпозируешь программу потому что анон сказал тебе, что так правильно?

Я тебе выше предложил уже — выделяй в классы относительно независимые куски и пиши их. А потом вместе соберёшь.
Аноним 09/03/15 Пнд 23:14:45 #467 №448008 
>>447968
Пиши как хочешь, потом поймешь почему и где ты мудак. Так все языки учатся. Не еби мозги, просто делай.
Аноним 10/03/15 Втр 00:03:14 #468 №448033 
>>447968
Ну, у меня как у новичка такой проблемы нет - я вообще не представляю архитектуру программы изначально. Поэтому я поочерёдно пишу некие куски (модули) и тестирую их на образцах данных.

Кстати, совершенно не разделяю идеи лепить классы куда ни попадя. Если у тебя модуль состоит из трёх функций, одна из которых основная, а две вспомогательные, на кой чёрт вообще классы нужны. Можешь в namespace обернуть.

Я вообще ебал в рот это ООП, правда, задачки у меня в основном (полу-)обучающие и небольшие, может поэтому ещё не успел оценить.

>Вот есть функция int main(). Дальше что? Куда должна идти программа?
Ну это вообще философские вопросы. Инт мэйн - с неё всё начинается и ею всё заканчивается, всё выделение памяти, общение с ОС и т.д. Почему не войд? В идеале должен быть возвращён ноль, чтобы показать, что ошибок при выполнении не было.
Аноним 10/03/15 Втр 00:40:12 #469 №448040 
>>448033
Пиздец. Сейчас кодил мелкую математическую задачу. Дико обосрался с векторами, динамическими массивами и прочим говном. Дико стыдно. Забился под шконку вместе с учебником. Совсем охуел, лезу в серьезные вещи, когда основ не понимаю.
sageАноним 10/03/15 Втр 03:50:41 #470 №448068 
>>447638
> через строчку были try catch.
Неумение писать нормально код - это определено проблема try-catch, lol.
Аноним 10/03/15 Втр 07:17:51 #471 №448086 
>>447765
>>447778
Спасибо за пояснение.

Но вот я подключаю библиотеку, а там сразу .h, .lib и .dll. Зачем сразу всё? Какие комбинации вообще возможны и зачем они нужны. Пожалуйста, укажите все возможные комбинации, иначе я ничего не понимаю, когда сталкиваюсь с такой фигнёй.
Аноним 10/03/15 Втр 07:24:48 #472 №448087 
>>448086
.h - описание интерфейса библиотеки. Нужно в любом случае.
Дальше два стула: статическая линковка с .lib или динамическая с dll.

Ты хоть один абзац про виды линковки прочитал?
sageАноним 10/03/15 Втр 08:05:47 #473 №448094 
>>448068
Неумение писать код это определенно проблема if (error), лол.
Аноним 10/03/15 Втр 08:27:33 #474 №448097 
>>448087
Да, я гайды по CMake читал, но на таким вещам почему-то не уделяют внимания, а для меня шок, лол. Т.е. .dll можно смело удалять из папки и всё будет работать?

Ещё нубской вопрос:
http://stackoverflow.com/questions/21593/what-is-the-difference-between-include-filename-and-include-filename
Т.е. надо те хэдеры, которые сам объявляешь инклудить через "filename.h", а стандартные библиотеки и всякие Boost'ы через <filename.h>?
Аноним 10/03/15 Втр 08:40:40 #475 №448100 
>>448097
Разница в порядке поиска.
"" начинает с текущей папки, потом проектные, потом системные.
<> в обратном порядке, грубо говоря.

Ты прав.
Аноним 10/03/15 Втр 08:42:21 #476 №448101 
>>448097
Cmake - это система сборки, все же. Читай про линковку, статическую и динамическую.
Аноним 10/03/15 Втр 08:55:12 #477 №448104 
>>448101
Хорошо.
Библиотеку подключил, добавил .lib в Linker->Inputs в VS2012, добавил нужные пути в проект. Но при старте Start Without Debugging получаю ошибку, что невозможно найти библиотеку. Решается добавлением .dll в папку Realese.
Тут у меня 2 вопроса:
1) Почему .dll, а не .lib (пробовал без .dll - не зарабаотало, а с .dll всё o.k.)
2) Как решить эту проблему, чтобы автоматически копировалась нужная .dll библиотека?

>>448100
Т.е. по сути это синтаксический сахар?
sageАноним 10/03/15 Втр 08:59:22 #478 №448106 
>>448104
Нет. Никаким другим способом ты порядок поиска не задашь. Сахар это когда вместо длинной конструкции тебе предлагается использовать короткую, но делающую абсолютно то же самое.
sageАноним 10/03/15 Втр 09:00:34 #479 №448107 
Алсо, нахуя вы помогаете спермоклоуну, не читающему FAQ и прочие мануалы по своим спермоигрушкам.
Аноним 10/03/15 Втр 09:05:39 #480 №448108 
>>448106
Хмм, ты прав.

Но мне кажется, что двойственность при линковке библиотек - уже плохая практика, когда всё зависит от кавычек или скобочек.
sageАноним 10/03/15 Втр 09:10:18 #481 №448109 
>>448108
Заголовочные файлы никак не относятся к линковке, это отдельный процесс. Заебал, клоун. Нихуя не понимает и уже вылезает со своим мнением.
Аноним 10/03/15 Втр 09:13:52 #482 №448111 
>>448108
Это для упрощения жизни компилятору, чтобы он знал где искать, а не ворошил весь диск на каждом инклюде.
Аноним 10/03/15 Втр 09:26:31 #483 №448112 
>>448109
Ну ты же понял что я имел в виду.

>>448111
А, ну ок, теперь я понял в чём конкретный профит.
sageАноним 10/03/15 Втр 09:32:43 #484 №448113 
>>448112
Нихуя ты не понял, и тот анон тоже не прав. Вот лежит у тебя в системной папке файл jopa.h, относящийся к какой-то библиотеке. А в своем проекте ты тоже создаешь файл jopa.h, и если бы поиск осуществлялся только в каком-то одном порядке, тебе бы пришлось указывать абсолютный путь (иначе какой-то из файлов вообще никогда нельзя было бы подключить).
Аноним 10/03/15 Втр 09:37:41 #485 №448114 
>>448113
Это же и есть говно, когда зависимость в коде от положения файла на диске. Притом порядок ещё нечётко регламентирован. Уж лучше путь относительно проекта указать, чем надеяться, что файл заинклудится правильно.
sageАноним 10/03/15 Втр 10:05:56 #486 №448120 
>>448114
Че ты несешь вообще? Ты хоть один проект собирал когда-нибудь? (laba_2 не считается.) Какие блять пути относительно проекта, ты понимаешь, что на разных системах все в разных местах лежит? Пиздец просто.
А так да, система заголовочных файлов по сравнению с import в других языках весьма уебищна. Как бы мне кресты ни нравились. но с этим не поспоришь.
Аноним 10/03/15 Втр 10:21:38 #487 №448129 
>>448120
>А так да, система заголовочных файлов по сравнению с import в других языках весьма уебищна.
Я к этому и клоню.
sageАноним 10/03/15 Втр 10:59:51 #488 №448139 
>>448129
В C++17 вроде должен появиться некий аналог import'ов.
Аноним 10/03/15 Втр 11:37:09 #489 №448149 
http://ideone.com/wUVy7z
Чому код компилится?
Ведь A::foo() и B::foo() имеют разные сигнатуры, а следовательно это разные функции и должно происходить не переопределения, а простая перегрузка и получаться, что A::foo() просто не определена. Объясните мне тупому.
Аноним 10/03/15 Втр 11:38:56 #490 №448150 
>>448097
>include <fstream>
>include <iostream>

>include <cstdint> //C++ std version of stdint.h
>include <cstdlib> //C++ std version of stdlib.h

Т.е. include <> -- это обычно для стандартной библиотеки. .h в конце не пишется, компилятор должен понимать, что обращение идёт именно к ней. При этом сишные хэдеры также являются частью стандартной библиотеки, если перед названием хэдера после < добавить c. Кстати, имеется категорическая рекомендация использовать std::malloc() а не просто malloc(), чтобы у твоей среды разработки не было сомнений, что ей использовать. Маллок просто как пример, можешь его вообще не использовать.

>include "bicycle.h"
>include "your_mom.h"

А эти файлы должны находиться в той же папке, где находятся и всё .cpp файлы. Т.е. это твои собственные хэдеры, в которых ты можешь объявлять функции и определять глобальные константы, включать хэдеры стандартных библиотек, писать развёрнутые комментарии по версиям и прочее // (всё равно там мало кода).

По крайней мере, так делаю я. Если кто желает обоссать меня по делу, я буду только рад.
Аноним 10/03/15 Втр 11:51:39 #491 №448153 
>>448150
Т.е. с <> только стандартные из стандартной библиотеки, а с "" всё остальное?
Аноним 10/03/15 Втр 11:54:29 #492 №448154 
>>448149
Декларация функции/метода это просто обещание компилятору что такая функция существует, встретив его он просто продолжает дальше, а не бросается проверять есть ли действительно у функции определение (на самом деле компилятор плюсов и не может в общем случае такое проверить, например определение функции может быть в другом translation unit). И если нигде дальше метод/функция не используется то все ок. Проверка на существование функции происходит на стадии уже линковки, а попытка линковки происходит только если функция/метод действительно вызывается где-либо.
Аноним 10/03/15 Втр 11:56:18 #493 №448155 
>>448150
> .h в конце не пишется, компилятор должен понимать

на самом деле, в stl лежат как раз такие файлы cmath, cstdlib, которые просто инклюдят math.h, stdlib.h.

>А эти файлы должны находиться в той же папке, где находятся и всё .cpp файлы

Не обязательно. Как выше объяснялось, "..." начинает посик с текущей папки, потом поднмиается до корневой папки проекта, потом переменные для инклудов, потом системные пути. Так что твой файлы могут лежать где угодно.
Аноним 10/03/15 Втр 11:57:39 #494 №448156 
>>448153
Ну по идее, да. Только вот лично мне непонятно со сторонними библиотеками типа Буста и т.д.

По логике, надо использовать "" и относительный путь:
>#include "../../govno/mocha.h"

Но лучше призвать людей, использующих библиотеки.
Аноним 10/03/15 Втр 12:01:21 #495 №448158 
>>448153
пути к библиотекам обычно указывают в настройках проекта, а в коде используют просто <boost/non_copyable.h>
<poco/huy.h>
<sgstd/vector.hpp>
Аноним 10/03/15 Втр 12:01:24 #496 №448159 
>>448155
>на самом деле, в stl лежат как раз такие файлы cmath, cstdlib, которые просто инклюдят math.h, stdlib.h.
Мне казалось, там есть тонкости. Вроде того, что они не инклюдят файл целиком, а лишь отдельные сущности, потому что какие-то сущности могут быть чутка изменены. Кто-то может прояснить.

>Не обязательно. Как выше объяснялось, "..." начинает посик с текущей папки, потом поднмиается до корневой папки проекта, потом переменные для инклудов, потом системные пути. Так что твой файлы могут лежать где угодно.
Подразумевается, что свои-то хэдеры ты будешь держать в той же папке. Ну и да, в Вижуал студии ни черта не ищется по директориям выше, просто говорит "нет файла".
Аноним 10/03/15 Втр 12:04:20 #497 №448161 
>>448159
http://lpaste.net/124370

8/16 строчки - #include <math.h>
дальше импорт функций в пространство имен std
Аноним 10/03/15 Втр 12:05:50 #498 №448162 
>>448161
А чё там на 11 строчке происходит?
Аноним 10/03/15 Втр 12:08:14 #499 №448164 
>>448162
всякие тригонометрические фукнции - tg/arctg и тд и тп
Аноним 10/03/15 Втр 12:10:18 #500 №448166 
>>448164
Ну т.е. <cmath> это не только "math.h". Так?
Аноним 10/03/15 Втр 12:11:19 #501 №448168 
>>448166
да, cmath дополнительные функции подключает.
Аноним 10/03/15 Втр 12:16:51 #502 №448172 
>>448168
Что >>448159 и требовалось доказать -- плюсовые хэдеры могут быть расширены (от их использования в любом случае не проиграешь). Так что я предлагаю при возможности инклюдить >>448150 хэдеры исключительно из стандартной библиотеки (особенно сишные), и при вызове сишных функций использовать std:: дабы снять все вопросы по возможному двоякому трактованию пространства имён.

Мало ли кто вдруг по пьяни маллок переопределит для какого-то модуля.
Аноним 10/03/15 Втр 12:39:40 #503 №448186 
После даунгрэйда с vs 2013 на vs 2012 получаю следующую ошибку:

---------------------------
Microsoft Visual Studio
---------------------------
Unable to read the project file "deviceQuery_vs2012.vcxproj".

C:\ProgramData\NVIDIA Corporation\CUDA Samples\v6.5\1_Utilities\deviceQuery\deviceQuery_vs2012.vcxproj(44,5): The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\BuildCustomizations\CUDA 6.5.props" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
---------------------------
ОК
---------------------------

В чём может быть проблема? Это решение открывается легко на другом ПК, где сразу стояла vs 2012 (собственно из-за этого и сделал даунгрэйд на втором)
Аноним 10/03/15 Втр 12:41:47 #504 №448187 
>>448186
>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\BuildCustomizations\CUDA 6.5.props

проверяй пути
Аноним 10/03/15 Втр 12:44:44 #505 №448190 
>>448154
>>448149
A::foo() и B::foo() - разные функции. Следовательно A::foo() не определена и В является абстрактным классом. Все потомки абстрактных классов, в которых не определены чисто виртуальные функции так же являются абстрактными.
Код компилируется потому что он корректен. А вот создать объекты типов А или В не получится.
sageАноним 10/03/15 Втр 12:45:28 #506 №448191 
>>448186
>Вопросы, связанные с программами и операционными системами, обсуждаются в /s/.
Аноним 10/03/15 Втр 13:47:04 #507 №448213 
14259844245460.jpg
помоги, анон
Аноним 10/03/15 Втр 13:48:44 #508 №448214 
>>448190
Абстрактность никак не влияет на то что программа компилируется. Меняется только то где выскочит ошибка. Если метод обявлен как pure virtual - то при попытке инстанциировать класс, если будет объявлен как простой метод без реализации то будет ошибка линковщика, если метод используется. Если нет то все скомпилируется, даже если клас инстанциируется (без последующих вызовов отсутсвующего метода).
Аноним 10/03/15 Втр 13:50:33 #509 №448216 
>>448213
Массив а недостаточной длины. Алсо проиграл с копипаста.
Аноним 10/03/15 Втр 13:51:39 #510 №448217 
>>448216
изменил длину, не помогло
Аноним 10/03/15 Втр 13:56:48 #511 №448220 
>>448213
Дебаггеры, блять, для кого придумали? Чему равно i в момент краша? Какой массив a в момент краша? Хули ты принес кусок нихуя в тред? У нас экстрасенсов не водится.
Аноним 10/03/15 Втр 15:58:22 #512 №448248 
14259923027590.jpg
Перекот не пора? Тонем.
Аноним 10/03/15 Втр 16:07:35 #513 №448257 
>>448248
разве не тысяча постов?
Аноним 10/03/15 Втр 16:14:48 #514 №448264 
>>448257
Нет, 500. Тонет же.
Аноним 10/03/15 Втр 16:23:08 #515 №448268 
14259937882020.jpg
спрошу тут:
как преобразовать данный код (из сдиез)
wow.Asm.AddLine("fs mov eax, [0x2C]");
wow.Asm.AddLine("mov eax, [eax]");
wow.Asm.AddLine("add eax, 8");
wow.Asm.AddLine("mov dword [eax], {0}", objectManager);

wow.Asm.AddLine("push 0");
wow.Asm.AddLine("push 0");
wow.Asm.AddLine("push 0");
wow.Asm.AddLine("push {0}", id);
wow.Asm.AddLine("call {0}", CASTSPELLBYID);
wow.Asm.AddLine("add esp,16");
wow.Asm.AddLine("retn");
и из с++ билдер
__asm
{
MOV EDI, Id // Помещаем WID в регистр EDI
MOV EBX, 0x00630790 // Помещаем адрес клиентской функции таргета
MOV EAX,DWORD PTR DS:[BA] //
PUSH EDI // ; /Arg1
MOV ECX,DWORD PTR DS:[EAX+0x20] // ; |
ADD ECX,0x0EC // ; |
CALL EBX // ; \elementc.00606A70
}
поставить под синтаксис gcc компилятора вида __asm ("");
статью я раз десять перечитывал, все равно не понял в чем ошибка:
переменные джисиси отказывается видеть, как их грамотно передавать я таки не понял
__asm ("movl %eax, 0x2C");
__asm ("movl %eax, %eax");
__asm ("add %eax, 8");
__asm ("movl %eax, OM");

__asm ("push 0");
__asm ("push 0");
__asm ("push 0");
__asm ("push ID");
__asm ("call 0x00773400");
__asm ("add %esp, 16");
__asm ("retn");
sageАноним 10/03/15 Втр 18:02:28 #516 №448305 
14259997485770.png
>>448268
http://stackoverflow.com/questions/6038312/assembler-code-in-c-code
Аноним 10/03/15 Втр 18:13:43 #517 №448311 
Перекот
>>448310
Аноним 10/03/15 Втр 18:41:11 #518 №448322 
Привет, программач!

Я тут пробовался на работу. Просили мультитрединг под нагрузкой, C++11 и всякое такое -- заданием была факторизация большого объема чисел в многопоточном режиме. Написал штуку: http://www.fayloobmennik.net/4681759

Меня не взяли.

Собственно, интересно услышать твое мнение, почему.
Аноним 10/03/15 Втр 19:03:42 #519 №448329 
>>448322
Код не читал и не запускал, но 10000 как максимальное возможное число выглядит очень подозрительно. Проверь хотя бы как оно будет работать на числах до 2^64, с меньшими ограничениями в задаче вообще смысла нет.
Аноним 10/03/15 Втр 19:14:36 #520 №448332 
>>448329
Это было прописано в условии задачи. Сама по себе программа не ломается для любых чисел, которые влезают в uint64_t, разве что можно будет слегка ускорить алгоритм факторизации.

В заданных условиях она кушает 10 миллионов чисел за время от полсекунды до пяти, что вроде бы топовый результат.
Аноним 10/03/15 Втр 19:27:44 #521 №448337 
>>448332
Ну тогда разве что им стиль/архитектура/названия переменных не понравились, хуй знает.
Аноним 10/03/15 Втр 19:31:51 #522 №448342 
>>448337
Насчет архитектуры -- хз. Вроде бы стандартное решение с кольцевым буфером и тредами в обертках.

Я тоже хуй знает. Поэтому надеюсь, что придет какой-нибудь эпик сноб и сможет мне разложить по полочкам, где я не няша.
Аноним 10/03/15 Втр 20:01:51 #523 №448358 
>>448342
Переопределение операторов << и >> лютейшая параша.
У std::vector есть конструктор, принимающий в себя кол-во элементов (а ты делаешь resize, никанон)
Именование переменных — параша из 90х. camelCase сейчас стандарт. Префиксные и постфиксные подчеркивания — ад для моего утонченного вкуса.
Инкапсуляция потоков — спорно. Можно было вынести.
Три newline между функциями. Ну зачем?
for разбит на 3 строчки. Опять же зачем?
Комментарии на русском. Сразу минус. Еще бы транслитом переменные называл.
Куча инклудов в хэдере, где они нахуй не сдались. Увеличит время рекомпиляции при некоторых кондициях.
(мне надоело, жди еще кого-нибудь)
Аноним 10/03/15 Втр 20:18:41 #524 №448370 
>>448358
В чем параша с переопределением?
Насчет конструктора принял.
Инкапсуляция ради соблюдения ООП -- не хотелось делать один godlike-объект.
Насчет инклюдов -- не понял, поясни, в чем беда?

Относительно стиля же, имхо, здесь каждый работает так, как ему удобно, да и переучить человека в общем никаких проблем не вызывает, так что вряд ли это было важным критерием оценки. Думаешь, все-таки было?

Переменные я пишу через подчеркивания, потому что мне нравится видеть разницу: кэмел-кейс -- функции, маленькие через подчеркивания -- переменные. Ньюлайны для логического разбиения функций по группам, мне так удобнее искать. Фор -- опять же, для удобства. Здесь форы мелкие, а бывает, что условия довольно большие в записи, и так проще понять, что где. Насчет комментариев -- имхо, проблемы глупых вендоблядков, нормальные посоны держат свои файлы в utf8.
Аноним 10/03/15 Втр 20:21:17 #525 №448373 
>>448094
Попугай-кун, вся суть if(error) это if(error) через строчку, а try-catch даёт возможность не засирать этим говном весь код.
Аноним 10/03/15 Втр 20:22:10 #526 №448374 
>>448370
>нормальные посоны держат свои файлы в utf8
Речь не об этом, а о том, что комментарии на любом языке кроме английского - зашквар.
>Переменные я пишу через подчеркивания
Опять же речь немного не об этом, а о хуйне вида _var или var_. Так уже много лет НИПРИНЯТО.
Аноним 10/03/15 Втр 20:24:58 #527 №448378 
Здравствуй, ананас.
Подскажи, пожалуйста, актуальна ли няшная и кресты?
Сейчас получается так, что в основном, я хуярю интерфейсы к железкам, да системный код. Целиком и полностью кроссплатформу.
На крестах, в основном, пишу уже врапперы, к-е отдаю ДРУГИМ ДЕВЕЛОПЕРАМ.

Из-за чего, по сути, опыта в крестах я набираюсь крайне мало. Хотя и претензий к моим наработкам не возникает, даже наоборот, но есть ли путь дальше?
Как кодить на крестах и начать жить? Ибо меня сразу пихают в низкий уровень, как только рассказываю о своём опыте. Хотя на собеседованиях активно дрочили именно по плюсам. И отвечал всё изи. Обычно я отказываюсь от вакансий, нежели мне отказывают.
Аноним 10/03/15 Втр 20:25:35 #528 №448379 
>>448374
Ну, в принципе, я об этом знаю. Но имхо это тупой снобизм, если фирма не работает с иностранными компаниями в области написания кода.

А почему, кстати? Это неплохо позволяет понимать, является ли переменная членом класса, аргументом или локальной.
Аноним 10/03/15 Втр 20:30:59 #529 №448382 
>>448379
Это не снобизм, на английском вся техническая терминология обычна куда более очевидна, однозначна и общепринята. Кроме того, годный программист владеет английским на достаточном уровне, чтобы комментировать на нем было как минимум так же удобно - следовательно собеседун может расценить комментарии на русском как признак плоховатого знания английского.
Аноним 10/03/15 Втр 20:31:39 #530 №448385 
>>448382
>обычна
обычно
Аноним 10/03/15 Втр 20:35:51 #531 №448387 
>>448370
>Насчет инклюдов -- не понял, поясни, в чем беда?
Ну вот скажем Factorizer.h
Зачем в .h-нике iostream и cmath? они что, используются непосредственно в этом заголовочнике? Нет. Тогда зачем пользователю знать о том, что они где-то вообще используются? А если они изменятся, рекомпиляция может занять чуть больше времени. А если такие ошибки делать постоянно, то incremental build будет работать часами. Поэтому нормальные люди подключают только необходимые заголовки в каждом translation unit.
sageАноним 10/03/15 Втр 21:27:55 #532 №448438 
>>448373
А я считаю, что catch - такое же засирание кода. Иди на хуй. Это нарушает всю логику, потому что никакой исключительной ситуации нет.
sageАноним 10/03/15 Втр 21:30:16 #533 №448444 
>>448379
Безграмотная пидораха оправдывается, найс.
Аноним 10/03/15 Втр 21:35:06 #534 №448447 
>>448438
Этот прав. В нормально написанном коде исключения не нужны вообще. Если для работы со средой они еще имеют право применяться, то исключения для проверки собственных выражений это "ну хуй знает, может сработает, может нет". Программист должен понимать, что делает его код.
Аноним 10/03/15 Втр 21:36:07 #535 №448448 
>>448387
Теперь понял. Я чистил, в принципе, от ненужных хедеров, но похоже не слишком тщательно.
Аноним 10/03/15 Втр 21:36:47 #536 №448450 
>>448382
А не проще проверить знание английского языка на собеседовании?
sageАноним 10/03/15 Втр 21:42:39 #537 №448451 
>>448450
Так вот они и проверили.
Аноним 11/03/15 Срд 09:04:22 #538 №448539 
Не могу нагуглить. Я скачал библотеку и хочу использовать ее в Visual Studio 2013. Как мне все подключить? Есть какой-нибудь общий гайд или же для каждой библотеки все индивидуально?
sageАноним 11/03/15 Срд 09:38:56 #539 №448546 
>>448539
Как вы зеабели, дегенераты. Сказано же - перекат.
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
sageАноним 11/03/15 Срд 09:39:57 #540 №448547 
>>448546
>заебали
Сука АЖ ТРИСЕТ шучу конечно.
Аноним 11/03/15 Срд 09:41:44 #541 №448548 
Аноны, почему

int n=2;
if(n=1,2,3,4){
cout<<"Ok";
}

срабатывает как истина и выводит Ok?
Аноним 11/03/15 Срд 09:44:37 #542 №448550 
>>448548
(n==1,2,3,4)

*быстрофикс
sageАноним 11/03/15 Срд 09:46:11 #543 №448554 
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
Аноним 11/03/15 Срд 09:48:12 #544 №448556 
>>448554
бампаем тредик
sageАноним 11/03/15 Срд 09:58:11 #545 №448564 
14260570918650.png
>>448556
Бампаем твоей мамаши ротик.
sageАноним 14/03/15 Суб 05:52:52 #546 №449879 
Здравствуйте. Туплю с STL.

string str;
//записываем слово из файла, пока не встретим пробел
getline(file, str, ' ');
//первую букву слова переводим в нижний регистр
string::iterator i = str.begin();
tolower(звездочка i);
//вырезаем из слова все знаки препинания
for(; i != str.end(); ++i)
{
if(!isalnum(звездочка i) && звездочка i != '\n' && звездочка i != '-')
str.erase(i);
}

Проблемы две. При переводе первой буквы к нижнему регистру реально нифига не происходит. Вторая - стопорит на переборе и удалении элементов в цикле. Читал, что с erase кое-где ломаются итераторы, и надо ставить i--, но это тоже не помогает. Нид хелп. BOOST и самопальные функции не предлагать, желательно также обойтись без <algorithm>. В общем что я делаю не так?
Аноним 14/03/15 Суб 15:40:06 #547 №449998 
>>449879
Пользуйся pastebin, блядь.
http://pastebin.com/GUJmrqZH - решение с удалением я не проверял, но вообще как-то так.
Аноним 14/03/15 Суб 15:44:31 #548 №450000 
>>449998
И да, там с <algorithm>. Если без него, то можно заменить distance(str.begin(), i) на i - str.begin().
Аноним 15/03/15 Вск 12:29:50 #549 №450332 
#include <iostream>
#include <cmath>
using namespace std;
int f1(int i) {
i=2;
return i;
}
int main () {
int i =1;
f1(i);
int f1_result = f1 (i);
cout<<i<<endl;
return 0;
}
Не работали глобальные переменные, решил проверить на тривиальном примере, всё равно не пашет.
подскажите плз (ответ кстати от наличия int f1_result = f1 (i ); не зависит), только начал учить программирование
Аноним 15/03/15 Вск 14:23:07 #550 №450372 
>>441690
Реквестирую объяснение, как работает функция rotate.

Задание: Передвинуть элементы массива a размерности n таким образом, чтобы элемент с индексом new_0 стал начальным, и вернуть индекс, который получил элемент, бывший начальным.

Пусть массив a[5] = {1,2,3,4,5}
new_ 0 = 2, a[new_0] =3

Как получить массив a = {3,4,5,1,2}?

Аноним 15/03/15 Вск 16:31:33 #551 №450442 
Какого блядь хера std::type_info некопируемый? Зачем, а главное, нахуя это сделали? T_T
Аноним 15/03/15 Вск 20:41:43 #552 №450600 
Если добавить в команду сборки -std=c++0x я могу точно сказать что я программирую на с++ 11-й версии? Или 14-й...
Аноним 15/03/15 Вск 22:13:39 #553 №450643 
Появились вопросы:
1) Как поменять элементы массива в случайном порядке?
2) Что такое невозрастающая пирамида и как проверить, не является ли массив ею?
3) Как проверить, является ли массив b перестановкой массива a?
Аноним 16/03/15 Пнд 17:29:27 #554 №450946 
>>450372
Ап, олдфаги, сложно что ли пояснить нубу?
Аноним 16/03/15 Пнд 17:58:40 #555 №450962 
>>450946
олдфаги давно перекатились в новый тред, некрофил.
Аноним 20/03/15 Птн 09:03:31 #556 №452710 
>>443920
>(num >= 0) && (fractional == 0.0))
>сравнивать число с плавающей точкой прямым сравнением
Поссал на дебила.
Аноним 21/03/15 Суб 14:11:57 #557 №453263 
>>450600
--std=c++14
Аноним 22/03/15 Вск 18:34:39 #558 №453734 
Хочу в скором времени перебираться на Linux, и думаю что юзать буду для разработки программ(ну и игрулек конечно). Смотрю в сторону разных IDE, очень нравится CLion, поясните за CMakeLists, поясните за MinGW(я вроде понял что то вроде порта сборщика под винду), так же смотрю на Qt. Поясните каким образом мне делать не консольные приложения на CLion, в Qt понятно, я строю как на WPF, но в CLion я чет не понял пока что(потому что долбаеб). Так же поясните за компиляторы G++, GCC, Intel C++ и так далее. Ну так как Linux то наверно GCC лучше будет. Было бы неплохо если бы знающий человек отписал что к чему, плюсы минус и куда двигаться, и сильно ли я пострадаю если съебну с винды на линух и буду там разрабатывать и под винду и под линукс?
P.S.
Сильно хуями не обкладывайте мне 18 лет, пытаюсь не быть ебаным биомусором.
Аноним 22/03/15 Вск 21:11:15 #559 №453805 
Мне тут небольшая библиотека перепала с компьютерной литературой, решил вот с плюсов начать, до этого немного мог в жаваскрипт плюс паскаль на школьном уровне лол, но не суть. Так вот, там аж 3 книги по плюсам, две Шилдта - базовый курс и "искусство с++", и самоучитель Васильева. С какого автора лучше вкатиться будет?
Аноним 23/03/15 Пнд 17:12:19 #560 №454126 
Двачик, есть очень простой вопрос, но нормальное решение как-то не очевидно. В общем есть строка std::wstring вида "0102030A0B0C", нужно разбить на вектор/массив строк вида {"01", "02", "03", "0A", ... }. Кроме тупого перебора циклом есть в стандартной библиотеке способы это сделать?
Аноним 24/03/15 Втр 00:29:17 #561 №454360 
14271461576830.jpg
Блядь, да что за хуйня!
Ну почему компилятор пишет, что array - это char * и выкидывает исключение?
Аноним 24/03/15 Втр 01:03:12 #562 №454374 
>>454360
Если я правильно понял, это происходит из-за того, что я сравниваю символ с разыменованным указателемa == *(array+i) - можно так записать на элемент символьного массива. А как тут этого избежать-то? Как жить, что делать?
Аноним 24/03/15 Втр 13:56:40 #563 №454500 
Тут уже новый тред почти утонул, а старый в шапке всё висит.

Перекат:
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
Аноним 25/03/15 Срд 13:22:57 #564 №454867 
Посоны, есть важный вопрос.

Волею судеб надо разобратьсь с куском говна на крестах, запись в файл, конкретно.
В куске кода отвечающего за запись документа в файл, вызывается [int _write] функция из файла write.c 10й вижлы.
Пробежался по ней дебагом, она доходит до винапишной функции

BOOL WINAPI WriteFile(
_In_ HANDLE hFile,
_In_ LPCVOID lpBuffer,
_In_ DWORD nNumberOfBytesToWrite,
_Out_opt_ LPDWORD lpNumberOfBytesWritten,
_Inout_opt_ LPOVERLAPPED lpOverlapped
);

Дальше, видимо, эта функция кидает error. Где мне глянуть код ошибки?

Аноним 26/03/15 Чтв 22:59:28 #565 №455482 

https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
https://2ch.hk/pr/res/448310.html
Аноним 27/03/15 Птн 14:33:55 #566 №455745 
>>444492

Простите великодушно, но я малость не въезжаю:

1) Почему gcc запускается без параметров?
2) Какое отношение эта строчка кода имеет к С++?

Спасибо.
Аноним 27/03/15 Птн 14:39:10 #567 №455752 
14274563509340.jpg
>>446679
Божественный язык. Единственный язык после Святого Ассемблера, которые честен и нежен с тобой как первоклассница и не пытается тебя наебать через строчку.
Аноним 31/03/15 Втр 01:34:54 #568 №457339 
только въезжаю в C++, раньше писал на C под микроконтроллеры.
Поясните по хардкору почему VisualStudio в WinForms генерирует обработчики событий в хедере а не в .cpp. Что за хуйня?
comments powered by Disqus

Отзывы и предложения