Программирование


Ответить в тред Ответить в тред

Check this out!
<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
614 45 175

C++ №90 /cpp/ Аноним 27/06/19 Чтв 22:48:55 14235801
1561664916815.png (23Кб, 360x405)
360x405
Аноним 27/06/19 Чтв 23:02:34 14235842
Первыйнах!
Аноним 27/06/19 Чтв 23:27:03 14235933
>>1423547
>Ты вообще в курсе, как устроен raw-файл?
>Это по сути одномерный массив байтов.

Я не доебываюсь, мне просто интересно: а так bmp же, по факту, тоже одномерный массив байтов(после хедеров). Или ты к тому, что в raw формате чистый сигнал должен быть записан?
Аноним 27/06/19 Чтв 23:36:42 14235994
>>1423593
В bmp есть заголовок, а в raw-формате даже его нету.
Аноним 27/06/19 Чтв 23:48:03 14236065
>>1423599
tl;dr проблема в том, что функции, которые ты хочешь перенести в новую единицу компиляции, привязаны к глобальным переменным. Если их нельзя/влом переписать без глобальных переменных, то почему бы просто не объявить их как extern в твоём новом файле и просто продолжать пользоваться ими?
Мимопроходил
Аноним 27/06/19 Чтв 23:49:18 14236086
>>1423599
Есть там заголовок и много чего ещё. Всё ещё зависит от конкретного формата, у каждого производителя (Canon, Nikon, Sony и другие) он свой.
Аноним 27/06/19 Чтв 23:54:43 14236107
>>1423593
>>1423599
>>1423608
я не читал исходную дискуссию, но есть специальные библиотеки, которые позволяют открывать рав-файлы разных производителей.

В рав есть всё, и размеры снимка, и масса параметров съёмки, включая цветовой баланс и другое. Просто графические редакторы, кроме родных, часто не умеют с этими данными работать.
Аноним 27/06/19 Чтв 23:56:07 14236118
>>1423593
Бля вы ебанутые? Любой файл это набор байтиков. Вам еще рано С++ учить, пиздуйте мат. часть зубрить.
Аноним 28/06/19 Птн 00:00:32 14236149
>>1423608
>>1423610
Не, raw фотокамер - это немножко другое. У меня другой raw, не знаю, почему у них одинаковый формат.
Если есть фотошоп, то можешь создать черно-белую картинку и сохранить ее в формате photoshop-raw. Размер картинки будет точно высота*ширина картинки. С учётом битности, конечно.
Возможно raw в фотошопе - это один слой raw в фотоаппаратах.
Аноним 28/06/19 Птн 00:02:18 142361510
>>1423606
Я уже решил проблему. Создал отдельный класс rawfile, в котором есть функции загрузки и сохранения файлов.
Аноним 28/06/19 Птн 00:03:01 142361611
>>1423611
В raw формате - это одномерный массив пикселей.
Аноним 28/06/19 Птн 00:09:16 142361812
>>1423616
И куча мета-информации. Чем одномерный массив отличается от двумерного? BMP и TIFF тоже одномерные массивы пикселей, если подумать.
Аноним 28/06/19 Птн 00:30:11 142363813
В чем практическая польза полиморфизма(динамического)?
Аноним 28/06/19 Птн 01:09:20 142366714
>>1423638
Использование общего интерфейса с разными реализациями
Аноним 28/06/19 Птн 01:13:52 142366915
>>1423611
Шо ты такой агрессивный, ты Панин и у тебя не с той ноги встал?

Понятное дело, что это просто набор байтов. Просто bmp-пикчу проще воспринимать таким образом, так как ебни по клаве - получишь пикчу.
То есть это именно простой набор байтов(хотя тоже сомнительно, там же структуры для пикселей), а не как у жпега - там сложнее хранится инфа.
Аноним 28/06/19 Птн 01:17:54 142367316
>>1423669
Я не к тому, что ты ебанутый или мы ебанутые, а что в этом контексте можно так выразиться.
Аноним 28/06/19 Птн 01:27:20 142367817
>>1423669
На самом деле в коммерческих raw форматах сложнее структура, чем bmp, там есть компрессия, поэтому все равы разного размера. Если ты в файле что-нибудь хаотично изменишь, у тебя всё сломается.

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

В прошлой теме автор считал, что в раве даже размера картинки не хранится. Бред, там всё хранится. Там даже помимо пикселей ещё и JPEG с превью хранится.
Аноним 28/06/19 Птн 01:35:24 142368018
>>1423678
Еба, тут нужен мем из "тачку на прокачку".
Я просто в это не углублялся, только bmp изучал для своих нужд.
Но хранить чистые данные без размеров - это странно. Разве что по "краям" хуячить служебные байты - каждый пятый пиксель для картинки шириной в 4 пикселя. Но тоже такое себе.
Аноним 28/06/19 Птн 02:06:41 142369319
О чём вы спорите вообще? В bmp всегда есть заголовок с информацией о картинке, в raw он может как быть, так и отсутствовать полностью, то есть не любой файл можно открыть без дополнительной информации или предположений.
По каким-то причинам вот этому анону попался совсем чистый raw, где есть только пиксели. Видимо, от какой-то программы, которая всегда генерировала равы одного и того же размера с одним и тем же форматом пикселей (или древний фотоаппарат, где всегда одинаковое соотношение сторон, и по размеру файла можно однозначно определить размеры изображения - изображения предназначались для какой-то обработки специальной программой, где явно указывался тип фотоаппарата, например) - не вижу других ситуаций где такое могло бы возникнуть, но и ничего особо удивительного в этом тоже нет.
Аноним 28/06/19 Птн 04:12:19 142370620
Есть книга липмана с11 и кресты за 21 день. Какую лучше читать?
Аноним 28/06/19 Птн 08:17:51 142372221
image.png (36Кб, 742x376)
742x376
Сап, эксперты метапрограммирования на месте? Пишу обертку sprintf для форматирования сразу в динамическую строку. Сама обертка работает, но хотелось бы немного улучшить, а именно добавить валидацию форматной строки на этапе компиляции. Типо подсчитать количество символов '%' и сравнить с количеством вариативных аргументов, если они не равны то выдавать ошибку через static_assert. Возможно ли такое сделать и если да то как?
Аноним 28/06/19 Птн 08:56:10 142373222
>>1423618
> И куча мета-информации
Нету там мета информации >>1423614
Аноним 28/06/19 Птн 08:57:43 142373323
>>1423678
> В прошлой теме автор считал, что в раве даже размера картинки не хранится. Бред, там всё хранится. Там даже помимо пикселей ещё и JPEG с превью хранится.
Чувак, прочитай мой пост >>1423614
А лучше попробуй сам сделать это в фотошопе.
Аноним 28/06/19 Птн 09:00:03 142373524
>>1423693
> По каким-то причинам вот этому анону попался совсем чистый raw, где есть только пиксели.
Не по каким то причинам, а по определенным. Такие raw файлы юзают как карту высот при генерации ландшафта.
Аноним 28/06/19 Птн 14:36:39 142393925
>>1423722
Это можно сделать через stdarg.h, если хочешь сам, то смотри примеры реализации этого stdarg или читай про устройство cdecl.
Аноним 28/06/19 Птн 14:39:34 142394126
>>1423939
Так эта хуйня с va_args работает в рантайме и соответственно проверка будет происходить в рантайме.
Аноним 28/06/19 Птн 15:06:03 142396127
>>1423667
Разве механизма наследования методов недостаточно?
Аноним 28/06/19 Птн 15:10:29 142396428
>>1423722
Relaxed constexpr не работают на string view? То есть нельзя просто циклом while пройтись по чарам или типа того?
Аноним 28/06/19 Птн 15:15:58 142396529
image.png (11Кб, 932x164)
932x164
>>1423941
А, ты так хочешь. Он жалуется.
>static_assert expression is not an integral constant expression
Но constexpr функции которые считают количество аргументов и процентов (самую тупую, естественно, без учёта \% и%%) я вроде бы сделал. Оно выдаёт по 18 тактов, хотя оно совершенно точно не могло с -O0 посчитать в рантайме такую строку за 18 тактов. (без constexpr там что-то порядка 800 и 200 тактов)
https://ideone.com/dm8kpU
А как применять static_assert - не знаю, никогда не пользовался.
Аноним 28/06/19 Птн 15:28:29 142397130
>>1423961
Я сам в этом не шарю, но здесь может быть тот самый случай, когда нужно хранить в контейнере с указателями на предка кучу указателей на разных наследников и вызывать для них конкретные переопределенные методы.
Без динамического наследования в такой ситуации звался бы метод предка.

Ну, это если я верно понял обрывки инфы, которые видел в инете.
Знающие анонии, поправьте, где мой проеб?
Аноним 28/06/19 Птн 15:43:45 142397631
image.png (81Кб, 784x723)
784x723
>>1423964
>>1423965

Вот типо так должно работать, но это ебучий костыль оборачивать каждую строку в лямбду через макрос. Вот и думаю может кто знает получше вариант?
Аноним 28/06/19 Птн 15:47:52 142397732
>>1423638
В том, что ты в рантайме можешь создавать объекты, (реализующие определенный интерфейс) например на основе действий пользователя, генератора случайных чисел или загружая данные из файла, и тебе пофиг сколько и какие именно конкретно объекты ты создаешь.
Т.е. пишешь например ты игру, и тебе не надо хардкодить уровни, ты в рантайме подгружаешь созданные дизайнером, и все части уровня общаются через стандартные интерфейсы не зная конкретно с кем общаются.
Аноним 28/06/19 Птн 15:58:21 142398533
>>1423977
Можешь пример кинуть откуда-нибудь?
Аноним 28/06/19 Птн 16:04:02 142398634
image.png (10Кб, 908x226)
908x226
>>1423976
Кажется, я совсем не понимаю о чём ты говоришь, какая лямбда, зачем там лямбда?
Чем вот такой вариант не подходит? Можно даже проверку на типы прикрутить при желании, чтоб он выпадал если там стоит число напротив %s или ещё что-то такое.
https://ideone.com/zJdssI
Аноним 28/06/19 Птн 16:30:20 142400335
>>1423961
при наследовании у тебя разные классы. А тут указатель на один базовый класс.
Аноним 28/06/19 Птн 16:40:00 142401336
>>1423986
Можно конечно попытаться через макросы, но хотелось бы вариант посовременнее через шаблоны как-то, ну и еще в твоей реализации оно не работает если попробовать вывести просто строку без аргументов. Так же если форматная строка будет рантайм, то static_assert не скомпилится вообще. Вот как я пока придумал https://ideone.com/bbn6kB
Аноним 28/06/19 Птн 17:49:26 142404837
>>1424013
У тебя это вообще комплириуется? В функции fmt ты не принимаешь ни указатели функций, ни объекты функций, так хуле ты туда лямбду пытаешься запихнуть?
Аноним 28/06/19 Птн 17:51:17 142404938
>>1424013
>>1424048
Ах, ты эвальюируешь её в теле функции и получаешь стринг. Ясно. Зачем это надо было - не ясно.
Аноним 28/06/19 Птн 17:51:37 142405039
>>1424048
Компилируется, так потом через оператор () оно возвращает constexpr строку, иначе я не могу создать constexpr string_view внутри функции. Вот и думаю как без этого костыля сделать вообще.
Аноним 28/06/19 Птн 18:23:47 142406540
Qt 4.8 Можно как-то получить сигнал о том, что в QTableWidget поменялось количество строк/столбцов/элементов?
Аноним 28/06/19 Птн 18:41:45 142407541
Аноны, подскажите, где можно прочитать про следующие вещи

1. Реализацию умных указателей и умных указателей с подсчетом ссылок, что бы объяснялось от проблемы до ее решения.
2. Какую-нибудь книгу по STL, уровня для тех кто с++ уже знает и хочет познакомиться с основными возможностями и возможно тонкостями.

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


Аноним 28/06/19 Птн 18:43:58 142407642
Подскажите про анонимное пространство имен, я так понимаю с помощью его можно скрыть переменную для доступа из других единиц трансляции, т.е. если у меня есть h и cpp и в cpp определена переменная в анонинмном namespace, то хуй кто до нее доберется, но какой мудак будет инклудить cpp файл?
Аноним 28/06/19 Птн 18:48:09 142408243
Аноним 28/06/19 Птн 18:51:02 142408544
>>1424075
>умных указателей с подсчетом ссылок http://artemy-kolesnikov.blogspot.com/2014/11/weakptr.html?m=1

Без подсчета там изи, когда область видимости переменной кончается то вызывается ее деструктор, в этом деструкторе просто реализовано освобождение ресурсов.
Аноним 28/06/19 Птн 19:22:19 142409945
>>1424082
Собственно такого сигнала нет, в этом и проблема.
Аноним 28/06/19 Птн 19:26:58 142410746
Есть либа которая умеет сразу в xml yaml и json?
Аноним 28/06/19 Птн 19:44:18 142412247
>>1424065
К модели подключись, там 100% есть такое
Аноним 28/06/19 Птн 20:04:20 142413148
>>1424107
> xml yaml и json?
Лучше. Есть три либы
Аноним 28/06/19 Птн 20:15:01 142413449
Аноним 28/06/19 Птн 21:11:42 142415650
Аноним 28/06/19 Птн 21:17:48 142415851
>>1424156
А стоп это не то. Виджет же просто отображает модель, и изменения тоже надо ловить в ней как говорит >>1424122
Аноним 28/06/19 Птн 21:20:35 142416352
>>1424158
Хорошо, как это сделать? Я просто ньюфаг, всего месяц с qt работаю.
Аноним 28/06/19 Птн 21:47:36 142418153
.png (4Кб, 339x234)
339x234
>>1423985
> Можешь пример кинуть откуда-нибудь?
Примеры чего? Уровня? Можешь глянуть исходники Квейка 3. Хоть и на Си написано всё, но в общих чертах выглядит именно так.
Сущности на уровне описаны в key-value блоках. Чем-то на json похожи.
Допустим это какой-то предмет (см картинку, поле classname), игра читает файл карты (конкретно секцию отведённую сущностям), читает значения поля classname и ищет в коде функцию (в Квейке 3 все объекты имею тип entity_t, будь то дверь, предмет, игрок и тп) которая ассоциирована с этим значением.
Создаёт в памяти сущность и сохраняет её в какой-то свой массив.
В С++ точно также (точнее как это сделать решает сам), только вместо просто функции будет какой-нибудь make_shared или типа того.
Аноним 28/06/19 Птн 21:56:18 142418654
>>1424181
Что-то я еще сильнее запутался.
Аноним 28/06/19 Птн 22:01:50 142419055
>>1424163
Так же, как ты бы делал, если подключался к вьюшке. Только теперь подключаешься к чему-то вроде tableView->getModel
Аноним 28/06/19 Птн 22:02:30 142419256
Хочу написать проигрыватель мп3 с нуля, что гуглить? Мне и кодеки нужно будет написать? ОС линукс.
Аноним 28/06/19 Птн 22:06:38 142419757
image.png (80Кб, 889x721)
889x721
>>1424190
Оно? Как видно на скрине все равно не работает.
Аноним 28/06/19 Птн 22:20:03 142421158
>>1424192
Разобрался. Кому интересно будет вот тут http://hzqtc.github.io/2012/05/play-mp3-with-libmpg123-and-libao.html
всё, сначала декодируется, потом проигрывается, libmpg123 и libao опенсурсные, так что можно прям по функциям посмотреть поизучать чё там вызывается и как.
Аноним 29/06/19 Суб 01:32:45 142428959
>>1424197
Не, если ты хочешь слушать rowsCountChanged, то тебе нужно подключаться к вьюшке и либо использовать новый синтаксис, либо указать типы аргументов сигнала. Если хочешь к модели подключиться, то подключайся а rowsInserted/rowsRemoved
Аноним 29/06/19 Суб 06:58:52 142432360
>>1424197
дружище, никогда, слышишь, никогда не используй старый синтаксис подключения сигналов. С новым синтаксисом на этапе компиляции валится, если что-то не так, с ним при изменении аргументов не нужно переписывать коннекты.
Аноним 29/06/19 Суб 08:35:56 142433061
>>1424186
Полиморфизм - это взаимодействие с объектом через интерфейс, через специальные функции, реализации которых могут сильно отличаться в зависимости от объекта.

Например, у тебя есть функция, которая сохраняет дамп какого-то объекта в лог, для дальнейшего анализа.
saveDumpToLog(IDump *obj)

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

Вот ты и реализуешь у каждого объекта метод getDump(), который возвращает строку с тем, что надо сохранить. Это и называется полиморфизм.

Твоя функция просто принимает объект, вызывает этот метод, получает строку и сохраняет. Вот и всё.

Самая обычная идея. В C++ это через виртуальные функции и наследование делается, в Java для этого описываются интерфейсы, в языках вроде JS/PHP/Python и других ещё проще, доступ просто по имени функции, они там уже все виртуальные, других нет.
Аноним 29/06/19 Суб 08:41:06 142433162
>>1424330
Если кратно, полиморфизм - это сама идея, чтобы взаимодействовать с разными по природе объектами через какие-то одинаковые методы.
Аноним 29/06/19 Суб 11:12:56 142438363
>>1424331
Это я понимаю, я про практический аспект.
Вот например зачем нужны полиморфные объекты, использования виртуальных функций не достаточно?
Аноним 29/06/19 Суб 11:25:19 142438864
Аноны, а объясните про бинарный оператор-функцию, когда она френдом прописывается
friend const Integer opeartor+(const Integer& l, const Integer& r);

Как компилятор понимает, что надо взять объекты справа и слева
т.е.
a + b
Почему тогда нельзя написать ф-ию Koo
которая будет также выглядеть
a Koo b

Аноним 29/06/19 Суб 11:48:52 142439365
>>1424388
Инфикс операторы это про скалу и борщи.
https://en.cppreference.com/w/cpp/language/operators
Есть список из 40 операторов, которые можно оверлоадить. Тут с++ в некотором роде похож на пистон.
Аноним 29/06/19 Суб 11:57:28 142439666
>>1424388
Ну, если примут uniform function call syntax или как это называется, то можно будет писать a.foo(b) и too(a,b) одновременно
Аноним 29/06/19 Суб 12:16:07 142440567
>>1424396
Зачем ждать когда примут, если уже есть дишечка?
Аноним 29/06/19 Суб 12:18:06 142440968
>>1424383
В креста х это считай одно и тоже
Аноним 29/06/19 Суб 12:25:24 142441369
Аноним 29/06/19 Суб 12:33:48 142441870
>>1424413
А ты не знал, что все тру кодеры называют языки в алфавитном порядке? Есть b,c,d,f,h
Аноним 29/06/19 Суб 12:49:23 142442171
>>1424418
Пиздец. Так бы и написал "D", а то включил тут пидорство и называешь "дишечка", как будто в жопу себе вставляешь. Тьфу блядь.
Аноним 29/06/19 Суб 13:03:21 142442572
Аноним 29/06/19 Суб 13:22:40 142443973
ерк.PNG (2Кб, 322x49)
322x49
Что представляет собой (зв)pp? Программа выводит шестнадцатиричное число. Чей это адрес?
Аноним 29/06/19 Суб 13:28:06 142444274
>>1424439
Адрес указателя p, который содержит в себе адрес i.
Аноним 29/06/19 Суб 15:11:06 142455175
>>1424388
Я имел в виду, что operator+(int, int) это что-то особенное что позволяет вызов ф-ии помещать между двумя переменными?
И можно ли писать например
+(2,3)
?
Аноним 29/06/19 Суб 15:49:37 142456876
Что лучше прочесть насчет WinAPI вкратце. Я хотел только украсить парой свистелок хелловорд в консоли, а нашел это, кажется избыточно и сложно.
Аноним 29/06/19 Суб 15:50:30 142456977
>>1424551
Ключевое слово operator по-твоему там просто так стоит?
> +(2,3)
operator+(2,3)
Аноним 29/06/19 Суб 15:58:30 142457378
Аноним 29/06/19 Суб 17:18:59 142461179
Аноны, а вас унижали на собеседовании? Мне однажды сказали, студенты и то лучше код пишут, а мне уж 33 было.
Аноним 29/06/19 Суб 18:29:18 142462680
Аноним 29/06/19 Суб 19:07:21 142464481
>>1424626
Походу это тот питонокодер с физбусом
Аноним 29/06/19 Суб 19:11:35 142464582
Аноним 29/06/19 Суб 23:00:34 142472783
Qt. Как выполнить connectToHost по домену?
Аноним 29/06/19 Суб 23:04:08 142472984
Аноним 30/06/19 Вск 00:12:28 142474885
Аноним 30/06/19 Вск 00:20:05 142475186
>>1424568
А то. Графический интерфейс винды хуже пиздеца. На пару контролов целый экран уходит. Лучше сразу в QT вкатывайся какой-нибудь.
Аноним 30/06/19 Вск 00:22:47 142475287
Аноним 30/06/19 Вск 00:23:40 142475388
>>1424645
Спасибо, проигрывали с топ-манагером весь вечер, потягивая пивко.
Аноним 30/06/19 Вск 09:31:24 142479889
>>1424626
я ща попробую поискать, где-то на почте валялся((( пиздец конечно.
Аноним 30/06/19 Вск 09:38:28 142479990
>>1424569
или вот так
2 operator+() 3
Будет работать?
Аноним 30/06/19 Вск 10:43:21 142480591
>>1424799
Ты бы быстрее проверил каким-нибудь cpp.sh
нет
Аноним 30/06/19 Вск 13:06:24 142484092
При нажатии на кнопку происходит нихуя.
в cpp:
Chat::Chat(QWidget *parent):
QMainWindow(parent)
{
ui.setupUi(this);
connect(ui.Button_Update, SIGNAL(clicked()), this, SLOT(ConIp));
}

void Chat::ConIp(){
MyIp->connectToHost("yandex.ru/internet", 80);
ui.plainTextEdit->appendPlainText("Connecting\n");
}
Аноним 30/06/19 Вск 13:07:04 142484193
>>1424840
Текст не выводится
Аноним 30/06/19 Вск 13:18:32 142484794
>>1424841
connect(ui.Button_Update, SIGNAL(clicked()), this, SLOT(ConIp()));
или
connect(&ui.Button_Update, &QPushButton::clicked, this, &Chat::ConIp);

Аноним 30/06/19 Вск 13:22:54 142484995
>>1424847
Блядь. Я тупо скобки забыл
Аноним 30/06/19 Вск 13:30:25 142485296
>>1424849
Используй второй вариант коннекта, тогда тебе компилятор хоть что-то скажет, если что-то не так.
Аноним 30/06/19 Вск 13:47:13 142486097
>>1424645
Такое работает с программистами низкого левела.

Когда приходишь на собеседование, и эйчар занимается такой вот откровенной хуйней, то ставишь его наместо простыми вопросами
- Какой стек вы используете?
- Как много легаси? Почему Вы требуете значение MFC и Qt в рамках вакансии на один проект?
- Покажите конвенции по код-ревью.
- Вы используете скрам или канбан?
- Можно взглянуть на свое будующее рабочее место.

На одном собеседе мне ответили - к сожалению, я не могу предоставить Вам такую информацию.
Ну на что я ответил - давайте позовем человека, который сможет ответить на эти вопросы, мы же рассчитываем, что я тут буду работать длительное время?
Далее при устройстве в эту контору эйчар занимался только назначением встреч.
Аноним 30/06/19 Вск 13:50:48 142486198
>>1424860
Там статья не про эйчаров...
И вообще, паттерны подучи :D
Аноним 30/06/19 Вск 13:51:13 142486299
Аноним 30/06/19 Вск 13:57:02 1424866100
>>1424852
connect(&MyIp, &QTcpSocket::readyRead, this,&Chat::getIp);
А тут что?
Аноним 30/06/19 Вск 13:59:18 1424867101
>>1424852
Пока выбрал первый вариант. Иначе не компилится)))
Аноним 30/06/19 Вск 13:59:28 1424868102
>>1424866
А компилятор что говорит?
Аноним 30/06/19 Вск 14:01:32 1424870103
>>1424861
Если лид так себя ведет на собеседовании - то с ним работать будет невозможно, я дропну такое собеседование.

Из своего опыта - нормальных разработчиков найти сложновато, поэтому такой херней в нормальных конторах не занимаются.
Аноним 30/06/19 Вск 14:03:04 1424872104
изображение.png (102Кб, 1366x768)
1366x768
Аноним 30/06/19 Вск 14:05:37 1424874105
>>1424645
А практическая польза в чем?
Аноним 30/06/19 Вск 14:06:33 1424876106
>>1424872
MyIp уже указатель, брать адрес у него не нужно.

Сигнатура такая
QObject::connect(указатель на отправителя, указатель на член класса-сигнал, указатель на приемник, укаатель на член класса-слот)

А у тебя получается первым аргументов указатель на указатель.
Аноним 30/06/19 Вск 14:07:12 1424877107
>>1424874
Ну для того, кто проводит собеседование - поднять свое ЧСВ и поднасрать конторе.
Аноним 30/06/19 Вск 14:08:05 1424878108
Аноним 30/06/19 Вск 14:09:47 1424879109
>>1424876
Теперь все зеленые подчеркивание исчезли. Спасибо огромное
Аноним 30/06/19 Вск 14:10:12 1424880110
>>1424877
И контор таких держат?
Аноним 30/06/19 Вск 14:10:28 1424881111
Аноним 30/06/19 Вск 14:12:16 1424882112
>>1424879
Разберись с операторами & и * и передачей переменных в функции по значению, указателю, ссылке. Это важная тема, её следует хорошо знать, чтобы нормально двигаться дальше.
Аноним 30/06/19 Вск 14:13:12 1424883113
>>1424880
Я не знаю почему, но удивительно, и не таких мудаков держат.
Аноним 30/06/19 Вск 14:16:01 1424885114
>>1424882
Читал, но опыта не хватает. Надеюсь, на таких ошибках буду учиться
Аноним 30/06/19 Вск 14:17:45 1424886115
>>1424885
Самый нормальный кейс.
Аноним 30/06/19 Вск 14:19:26 1424888116
image.png (37Кб, 903x604)
903x604
image.png (20Кб, 606x302)
606x302
Объясните пожалуйста, почему везде говорят что для функции нужен void.
Чем плоха моя запись на втором пикриле?
Аноним 30/06/19 Вск 14:23:39 1424891117
>>1424888
По стандарту, всегда нужно явно декларировать возвращаемый тип. (по умолчанию в режиме совместимости с легаси, компилятор добавит туда int, а ты ничего не возвращает вообще - получается, что неопределенное поведение на пустом месте).

P.S. что за изврат с Builder 6?
Аноним 30/06/19 Вск 14:28:21 1424896118
>>1424891
Яннп.
>а ты ничего не возвращает вообще
Но они возвращают max min и avg
Аноним 30/06/19 Вск 14:31:55 1424899119
>>1424896
Я не понял вопроса.

Там где нужно возвращать целое знаковое - пишешь int. (void не нужно писать, уже написали что int)
Там где с плавающей точкой одинарной точности - float.
Там где ничего не возвращаешь - пиши void.

На первом скрине перед функцией sum нужен void, так как она выводит сумму и ничего не возвращает.
Аноним 30/06/19 Вск 14:40:58 1424909120
image.png (14Кб, 1691x50)
1691x50
>>1424899
>Там где ничего не возвращаешь - пиши void.
Я так понял, в С++ нету процедур, а вместо них функция которая ничего не возвращает, т.е с воид?
Аноним 30/06/19 Вск 14:42:12 1424911121
>>1424909
Да, Cи не Паскаль, C++ не Delphi.
Аноним 30/06/19 Вск 15:00:33 1424920122
>>1424911
А какая разница между дельфийской процедурой и сишной void-функцией? Там наверное даже ассемблерный код один и тот же получится, если поставить одинаковое соглашение о вызовах.
Одно и то же это, вкатился в кресты с делфи и никакой разницы (если не обращать внимания на шаблоны, и новые фичи 11 стандарта) не заметил, кроме в десятки раз более удобной работы с указателями, которая в делфи даже с {$POINTERMATH on} едва работает.
Аноним 30/06/19 Вск 15:05:03 1424923123
>>1424920
Я не знаю, как компилит делфийский компилятор, поэтому ничего конкретного сказать не смогу.
Аноним 30/06/19 Вск 17:45:34 1424977124
Где функцию лучше инициализировать, до main или после?
Аноним 30/06/19 Вск 17:47:08 1424978125
>>1424977
До момента ее использоания
Аноним 30/06/19 Вск 17:51:04 1424980126
Аноним 30/06/19 Вск 17:59:02 1424982127
>>1424980
Без разницы.
Какой-то Васян сказал, что мол правило хорошего тона, и холивар на пустом месте развели. Нужно декларации функций в отдельные заголовочные файлы выносить, а реализации в соответствующие cpp.

И функции нельзя инициализировать. Их имплементируют или реализуют.
По-русски - объявление/реализация
На английский манер - декларация/имплементация.
Аноним 30/06/19 Вск 18:08:03 1424986128
>>1424977
Мне кажется, прототипы не зря придумали, так что лучше после main. А вообще в других файлах обычно хранят если проект более-менее большой.
Аноним 30/06/19 Вск 18:27:40 1424998129
image.png (108Кб, 1909x746)
1909x746
Что я не так делаю?
Аноним 30/06/19 Вск 18:31:21 1424999130
>>1424998
Как минимум то, что counter не инициализирован нулем.
Аноним 30/06/19 Вск 18:33:34 1425000131
image.png (111Кб, 1919x748)
1919x748
Аноним 30/06/19 Вск 18:37:02 1425001132
>>1425000
У тебя сначала counter выводится, а пототм увеличивается. Почитай про постфиксный инкремент. Что бы проще было можешь писать counter=counter+1
Аноним 30/06/19 Вск 18:37:43 1425002133
>>1425000
Что за [*] в имени файла? Ты точно его сохранил перед новой сборкой?
Аноним 30/06/19 Вск 18:38:54 1425004134
>>1425001
Неа, внимательно смотри функцию
Аноним 30/06/19 Вск 18:40:16 1425005135
>>1424289
К вьюшке то есть QTableView? У меня там QTableWidget, можешь набросать как это сделать?
>>1424323
Братан, у меня QT 4.8, какой новый синтаксис?
Аноним 30/06/19 Вск 18:46:35 1425009136
пацаны помогите предлагают работу на c/c++ , я очень молод, глуп и опыта нет, им понравилось мое тестовое, страшно что проебусь и нихера не смогу как подготовиться?
Аноним 30/06/19 Вск 18:53:26 1425012137
image.png (118Кб, 1903x836)
1903x836
Меня трясет от этого компилятора.
Я не помню чтобы его раньше приходилось каждый раз сохранять. Ну или я уже крышей еду.
Аноним 30/06/19 Вск 18:55:21 1425013138
>>1425012
Все же исправил counter++))))
Аноним 30/06/19 Вск 18:55:57 1425014139
>>1425013
А чем это отличается от его записи?
Аноним 30/06/19 Вск 18:56:38 1425015140
image.png (29Кб, 932x205)
932x205
>>1425013
Да, но он и с ним работает.
Аноним 30/06/19 Вск 19:08:07 1425020141
>>1425009
Что за тестовое? Что надо было сделать?
Аноним 30/06/19 Вск 19:17:48 1425026142
>>1425020
да сделать классы простые с гет сет констр дестр, стек дек, ничего особенного, даже изи
Аноним 30/06/19 Вск 19:21:31 1425030143
>>1425026
Хм, хм.

На самописные реализации дека и стека я бы глянул.
А вообще рили странное тестовое. Проверяли теоретические навыки, а не практические.

Стек сделан на основе дека? С алгоритмами стандартными твои контейнеры работают?
Аноним 30/06/19 Вск 19:27:00 1425031144
>>1425009
С такими запросами обычно рабов покупают, вангую продадут тебя как синьора и будешь хуярить за пятерых за 100гривень, а если захочешь съебаться - минус зп.

шучу, смотри сам, хули. Если платят крохи - ну их нахуй. Если занимаются хуйнёй - ну их нахуй. Если хоть немного подозрительные - ну их нахуй
Аноним 30/06/19 Вск 19:34:11 1425038145
image.png (83Кб, 1434x690)
1434x690
Как разграничить строки?
cout<<endl не помогает. Ну или я его ставил не туда.
Аноним 30/06/19 Вск 19:35:55 1425040146
>>1425038
\n. Ты же его до этого использовал
Аноним 30/06/19 Вск 19:40:08 1425043147
>>1425030
Да, да. >>1425031
Страшно-то как, я ваще нигде не работал, в последнее время на js писал сайтики. 30к предлагают, подозрительно немного да, может найти никого не могут, город небольшой
Аноним 30/06/19 Вск 19:48:04 1425044148
>>1425040
Я использовал. И изменения сохранял, только он выполнял игнорируя их. Перезапустил dev и заработали.
Аноним 30/06/19 Вск 19:53:03 1425049149
>>1425043
> на js писал сайтики
У тебя необратимые повреждения мозга.
Аноним 30/06/19 Вск 20:09:16 1425053150
изображение.png (116Кб, 1366x768)
1366x768
При выполнении этой строчки выбрасывается исключение.
ui.plainTextEdit->appendPlainText(QString(pReply->readAll()) )
Аноним 30/06/19 Вск 20:35:31 1425072151
Что будет если написать
ClassName pointer
Вместо ClassName
pointer=new ClassName?
Аноним 30/06/19 Вск 20:49:38 1425084152
>>1425072
Аллоцируется на стеке и вызовет конструктор по умолчанию.
Аноним 30/06/19 Вск 21:00:47 1425095153
>>1425053
билли, я не чувствую выделенной памяти, билли
Аноним 30/06/19 Вск 21:04:34 1425100154
>>1425095
Может это потому. что я написал QNetworkReply pReply;
Вместо QNetworkReply
pReply=new QNetworkReply;
А написал я так потому, что в первом случае он хотя-бы компилируется.
Аноним 30/06/19 Вск 21:05:13 1425101155
изображение.png (93Кб, 1366x768)
1366x768
>>1425100
Во втором случае девяток ошибок
Аноним 30/06/19 Вск 21:05:31 1425102156
Аноним 30/06/19 Вск 21:14:10 1425106157
>>1425101
Я вообще не понимаю какого хуя он ругается на доступ к закрытому члену. Я объект создаю
Аноним 30/06/19 Вск 21:16:22 1425109158
>>1425084
Ты не прав, если учитывать просранные скобки.
Аноним 30/06/19 Вск 21:22:45 1425118159
>>1425106
Долбоёб?
> cannot instantiate abstract class
Аноним 30/06/19 Вск 21:25:42 1425121160
Аноним 30/06/19 Вск 21:36:13 1425125161
>>1425121
Долбоёб? Никто не хочет, чтобы ты мог создать объект именно этого класса.
Аноним 30/06/19 Вск 21:38:07 1425127162
>>1425125
Что тогда? Я хочу принять html страницу
Аноним 30/06/19 Вск 21:41:00 1425128163
>>1425127
Менеджер где твой? Подключись к нему
Аноним 30/06/19 Вск 21:43:19 1425132164
>>1425128
Каким методом текст вывести?
Аноним 30/06/19 Вск 21:59:26 1425142165
>>1424986
Ага, конечно, прототипы придумали только чтобы реализацию функций писать после main, держи карман шире.
Какие-то поехавшие ублюдки иэ пишут код таким образом, что функция А зовёт функцию Б(через цепочку функций, например) и наоборот. Нахуй они нужны, главное - main в самом начале файла.
Аноним 30/06/19 Вск 22:01:01 1425145166
>>1425053
QScopedPointer не создает объект, он хранит его лишь.
Объект создавать нужно самому. Два варината, либо передать объект в конструктор

QScopedPointer ptr(new Object);

Либо вызвать сброс

QScopedPointer ptr;
ptr.restet(new QObject);

Во втором случае, объект, который уже хранил указатель, будет удален.

Вторая проблема.
Не ленимся и заходим сюда:
https://doc.qt.io/qt-5/qnetworkreply.html

Видем в секции protected у объекта есть как минимум
virtual void abort() = 0

Это значит, что класс абстрактный, так как у него есть чистая виртуальная функция.
Что это значит? А это значит, что следуя стандарту, компилятор обломит тебя при попытке создания чисто-абстрактного класса.

Что делать?
1. Унаследоваться от этого класса и реализовать эти виртуальные функции, но это тут нам не нужно.
2. За нас уже реализовали конкретные подклассы, нам нужно работать с ними только через QNetworkAccessManager.

Третье.
В твоем случае нужно работать в таком стиле

Где-то на стеке есть scoped poiter и manager.

QScopedPointer reply;
reply.reset(manager->post(...));
...
//Далее работаем уже с reply.
...

После выхода из функции reply автоматом удалиться.
Аноним 30/06/19 Вск 22:03:03 1425150167
>>1425145
Только корректнее говорить - чисто-абстрактные методы класса.
fix
Аноним 30/06/19 Вск 22:05:34 1425152168
>>1425142
Эти долбаебы, что придумали декомпозицию и SOLID?
Поди и не слышал.
Аноним 30/06/19 Вск 22:15:47 1425162169
>>1425145
И да, поправочка, объект ScopedPointer не хранит, а хранит он указатель на объект.

Аноним 30/06/19 Вск 22:16:18 1425163170
PRAYER IN C++
Аноним 30/06/19 Вск 22:36:14 1425175171
15562636192910.webm (3670Кб, 198x360, 00:00:56)
198x360
15584636059640.mp4 (2550Кб, 684x854, 00:00:12)
684x854
why the fuck do[...].png (577Кб, 632x672)
632x672
одна ошибка и т[...].jpg (42Кб, 600x404)
600x404
Привет. Я НОВЕНЬКИЙ. Хочу вкатиться в программирование, выбрал С++ так как на нём можно писать под Анрил Энжин.
Есть маленький опыт писать скрипты на Баше для xdotool и на... AHK под AHK, чтобы автоматизировать некоторые вещи на Линупсе или Шиндовсе. Ну, там, иф элсы, циклы, свитчи - вот это всё.
Помню когда-то трогал руками Visual Studio Code, очень понравилась идея всего в одном бесплатно под все платформы, но углубленного понимания нету. Можно просто скачать С++ вещи для VSCode и программировать там не разочаровавшись, или мне лучше идти воровать Вижуал Студио или среду от какого-нибудь Джет Брейнс?

Приношу в жертву треду рандомную хуйню, что валялась на рабочем столе.
Аноним 30/06/19 Вск 22:38:34 1425177172
>>1425175
Плес, униси говно от сюда, которое притащил.
Аноним 30/06/19 Вск 22:38:46 1425178173
>>1425175
Полноценная вижуал студия бесплатна для домашнего использования. И да - именно ее и качай.
Аноним 30/06/19 Вск 22:42:37 1425181174
D.png (690Кб, 1500x1500)
1500x1500
Аноним 30/06/19 Вск 22:56:16 1425195175
>>1425005
>QT 4.8
Ты серьезно? Нахуя?
Аноним 30/06/19 Вск 23:05:51 1425198176
>>1425178
А чего тогда люди ебутся с qt вон в треде выше?
Аноним 30/06/19 Вск 23:06:48 1425199177
>>1425198
Где? В чем дрочь?
мимо другой
Аноним 30/06/19 Вск 23:11:12 1425202178
>>1425195
На работе стоит. Переставить не вариант.
Аноним 30/06/19 Вск 23:13:55 1425205179
Аноним 30/06/19 Вск 23:15:15 1425206180
>>1425198
В твоем высказывании потерена логика.

Qt - фреймворк.
Студия - интегрированная среда разработки.

Как это связано?
Аноним 30/06/19 Вск 23:20:35 1425210181
>>1425206
Ну он позволяет делать то же, что и студия, верно? Ну кроме кросс-платформенности.
Аноним 30/06/19 Вск 23:23:50 1425212182
Аноним 30/06/19 Вск 23:30:05 1425214183
>>1425210
Друг, ты вообще походу ничего не понимаешь.

Есть разные IDE, например - Microsoft Visual Studio, Qt Creator, CLion..
Есть фреймворки - MFC, Qt, GTK+.
Есть компиляторы - Microsoft Visual Compiler, MinGW, gcc, clag.

Тут вот что, всё что микрософтовское под Linux вообще не годиться.
Студия - только под винду, MFC - обертка под WinAPI, и компилятор только под винду.

Всё остальное имеет либо порты под платформы либо вообще и является портом, как MinGW есть порт GCC под винду.

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

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

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

А в каком редакторе ты код пишешь (студия или креейтор) - вообще похуй, хоть в блокноте. На переносимость никак не влияет.
Аноним 30/06/19 Вск 23:33:18 1425216184
>>1425214
И C++ под NET тоже не используй. И XAML. Это практически не переносимо на винду.

Boost тоже кроссплатформенный.

Можешь использовать фреймворки - GTK, Qt, Tk и вообще чо хочешь из прыщей. Там практически все переносимо на винду.
Аноним 30/06/19 Вск 23:34:51 1425218185
>>1425216
не переносимо из винды*
Аноним 30/06/19 Вск 23:37:06 1425219186
>>1425214
И Qt Creator написан на Qt и поставляется с ним часто, но это "продвинутый блокнот". На нем можно что хочешь писать, хоть шейдера, хоть питонячьи скрипты.
Также под студией можешь использовать Qt, как анон выше.

Т.е. Qt Creator != Qt != gcc
Visual Studio != .NET != Visual C++ Compiler.
Аноним 30/06/19 Вск 23:38:38 1425222187
Аноним 01/07/19 Пнд 00:00:50 1425228188
Раз вы тут это, какие у CodeBlocks минусы камни. Искал ide на древнючего пеку, взял первое что заработало, правильно сделал?
Аноним 01/07/19 Пнд 00:42:01 1425237189
>>1425228
Кроме вижуал студии IDE не существует. Все остальное - субпродукты
Аноним 01/07/19 Пнд 00:55:41 1425241190
Аноним 01/07/19 Пнд 01:23:44 1425243191
>>1425175
Возьми qtcreator, там установочник на 100 мб, бесплатный, можно загрузить сразу с компилятором, чтобы не возится с настройкой. Я пробовал вкатываться со студии и дропал два раза, хотя с++ уже понимал (это где-то четвёртый язык, который я приступал изучать) и мог на нём более-менее свободно писать. То есть просто из-за студии не мог вкатится в язык. Это субъективное мнение, но хуже студии просто нет, я лучше в блокноте без подсветки синтаксиса буду писать и собирать через батники руками. Может быть сейчас не актуально уже, это происходило в 2013-2014 примерно. Если хочется воровать - укради cLion, он ничего.
Аноним 01/07/19 Пнд 01:28:28 1425244192
>>1425243
> это где-то четвёртый язык, который я приступал изучать
Твое мнение не очень актуально для чего-либо, связанного с разработкой
Аноним 01/07/19 Пнд 01:31:17 1425245193
>>1425244
Не понял. Он же тоже собирается изучать, зачем ему это чудовище?
Аноним 01/07/19 Пнд 01:37:07 1425246194
>>1425245
Если ты настолько тупой, что не можешь освоить кнопочку с зеленым треугольничком, и контекстное меню добавления нового файла в проект - я не знаю, что тебе еще сказать.
Аноним 01/07/19 Пнд 01:46:47 1425247195
>>1425246
Второй раз я дропнул её из-за того, что мой примитивный код для каких-то рассчётов в консольке на 157 строк с тремя функциями компилировлся около семи минут после каждой правки, и это была уже вторая программа, которая урылась подобным образом. А не из-за проблем с треугольниками.
Аноним 01/07/19 Пнд 02:14:10 1425251196
>>1425247
Это очень интересно, учитывая, что я сейчас скомпилировал буст в 2х конфигурациях (дебаг и релиз) через VCPKG с нуля. и это заняло 12 минут 54 секунды. В той самой вижуал студии.
Аноним 01/07/19 Пнд 02:24:39 1425252197
>>1425228
Кодблокс хорош, хоть автодополнение тупит на трехэтажных шаблонах и большие проекты не вывозит.
Алсо для написания lab2.cpp крайне полезная фича – дебаг с run-to-cursor одной кнопкой. Во всех других иде надо, блять, сначала брейкпоинт руками поставить.
(в дебаггере, правда, уже которое десятилетие не могут сделать нормальное отображение stl-контейнеров, но можно со страшными изъебствами прикрутить pretty-printers)
Аноним 01/07/19 Пнд 09:36:09 1425300198
Корутины будут в 20 стандарте? Или самому лучше костылить? Алсо, накидайте материала по данной теме.
Аноним 01/07/19 Пнд 09:54:39 1425315199
Что за долбоёб срёт на хабре своими зелеными высерами? Завязывай.
Аноним 01/07/19 Пнд 10:13:16 1425327200
>>1425315
И что ты мне сделаешь, а?
Аноним 01/07/19 Пнд 10:41:44 1425339201
Читаю Липпмана и дошел до decltype. И я не понимаю как это работает. Почему например decltype(*p) возвращает int&?
Алсо, я не понял, зачем нужно auto, разве не проще самому тип определить?
Аноним 01/07/19 Пнд 11:05:48 1425346202
>>1425315
Кидай ссылки, посмеемся вместе.
Аноним 01/07/19 Пнд 11:14:22 1425348203
>>1425339
std::map<int, std::vector<std::pair<double, double>>>::value_type::const_iterator it;
Вычисляй, хули.
Аноним 01/07/19 Пнд 13:16:08 1425390204
>>1425247
>>1425251
А чего так долго? Это норма или вы без ссд?
Аноним 01/07/19 Пнд 13:17:53 1425392205
Аноним 01/07/19 Пнд 13:27:08 1425395206
>>1425392
Какой нахуй дабл блять...
Аноним 01/07/19 Пнд 14:11:58 1425419207
>>1425395
Человек не понимает, что auto - это вывод типа, просто чтобы человеку не писать то, что уже известно компилятору. Не триггерись так.
Аноним 01/07/19 Пнд 14:29:22 1425440208
Я в отчаянии. Сколько уже не могу написать простую программу.
QNetworkReply не генерирует ни сигнал error (хтя тут я мог неправильно написать коннект), ни readyRead, ни finished


connect(ui.Button_Update, &QPushButton::clicked, this, &Chat::ConIp);
connect(pReply, &QNetworkReply::finished, this, &Chat::getIp);
connect(pReply, &QNetworkReply::readyRead, this, &Chat::getIp);
connect(pReply,
QOverload<QNetworkReply::NetworkError>::of(&QNetworkReply::error),[=](QNetworkReply::NetworkError code) {
ui.plainTextEdit->appendPlainText("Error");
ui.plainTextEdit->appendPlainText(pReply->errorString());
});
Аноним 01/07/19 Пнд 14:32:13 1425443209
Аноним 01/07/19 Пнд 18:10:29 1425543210
936544large.jpg (71Кб, 600x600)
600x600
Посоны, поясните за overflow. Раскуриваю трай катч, а он сука не ловит переполнение целых. Даже в широкие сети catch (...) нихуя не попадается. Или мне надо какой то хитровыебанный ключ в GCC подключить чтобы это мудло отслеживало флаги процессора?
Аноним 01/07/19 Пнд 18:13:44 1425544211
>>1425175
GCC + Vim + раскурить немношк Cmake.
На хуй эти комбайны ебаные, больше времени потратишь на то чтобы разобраться как эта ёбань работает, вместо самого языка.
Аноним 01/07/19 Пнд 18:44:47 1425558212
>>1425543
это максимум UB знаковых, не отловишь
Аноним 01/07/19 Пнд 19:16:31 1425575213
>>1425543
Так там же исключение не вызывается при переполнении.
Покури <climits>, мб там будет что-то подходящее для тебя.
Аноним 01/07/19 Пнд 19:24:22 1425579214
>>1425300
Корутины сами будут, а вот обвязку писать. Но на гитхабе я минимум 3 либы уже видел.

>>1425544
Это самый худший совет, который существует.
Аноним 01/07/19 Пнд 19:45:39 1425599215
image.png (36Кб, 887x433)
887x433
Где я опять ошибся?
Аноним 01/07/19 Пнд 19:51:32 1425601216
>>1425599
comp=arayaray
Че это?
Может comp=comp
aray;
А до этого comp=1
Аноним 01/07/19 Пнд 19:51:44 1425602217
Аноним 01/07/19 Пнд 19:52:04 1425603218
>>1425599
Там где считаешь comp ты считаешь квадрат последнего (инициализированого) елемента в массиве.
Аноним 01/07/19 Пнд 19:54:26 1425608219
>>1425599
Так тебе произведение нужно или сумма?
Аноним 01/07/19 Пнд 19:57:27 1425611220
>>1425608
Произведение элементов.
Аноним 01/07/19 Пнд 20:02:11 1425616221
Аноним 01/07/19 Пнд 20:02:45 1425618222
>>1425611
те ты хочешь умножить каждый элемент массива на следующий?
в твоем пример 3х6х7?
Почему тебя тогда comp=arrayжвездочкаarray?
Аноним 01/07/19 Пнд 20:08:45 1425622223
>>1425616
Навык декомпозиции нужен.
Аноним 01/07/19 Пнд 20:11:07 1425623224
image.png (65Кб, 1117x631)
1117x631
>>1425618
Потому что по другому он мне 0 выдает, вот я и начал перебирать хуету.
Аноним 01/07/19 Пнд 20:14:45 1425624225
>>1425623
Программирование не твое, вот прям совсем. Ну или питон попробуй.
Аноним 01/07/19 Пнд 20:15:01 1425625226
>>1425623
comp единицей проинициализируй сначала.
Аноним 01/07/19 Пнд 20:19:36 1425627227
>>1425625
Я все время забываю что он с 0 считает.
Аноним 01/07/19 Пнд 21:14:44 1425664228
>>1425623
int comp = 1;
for (int i = 0; i < size; ++i)
{
array = 1 + rand() % 10;
comp *= array;
}

надеюсь, понятно.
Аноним 01/07/19 Пнд 21:15:49 1425665229
>>1425664
>int comp = 1;
>for (int i = 0; i < size; ++i)
>{
>array = 1 + rand() % 10;
>comp = array;
>}
>
int comp = 1;
for (int i = 0; i < size; ++i)
{
array = 1 + rand() % 10;
comp
= array;
}

сук, поторопился. вот
Аноним 01/07/19 Пнд 21:16:59 1425669230
>>1425665
короч, там где array пиши индексацию по i
тут видимо проглатывается она
Аноним 01/07/19 Пнд 21:17:18 1425670231
>>1425558
>>1425575
Ну я короче порылся в теме поглубже. Суть в том что далеко не всякий машинный код работающий с целыми и далеко не на каждой машине поднимает флаг переполнения. Так что в стандарте эта хуйня закономерно послана на хуй.
Я прост думал может подобные вещи реализованы как нибудь красиво, платформонезависимо, ИЗКАРОПКИ, ан нет. Опять велосипеды городить и курить даташиты.
Аноним 01/07/19 Пнд 21:21:10 1425677232
>>1425664
Да я уже понял. Ошибка была в том, что я comp не инициализировал с 1 и он на ноль умножал.
Аноним 01/07/19 Пнд 21:27:56 1425685233
>>1425543
Кстати, забудь про этот java-style. Стандартный C++ (за очень редкими исключениями) вообще не бросает исключений. 99% сомнительных операций тупо вызывают UB.
Аноним 01/07/19 Пнд 21:34:18 1425694234
>>1425664
>>1425665
>>1425665
>>1425623
int comp;
for (int i = 0, comp = 1; i < size ; comp:*= array[i++] = 1 +rand()%%%10; );
вот как ннада. В одну строку ебатБ!
Аноним 01/07/19 Пнд 21:55:10 1425715235
Почему аноны не заставляют новичков пользоваться Range-based for loop?
Предлагаю двачерам познакомить своих преподов с стандартом 11-го года

https://en.wikipedia.org/wiki/C%2B%2B11#Range-based_for_loop
Аноним 01/07/19 Пнд 22:01:26 1425725236
>>1425715
range-based опирается на итераторы.
новички не могут нормально в обычную индексацию
про итераторы и говорить нечего
поэтому нефиг заставлять, т.к. понимания пока нет.
Аноним 01/07/19 Пнд 22:02:23 1425728237
Аноним 01/07/19 Пнд 22:03:20 1425729238
Аноним 01/07/19 Пнд 22:04:11 1425731239
Аноним 01/07/19 Пнд 22:08:20 1425735240
Аноним 01/07/19 Пнд 22:39:48 1425781241
>>1425205
А она же уже старая, все давно под астра линукс пишут, в астра 1.6 se завезли qt 5.10.1
Аноним 01/07/19 Пнд 22:42:08 1425782242
>>1425202
меняй работу, там у вас еще небось проходная с анальными досмотрами, рабочий день от звонка до звонка, совковая мебель, старики начальство, загран паспорт нужно сдавать, а денег плотят 50 тыщ. Беги, она тебя сожрет!
Аноним 01/07/19 Пнд 23:13:34 1425818243
>>1425781
Не у всех тащемта есть возможность перехода на Астру 1.6.
Хотя спасибо РусБитТех за хоть это.
Аноним 01/07/19 Пнд 23:29:23 1425831244
>>1425782
И тут я вспомнил РАДАР ММС, его холодную бездушную проходную, исполинский силуэт Су-27 перед входом, тесные набитые обшарпанные лаборатории. Говорят, приморский район один из лучших мест города для проживания, но только не окрестности этого адского места. Я вспоминаю: Орловский карьер, хмурый поникший Новоорловский заказник, безлюдный железнодорожный переезд и мрачное и неприветливое здание Радара. Вспоминаю, как в темных комнатах этого здания, буквально до изнеможения и в поте лица, буквально с болью и страданием извергают из себя строки кода безликие программисты, погребенные в хаос менеджмента ГосОборонЗаказа. Бедные, бедные и обреченные, когда то подписавшие по своей юношеской наивности вторую форму, а теперь и без всякой надежды на побег, эти люди пытаются перековать сломленный меч империи.
Аноним 02/07/19 Втр 00:34:35 1425892245
Че за хуйня?
Есть такое
connect(ui.Button_Update, SIGNAL(clicked()), this, SLOT(GetIp()) );
connect(manager, &QNetworkAccessManager::finished,this, &Chat::replyFinished);

И такое
void Chat::GetIp() {
response = manager->get(QNetworkRequest(QUrl("https://yandex.ru/internet")));
ui.plainTextEdit->appendPlainText("Connecting");
}

void Chat::replyFinished() {
ui.plainTextEdit->appendPlainText("Data recieved");
ui.plainTextEdit->appendPlainText(response->readAll());
ui.plainTextEdit->appendPlainText("Data couted");
}

Когда нажимаю кнопку в первый раз то выводятся Connecting, Data recieved и Data couted меньше чем за секунду, а у меня браузер намного дольше грузит страницу. Во второй раз вообще только Connecting

Аноним 02/07/19 Втр 00:35:21 1425893246
>>1425892
И еще между Data recieved и couted пустая строка
Аноним 02/07/19 Втр 00:51:56 1425902247
Аноним 02/07/19 Втр 02:08:41 1425918248
Может не совсем вопрос по плюсам, не хочу создавать лишний тред. Значит ли что-то типовое сумма четырех байт, где каждый последующий байт сдвигается на +8 бит влево.

https://pastebin.com/qRidKfcD

Чувствую что это может какая-то идиома байтоебства, типа представление числа в big endianness или чем-то таком, но не уверен.

Наткнулся на это при попытке разобтаться как работает парсер реликовских текстур(dawn of war).
Аноним 02/07/19 Втр 02:15:21 1425924249
Куда нынче перекатываются с крестов, чтобы не умереть с голода?
Аноним 02/07/19 Втр 03:35:32 1425936250
Аноним 02/07/19 Втр 05:16:11 1425948251
Аноним 02/07/19 Втр 08:49:10 1425995252
>>1425918
Это 32 битное число в little endian, но обычно такой хуйней надо страдать как раз на небайтоебских языках. С си/крестах ты просто делаешь юнион из массива и числа.
Аноним 02/07/19 Втр 08:51:38 1425996253
Или вообще берешь адрес начала массива и разименовываешь как число.
Аноним 02/07/19 Втр 10:34:16 1426051254
>>1425995
>С си/крестах ты просто делаешь юнион из массива и числа.
И получаешь UB при попытке читать из неактивного члена union-а
>>1425996
> Или вообще берешь адрес начала массива и разименовываешь как число.
UB
Аноним 02/07/19 Втр 11:16:52 1426064255
>>1425175
Визуал Студио Коде мне лично очень нравится, я бы его и рекомендовал.
Аноним 02/07/19 Втр 11:43:34 1426079256
>>1426064
Говно.
Если нужно немного покодить - лучше всего CodeBlocks. Если при этом хочешь гуй запилить, то лучше наверное qtcreator.
Если что-то серьёзное - на работе у тебя один хуй будет студия.
Если некуда деть деньги - CLion.
VSCode оставь для вебмакак и для самописных языков.
Аноним 02/07/19 Втр 13:42:12 1426157257
Аноним 02/07/19 Втр 15:58:44 1426255258
>>1426079
>CodeBlocks
Гуй может делать только для wxWidgets, да и хуй знает как.
>qtcreator
Тормознутое говно с никакой совместимостью. Но удобное, даже удобнее, чем C::B для отладки. Само Qt - тоже говно.
>VSCode
Тормознутое говно и вообще не нужно.
Нормальных IDE нет. Visual Studio 6.0 ещё более-менее, но малофункционально и поделка дядеБилла, который не нужен.
Аноним 02/07/19 Втр 16:04:11 1426262259
>>1425924
Куда угодно (кроме Си). Другое дело, что почти никуда не берут. В других языках совсем другие предметные области, процессы и подходы к разработке. То есть нельзя например сразу вкатиться в Скалу, Котлин, JS и другие высокооплачиваемые языки. Придется ломать себя, учиться с нуля и вкатываться с нуля.
Аноним 02/07/19 Втр 16:05:27 1426264260
>>1425175
Vim\emacs + gcc+\clang + cmake.
И усе, ide тебе не надо, это петушиная хрень для школьников-вкатывальщиков.
Аноним 02/07/19 Втр 16:11:03 1426273261
>>1425924
>чтобы не умереть с голода
Да ты охуел. Нормально же платят.
Или мне повезло
Аноним 02/07/19 Втр 16:12:13 1426275262
>>1426157
Ни тебе структур, ни unsigned, ни main()...
02/07/19 Втр 16:17:01 1426282263
>>1426262
Что-то ты пиздишь. Я после С++ на любом языке что угодно могу написать. Ни разу не открывал учебник по C#, жаве, питону, но если надо что-то написать на этом говне, то беру и пишу без задней мысли и какого либо напряга.
Аноним 02/07/19 Втр 16:17:08 1426283264
>>1426264
Для программки в сотню-две строк - годится. А отлаживать как? В один-два клика как переименовать переменную во всём коде, посмотреть описание дефайна, найти все вызовы функции?
Аноним 02/07/19 Втр 16:19:03 1426284265
>>1425924
Так ты не формочки клепай в QT, а нормально С++ используй, тогда и деньги платить будут.
Аноним 02/07/19 Втр 16:20:16 1426286266
>>1426284
>ты не формочки клепай в QT
>тогда и деньги платить будут
Да ты охуел.
>>1426273-хуй
Аноним 02/07/19 Втр 16:28:32 1426299267
>>1426286
Ну платят тебе 70-80к. Это деньги разве?
Аноним 02/07/19 Втр 16:30:24 1426302268
Аноним 02/07/19 Втр 16:30:25 1426303269
Аноним 02/07/19 Втр 16:33:18 1426305270
>>1426302
Ты точно только формочки клепаешь? Если да, то реально повезло.
Аноним 02/07/19 Втр 16:40:06 1426309271
>>1426305
>Ты точно только формочки клепаешь?
Формочка - только обёртка для кода, который делает ЦОС.
Аноним 02/07/19 Втр 16:40:21 1426311272
Прочитал "тур по цпп", как можно потренить использование фич из с++11?
Аноним 02/07/19 Втр 18:01:47 1426397273
>>1426264
в комменте отлично перечислена петушиная хрень для школьников, которые думают что они умные.

Мимо-сениор-с-2019-студией
Аноним 02/07/19 Втр 18:02:05 1426399274
Аноним 02/07/19 Втр 18:06:19 1426401275
>>1426397
>Мимо-пиздабол-вкачтик-вайти-с-2019-студией
Понял, принял.
Аноним 02/07/19 Втр 18:12:53 1426404276
>>1426399
Универсальный ответ. Можно бота сделать, который будет на каждую просьбу о помощи так отвечать
Аноним 02/07/19 Втр 18:26:07 1426406277
https://ideone.com/mUJr13
Нахуя gcc инстанцирует неиспользуемый шаблон? В msvc работает нормально.
Аноним 02/07/19 Втр 19:14:54 1426430278
>>1426401
считай как хочешь, манюня. Пока ты пердолькаешься в соснольке - нормальные люди продукты делают.
Аноним 02/07/19 Втр 19:23:05 1426438279
>>1426404
>Можно бота сделать
Берёшь @ делаешь
02/07/19 Втр 19:36:54 1426446280
>>1426303
Все команды уже выучил, красноглазый?
Аноним 02/07/19 Втр 19:44:08 1426452281
>>1426446
tui enable, s/si, n/ni, c, show фигня, p фигня, b, info b, delete номер
Вроде всё, не?
Не пользовался чистым gdb года 2-кун
Аноним 02/07/19 Втр 19:51:09 1426459282
Насколько устарела книга липмана с++11?
Аноним 02/07/19 Втр 20:02:01 1426463283
>>1426079
>на работе у тебя один хуй будет студия.
Но у меня на работе VSCode, лул.
Аноним 02/07/19 Втр 20:04:02 1426464284
>>1426463
КЕМ РАБОТАЕШЬ?
@
@
@
@
ФРИЛАНСЕР
Аноним 02/07/19 Втр 20:05:45 1426466285
Аноним 02/07/19 Втр 20:15:49 1426473286
Могу ли я написать программу, которая сможет мне в играх деньги прибавлять? Ос же запрещает доступ к чужой памяти
Аноним 02/07/19 Втр 20:18:08 1426476287
>>1426473
> Ос же запрещает
Какая? Гугли artmoney
Аноним 02/07/19 Втр 20:19:32 1426480288
>>1426476
Почему то захотелось самому. Не смогу же я взять и прочитать кусок памяти по нужному мне адресу, а потом и редактировать
Аноним 02/07/19 Втр 20:20:15 1426481289
>>1426480
Да сможешь, почему нет?
Аноним 02/07/19 Втр 20:24:29 1426483290
>>1426480
Зависит от системы. Если у тебя операционная система виндоуз(tm) то
https://docs.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-readprocessmemory
https://docs.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-writeprocessmemory
Также можно внедрятся в процесы, там разного рода инжекты длл да просто банально по типу вирусняка немного подправить код программы чтобы запустить какой-то свой обработчик.
Аноним 02/07/19 Втр 20:24:48 1426484291
Аноним 02/07/19 Втр 20:25:47 1426486292
>>1426484
Это в идеале, а на практике артмани.
Аноним 02/07/19 Втр 20:26:32 1426489293
>>1426483
Нихуя. А зачем они так сделали? Могу ли я обеслпасить свою программу, что бы ее не прочитали?
Аноним 02/07/19 Втр 20:27:09 1426491294
>>1426486
Он далеко не всегда работает
Аноним 02/07/19 Втр 20:28:13 1426493295
>>1426491
Ну работает же иногда.
Аноним 02/07/19 Втр 20:29:41 1426494296
>>1426406
потому что msvc - кривая поделка

сначала инстанцируется базовый шаблон
потом при вызове функции просматривается базовый шаблон и его перегрузки.
далее вызывается нужный код.
Аноним 02/07/19 Втр 20:32:02 1426497297
>>1426489
Если ты не контролируешь устройство на которым выполняется твоя программы то ты в принципе не можешь никак обезопасить свою программу, даже независимо от системы. Можно применять шифрование, разного рода постоянно меняющийся полиморфный код, но если у твоя программа работает в offline режиме (тоесть она не требует постоянного подключения к контрноллируемым тобой серверам) то любое щифрование буде тпредставлять собой security through obscurity - тоесть будет бесполезным против достаточно целеустремленного злоумышленика. Но может помогать против школяров.
Аноним 02/07/19 Втр 20:34:31 1426501298
>>1426497
Охуеть. Я прям удивлен. Спасибо
Аноним 02/07/19 Втр 20:35:18 1426502299
>>1426497
Обфускация, всякие пакеры будь здоров так проблем создадут.
02/07/19 Втр 20:36:43 1426505300
>>1426463
Друг мой, советую подыскивать новую галеру...
Аноним 02/07/19 Втр 20:37:19 1426507301
>>1426505
Но почему? Нормально же всё.
Аноним 02/07/19 Втр 20:37:33 1426508302
Думаю вкатиться в низкоуровневое программирование. Чет я заебался, когда пишешь как по мануалу, а оно не работает. Компилится, но не работает. А я не могу ничего сделать: не я же писал. Сложно ли?
Аноним 02/07/19 Втр 20:47:13 1426519303
>>1426508
>низкоуровневое программирование
Си тред два треда вниз.
Аноним 02/07/19 Втр 20:49:15 1426522304
>>1426282
Одно дело писать код, другое дело разрабатывать продукт. На перечисленных мною языках делают софт совершенно непохожий на тот, что пишут на крестах.
Аноним 02/07/19 Втр 20:59:02 1426536305
>>1426494
Подозреваю, что static_assert сработал еще до того, как функция начала инстанцироваться, т.к. в нем нет имен, зависимых от параметров шаблона. Если заменим false, скажем, на sizeof(T) < 0, то все нормально скомпилится
Аноним 02/07/19 Втр 21:05:06 1426548306
>>1425782
Менять на что? Я же студент без опыта, куда меня возьмут. Платят больше чем предлагали в других местах, так что мне норм. Конечно куда меньше 50к, но, как говорил выше, в остальных местах в моем городе в этом плане похуже для программиста без опыта. Тобой перечисленные недостатки отсутствуют. Удобное кресло, 2 монитора, так что рабочее место тоже весьма приличное.
Аноним 02/07/19 Втр 21:58:00 1426644307
>>1426548
Формошлепство на крестах на заводе тебе конечно многое даст
02/07/19 Втр 22:29:40 1426685308
Прикиньте отвечать на вопросы вкатывальщиков
Аноним 02/07/19 Втр 22:36:38 1426689309
>>1425831
>И тут я вспомнил РАДАР ММС
Годная паста, схоронил.
Вместо РАДАР ММС можно подставить, к примеру, импульс, или созвездие, или римр, или титан, или элерон, или градиент или любую другую госпарашу, короче олдскульные места с анальным контролем присутствия, невозможностью в удобное тебе время приходить и уходить, хуевыми условиями, кофе, фрукты и сладости покупать самому, как и воду, самому её носить, ибо пропускной режим. Шкварить резюме такими работами лучше не стоит.
Аноним 02/07/19 Втр 22:39:16 1426692310
>>1426548
Менять на скрам с эджайлом. На нормальное место с профессионалами, которые тебя научат. Где делают продукт, который нужен людям, а не нерабочее говно, которое один хуй примут, ибо задача попилить деньги государства.
Аноним 02/07/19 Втр 22:43:07 1426695311
Аноним 02/07/19 Втр 23:04:46 1426718312
Аноны, подскажите по Qt пожалуйста.

Суть проблемы: имеется виджет с кучей комбобоксов и в зависимости от кликнутых флагов происходит различная генерация. Я эти флаги помещаю в булевую структуру и передаю в класс обработчик, который занимается генерацией. Как итог в этом классе в некоторых методах выходит длинная ебала из if-else. Есть ли какие-либо более адекватные варианты?

02/07/19 Втр 23:10:44 1426725313
>>1426718
Как вариант, можно сделать список функций, но это шило на мыло
Аноним 02/07/19 Втр 23:34:57 1426745314
Изучаю многопоточность. Решил набросать симуляцию производителя-потребителя при помощи стандартных условных переменных: https://ideone.com/NWbGaf

На моей системе и в ideone события тупо чередуются, то есть сначала производитель полностью забивает буфер, а затем потребитель полностью его опустошает. Я ожидал, что будет конкуренция и нельзя будет точно предсказать, какое действие совершится следующим. Я ошибся в реализации или это скедулер так работает?
Аноним 02/07/19 Втр 23:49:30 1426761315
>>1426745
std::thread::
D E T A C H
E
T
A
C
H
бтв это я такой способ нарыл только, мб есть адекватный правильный способ.
Аноним 02/07/19 Втр 23:55:11 1426765316
>>1426761
Только при использовании этого метода нужно будет в main придумать ожидание завершения работы потоков, иначе прога завершит свою работу сразу же.
Я принимал из бд объекты и отпускал их детачем на обработку, сохранение и запись на диск, по окончании приема ждал момента в бесконечном цикле со сном на пару секунд, когда в векторе будет столько же объектов, сколько принял из бд.
Аноним 02/07/19 Втр 23:56:20 1426767317
>>1426745
Поставь слип перед захватом лока. Тред походу освобождает лок, СРАЗУ забирает обратно и где-то при выводе в консоль заканчивается его квант времени.

Насчёт линупсов и бсдей не знаю, но у винды, кажется начиная с висты, замки не "честные". То есть управление не обязательно передаётся следующему ожидающему треду.
Аноним 02/07/19 Втр 23:57:58 1426769318
>>1426761
Detach не должен давать никакого профита. Джоины дают тредам выполняться параллельно и бесконечно (второй джоин вроде даже не нужен).
Аноним 03/07/19 Срд 00:02:14 1426773319
>>1426769
Ну я просто где-то находил инфу, что join ждёт завершения потока и только потом прога продолжает работу - собственно, так и было, когда я игрался с потоками.
Но, может, я неправильно прочёл/понял.
Аноним 03/07/19 Срд 00:05:34 1426775320
>>1426773
Все правильно, но это не значит, что другие потоки не будут выполняться параллельно.
Аноним 03/07/19 Срд 00:11:38 1426776321
Аноним 03/07/19 Срд 00:12:37 1426777322
>>1426767
Теперь они чередуются каждую итерацию. Интересно.
Аноним 03/07/19 Срд 00:16:51 1426780323
>>1426776
Круто. Короче, это все особенности скедулера. Видимо, если ирл похожую задачу придется решать, будет иметь смысл выносить produce/consume за пределы лока, то есть где у тебя стоит sleep. В примере, конечно, не получится из-за cout.
Аноним 03/07/19 Срд 00:17:29 1426781324
source.png (53Кб, 1250x475)
1250x475
>>1426777
Сделай рандомный слип. Тогда в среднем будут чередоваться, но иногда будут проскакивать несколько продьюсов.
Аноним 03/07/19 Срд 00:21:21 1426782325
>>1426775
Значит, я не разобрался и намутил хуйни. Спасибо, почитаю ещё, чтобы понимать нормально.
Аноним 03/07/19 Срд 01:00:48 1426799326
>>1426406
> Нахуя gcc инстанцирует неиспользуемый шаблон?
Стандартом не запрещено
> В msvc работает нормально.
"ill-formed, no diagnostic required" -> undefined behavior при запуске программы
"undefined behavior" это не "работает нормально".

https://stackoverflow.com/a/14637534/9585016
Аноним 03/07/19 Срд 01:06:23 1426801327
>>1426494
>потому что msvc - кривая поделка
В стандарте сказано "no diagnostic is required", так что MSVC имеет полное право не детектить кривость этого кода.
Аноним 03/07/19 Срд 01:10:33 1426802328
>>1426799
>> Нахуя gcc инстанцирует неиспользуемый шаблон?
>Стандартом не запрещено
Т.е. он, конечно, не инстанциирует. Не запрещено не принимать такой код к трансляции.
Аноним 03/07/19 Срд 01:16:36 1426806329
>>1426536
>Если заменим false, скажем, на sizeof(T) < 0, то все нормально скомпилится
...и код всё равно будет ill-formed (no diagnostic required), а значит при запуске будет UB.
Аноним 03/07/19 Срд 08:47:49 1426857330
>>1426446
Фига маня порвалась с сажей.
Аноним 03/07/19 Срд 12:20:11 1426950331
В книге сказано, что size имеет тип size_type, а в clion тип указан как int. Кому верить? и я честно сказать так и не понял отличий
Аноним 03/07/19 Срд 12:22:02 1426952332
>>1426950
size_type это тайпдеф
На твоём 32-битном калькуляторе он является элиасом для int
Аноним 03/07/19 Срд 12:28:10 1426955333
>>1426781
Зачем вы треды с мьютексами используете в 2019 году?
Аноним 03/07/19 Срд 12:43:54 1426962334
>>1426955
Чтобы научиться. Это не прилизанный пример с использованием best practices для озеленения гитхаба, а челлендж для себя. Будет здорово, если ты покажешь как сделать данную симуляцию без тредов и мьютексов.
Аноним 03/07/19 Срд 18:48:10 1427198335
Аноним 03/07/19 Срд 20:10:40 1427282336
Что означает запись
int ((зв)pp)[10]
? Написано что это указатель на массив из 10 символом, но как это работает? И почему нельзя например присвоить значение вот так
(зв)p = 42?
Аноним 03/07/19 Срд 20:32:23 1427309337
>>1427282
такой хуйней занимаются, когда хотят в функцию передать двумерный массив а про std::array/std::vector не слыхали
03/07/19 Срд 20:42:02 1427332338
>>1427309
Сейчас бы хранить данные не последовательно...
Аноним 03/07/19 Срд 20:45:23 1427338339
>>1427309
Векторы ваши хуйня для зумерков.
Аноним 03/07/19 Срд 20:55:17 1427364340
Как сделать указатель на произвольный участок памяти?
Аноним 03/07/19 Срд 21:08:50 1427382341
Аноним 03/07/19 Срд 21:32:31 1427399342
Аноним 03/07/19 Срд 21:40:01 1427402343
>>1427399
Я имею ввиду, как сделать так, чтобы указатель указывал на нужный мне адрес?
Аноним 03/07/19 Срд 21:45:13 1427407344
>>1427402
А какой адрес для тебя нужный?
Аноним 03/07/19 Срд 21:45:59 1427408345
Аноним 03/07/19 Срд 21:56:35 1427411346
>>1427408
Блин. Тупанул. Все решается p=(int~звездочка~)XXX;
На местн XXX любое число. А в инете че то со строками шаманят
Аноним 03/07/19 Срд 22:24:49 1427430347
>>1427411
Все же в голове не укладывается. Майкрософт САМИ дали мне библиотеку, для чтения и редактирования памяти других процессов. И как я понял без всяких разрешений.
Аноним 03/07/19 Срд 23:18:30 1427458348
Аноним 03/07/19 Срд 23:31:22 1427474349
Кьютешники на месте? В каком виде хранятся пиксели в QPixelmap? Сколько бит занимают? Почему то в справочнике не нашел инфы об этом, да и в дебаге это не посмотреть
Аноним 03/07/19 Срд 23:32:47 1427477350
>>1426777
mylock.lock()
std::cout << "блаблабла" << "\n";
mylock.unlock()
Аноним 03/07/19 Срд 23:34:42 1427480351
>>1427474
>QPixelmap
>Почему то в справочнике не нашел инфы об этом
Note that the pixel data in a pixmap is internal and is managed by the underlying window system. Because QPixmap is a QPaintDevice subclass, QPainter can be used to draw directly onto pixmaps. Pixels can only be accessed through QPainter functions or by converting the QPixmap to a QImage. However, the fill() function is available for initializing the entire pixmap with a given color.

Действительно, почему.
Аноним 03/07/19 Срд 23:41:54 1427488352
>>1427480
Не понел. Я могу изменить битность пиксельмапа или он сам что хочет то и делает?
Аноним 03/07/19 Срд 23:52:49 1427496353
>>1426806
Почему? Где-то что-то в стандарте есть на это?
Аноним 04/07/19 Чтв 00:01:56 1427502354
>>1427488
Qt - кроссплатформенный фреймворк и твой код может потенциально выполняться на AlienOS с пятицветными мониторами с 7.5 бит на цвет. Ты не должен полагаться на внутреннее представление этого класса. Если что-то нужно, конвертируй в QImage
Аноним 04/07/19 Чтв 00:40:03 1427514355
>>1427332
и ты про std::array не слыхал?

Аноним 04/07/19 Чтв 00:41:47 1427515356
Screenshot20190[...].jpg (267Кб, 720x1280)
720x1280
Ты из будущего? Посмотрите на мои часы , которые точнее некуда, и даиу последнего поста
Аноним 04/07/19 Чтв 00:52:42 1427521357
>>1427496
Я же дал ссылку на SO, где цитируют [temp.res]/8
Аноним 04/07/19 Чтв 01:29:59 1427536358
Нужно на иксах организовать скриншот.
Сначала брал GetImage из Xlib/XCB, но на оф. сайте советуют обходить эту функцию стороной и в целом сложно работать с одномерным вектором сырых ргба, хоть мне это скорее и нужно, ибо единственный пиксель, который мог сам опредедить - первый.
В целом использую system(scrot), но хотел так как безногий вариант, то хотел в исходники скрота залезть, но там Торвальдс ногу сломит.

Можете что посоветовать?
04/07/19 Чтв 01:59:05 1427546359
>>1427382
>>1427514
Блядь. Я про сверхразумов, что пишут T[][] или ещё хуже std::vector<std::vector<T>>
Аноним 04/07/19 Чтв 02:03:03 1427548360
Чет я туплю, анончики. Как присвоить одному указателю значение другого? Не адрес.
Аноним 04/07/19 Чтв 02:04:49 1427549361
Аноним 04/07/19 Чтв 02:04:56 1427550362
Аноним 04/07/19 Чтв 02:05:27 1427551363
Аноним 04/07/19 Чтв 02:06:18 1427552364
>>1427550
И тогда значение ячейки, лежащей по адрему p1 станет равным значению ячейки лежащей по адресу p2?
Аноним 04/07/19 Чтв 02:07:27 1427553365
>>1427552
Ты хотел значение указателя присваивать, а не объектов, на которые он указывает
Аноним 04/07/19 Чтв 02:07:28 1427554366
Аноним 04/07/19 Чтв 02:07:36 1427555367
>>1427551
Компилятор меня нахуй шлет.
Аноним 04/07/19 Чтв 02:08:11 1427557368
>>1427551
Указатель должен хранить адрес, а не значение по адресу.
Аноним 04/07/19 Чтв 02:09:31 1427558369
>>1427553
Ща попробую объяснить. Уже ночь и яплохо соображаю. Вот есть у меня указатель на ячейку B42BAF (это я придумал) и эта ячейка хранит число 6. И мне нужно чтобы 6 оказалась в другой ячейке
Аноним 04/07/19 Чтв 02:10:10 1427560370
>>1427557
Я тоже подумал что я хуйню творю. Но постом ниже попытался объяснить что я хочу
Аноним 04/07/19 Чтв 02:10:29 1427561371
Аноним 04/07/19 Чтв 02:11:50 1427562372
>>1427557
блять, ты тупой? p2 хранит адрес на значение, которое является адресом...
Аноним 04/07/19 Чтв 02:14:38 1427563373
>>1427558
int (зв)p = 0xB42BAF;
int (зв)p2 = new int;
(зв)p2 = *p
Аноним 04/07/19 Чтв 02:17:37 1427565374
>>1427563
(зв)p1=(зв)p2
Делает что то непонятное. Выбрасывается исключение. Память читается чужая
Аноним 04/07/19 Чтв 02:19:23 1427566375
>>1427565
мы ж понимаем, что 0xB42BAF надо заменить на валидный адрес?
Аноним 04/07/19 Чтв 02:19:58 1427567376
>>1427563
Они на одну ячейку вдвоем указывают и происходит unable to read memory. По крайней мере у меня так работает
Аноним 04/07/19 Чтв 02:23:01 1427569377
>>1427566
Так (зв)p=BA52C значение впихивает в адрес p. Чтобы заставить указатель ссылаться на эиу хуйню нужно просто p=BA52C
Короче я хуй знает. Вот моя задача
>>1427558
Мне нудно число перенести из одной ячейки памяти в другую
Аноним 04/07/19 Чтв 02:23:41 1427570378
>>1427567
в каком месте они на одну ячейку указывают? p указывает на 0xB42BAF, p2 - на только что выделенную, затем мы копируем значение одной ячейки в другую
Аноним 04/07/19 Чтв 02:27:02 1427575379
>>1427570
Башка не варит. Лучше высплюсь, а завтра доделаю. Спасибо за советы
Аноним 04/07/19 Чтв 02:27:19 1427576380
>>1427567
По тому адресу нет значения.
Аноним 04/07/19 Чтв 02:28:35 1427577381
>>1427576
Почему? Какое то случайное должно же быть
Аноним 04/07/19 Чтв 02:30:14 1427578382
>>1427569
int (зв) p = 0xBA52C;
и
int (зв) p = ...;
*p = 0xBA52C;
разные вещи,
первое - инициализация указателя
второе - присвоение значение ячейке памяти по указателю p>>1427577
Нет, не должно
Аноним 04/07/19 Чтв 03:00:34 1427588383
>>1426806
Ебаный рот этого С++. То чувство, когда понимаешь что ты никогда не выучишь этот язык до конца.
Аноним 04/07/19 Чтв 03:03:24 1427590384
>>1427588
Ты сишку сначала до конца попробуй выучить, лалка
Аноним 04/07/19 Чтв 04:09:38 1427605385
>>1427588
Так у него нет конца
Аноним 04/07/19 Чтв 09:12:47 1427661386
Кто-нибудь ковырял слитый код ядра windows (wrk)? Есть еще какие-нибудь материалы по ядру?
04/07/19 Чтв 09:48:14 1427674387
>>1427661
Кидай ссылку на раздачу
Аноним 04/07/19 Чтв 11:40:19 1427751388
изображение.png (122Кб, 1366x768)
1366x768
int(зв) p1=new int;
int(зв) p2=new int;
(зв)p1 = 1;
(зв)p2 = 2;

while (true) {
Sleep(rand() % 200);
p2 = p1;
delete p1;
int p1=new int;
p1 = p2;
delete p2;
int
p2 = new int;

}

Почему у меня две паре p1 и p2?
Аноним 04/07/19 Чтв 11:42:28 1427753389
>>1427751
Там написано (зв)p2=(зв)p1, int(зв) p1=new int, int(зв) p2=new int
Аноним 04/07/19 Чтв 11:44:19 1427755390
>>1427751
> Пожалуйста, пользуйтесь https://ideone.com/ или https://pastebin.com/ для вставки кода, если он длиной больше нескольких строк или содержит [​i​] или ∗.
Аноним 04/07/19 Чтв 11:46:56 1427759391
>>1427751
Я все сделал. Странно, но когда код на обозрение выставляешь, мозг будто боится опозориться и начинает лучше думать. В следущий раз буду использовать pastebin
Аноним 04/07/19 Чтв 12:03:30 1427771392
Аноним 04/07/19 Чтв 12:04:55 1427774393
Можно ли использовать неинициализированные переменные как генератор рандомных чисел (не динамические)?
Аноним 04/07/19 Чтв 12:28:54 1427789394
>>1427774
Как показал пример выше, нет.
Аноним 04/07/19 Чтв 13:39:40 1427821395
>>1427502
Я и делаю в QImage. Только вот выводить в интерфейс приходится, конвертируя QImage в QPixelmap, в результате чего, я подозреваю, 16 бит пидорасятся в 8 бит.
Аноним 04/07/19 Чтв 14:13:41 1427848396
>>1427661
ReactOs. Из книг - Windows Internals. Годных блогов - бесчисленное количество, ищи. Также в твитере любят всякие ресерчеры сидеть, ищи там тоже.
Аноним 04/07/19 Чтв 14:15:19 1427849397
>>1427661
Для низкоуровневой темы у нас есть отдельный тред:
https://2ch.hk/pr/res/1406213.html

Перекатывайся туда, здесь никто не шарит за лоу левел.
Аноним 04/07/19 Чтв 14:42:10 1427896398
Сап, програмач. Нихуя не понятно. Имеется массив чисел, нужно выбрать из них простые и перевернуть (123 - 321). Написал две функции:
int simple(int n)
{
if(n<=1)
return 0;

for (int i = 2; i<=sqrt(n); i++)
if (n % i == 0)
return 0;

return 1;
}

и
void reverse(int a, int n)
{
int temp, b, k, c, simp;
for (int i = 0; i < n; i++)
{
k = 0; c = 0;
if (a > 0)
c = 1;
else c = -1;
a = abs(a);
temp = a;

if (simple(a)==1)
{
b = a % 10;
a /= 10;
while (a > 0)
{
b = b
10 + a % 10;
a /= 10;
}
a = b;
}
a *= c;
printf("%d ", a);
}
}

Но почему-то в результате работы все неотрицательные элементы массива обращаются в 0. Помогите, пожалуйста.
Аноним 04/07/19 Чтв 16:04:43 1427958399
>>1427896
>Лабы идут на хуй
>Небольшие фрагменты кода размещай в треде при помощи тега [code] и жабаскрипт-костыля. Для больших фрагментов используй внешние сервисы. Хотя лучше вообще всегда используй последний.

в норм виде скинь свой код тогда может быть помогу, но вобще с такой хуетой должен сам разбираться, а не на форумы бежать сразу
Аноним 04/07/19 Чтв 16:38:02 1427970400
>>1427896
Я вообще ничего не понял. Что это вообще за манипуляции в reverse?
Аноним 04/07/19 Чтв 21:23:54 1428113401
1417492441084.png (56Кб, 320x320)
320x320
1456255223383.PNG (84Кб, 321x321)
321x321
Подскажите плиз, что неправильно?
Сначала инициализирую картинку.
QImage image = QImage(fileWidth, fileHeight, QImage::Format_Grayscale16);
Потом код берет значения и записывает их в QImage в цикле. resultColor - это quint16.
for (int i = 0; i < map.size(); i++)
{
...
image.setPixelColor(x, y, resultColor);
}

Затем я конвертирую QImage в QPixmap и вывожу в GUI.
QPixmap pixmap(QPixmap::fromImage(image));
imageLabel->setPixmap(pixmap);


Проблема в том, что в QImage почему то получается картинка с глубиной 8-бит, а не 16 бит. И выводится 8-битный greyscale, хотя я прописываю QImage::Format_Grayscale16. Почему так может быть? Кто нибудь вообще знает, как устроен Format_Grayscale16 в Qt?

Первый пик - как должно быть, второй пик - скрин из GUI.
Аноним 04/07/19 Чтв 22:14:27 1428138402
SmugThoughtfulF[...].gif (866Кб, 420x236)
420x236
//Использую GIFImage.
//q:Какого фига пишешь в Билдере?!
//a:Практика в колледже. Заставляють нахой.
Можно как-то реализовать прозрачность гифки в C++ Builder 6?
Чтобы как-то убрать черный фон. Хотел через Transparent Color, но TImage не имеет такую опцию.
Аноним 04/07/19 Чтв 22:45:38 1428156403
Как же заебал qml. Устраивался на работу кодить на цпп, а заставили заниматься формошлепством.
04/07/19 Чтв 23:08:57 1428172404
>>1428113
> QPixmap pixmap(QPixmap::fromImage(image));
Попробуй
[code]
QPixmap pixmap;
pixmap.convertFromImage(image);
[/code]
И с флагами поиграться
Аноним 04/07/19 Чтв 23:24:02 1428179405
1410593018481.PNG (94Кб, 322x320)
322x320
>>1428172
Не помогло, анончик. Все равно пидорасит.
05/07/19 Птн 01:12:40 1428226406
>>1428179
А ты в файл пробовал сохранять? Может это на экране уже пидорасит, а не в QPixmap. Выложи картинку заодно.
Аноним 05/07/19 Птн 02:08:21 1428248407
>>1428113
что то со страйдом не так
Аноним 05/07/19 Птн 04:50:01 1428263408
Какой самый каноничный способ конвертации string в wstring и обратно? На SO предлагают целый зоопарк от MultibyteToWideChar до бустовского string_cast. Неужели нет простого способа сделать это средствами стандартной библиотеки?
Аноним 05/07/19 Птн 05:46:46 1428264409
>>1428263
std::string f = "lol";
std::wstring f2(f.begin(), f.end());

таким же раком и обратно
Аноним 05/07/19 Птн 05:55:34 1428265410
>>1428263
>>1428264
но в стандарте вроде пока нет работы именно с конвертацией кодировок
Аноним 05/07/19 Птн 05:56:07 1428266411
>>1428263
>Какой самый каноничный способ конвертации string в wstring
Что ты имеешь ввиду под "конвертацией"? Просто преобразовать можно так как написал >>1428264 , конвертация с учетом кодировки (чтобы non-ASCII символы корректно сконвертировались в юникод) потребует или библиотеки для работы с юникодом, либо функций WinAPI (вроде MultibyteToWideChar).

В стандартной библиотеке С++ пока нет поддержки для юникода.
Аноним 05/07/19 Птн 06:26:53 1428267412
Сап, анон. У меня есть контейнер данных, м которым приходится работать типа как разделить, выделить подмножество и т.п. Сейчас этот контейнер - std::list, и когда я делаю подмножество, то там std::list<MyData*>. Мне это не нравится вообще, ибо бллядские указатели (даже шаредптр) отдает плохим дизайном.
Не умнее ли использовать карты, благо в каждом классе есть уникальный id? И работать, типа получаешь список ключей, которые меняешь, потом проходиться по ним?
05/07/19 Птн 07:58:48 1428273413
>>1428267
Чем тебе указатели не нравятся? Храни unique_ptrы, при передаче куда-нибудь объектов разыменовывай.
Аноним 05/07/19 Птн 11:49:41 1428347414
>>1428263
>Какой самый каноничный способ конвертации string в wstring и обратно?
Самый каноничный — не конвертировать.
Аноним 05/07/19 Птн 11:58:58 1428358415
Аноним 05/07/19 Птн 13:42:49 1428402416
>>1428226
Пробовал QImage сохранять в файл, там та же белиберда. То есть это происходит именно после записи 16-битных значений в QImage.
Аноним 05/07/19 Птн 20:33:33 1428587417
Хочу прочитать память процесса, используя ReadProcessMemory.Там есть такой параметр как lpBaseAdress. Как его получить? и за что он отвечает?
Аноним 05/07/19 Птн 21:02:19 1428607418
Аноним 05/07/19 Птн 21:10:42 1428611419
изображение.png (25Кб, 613x654)
613x654
>>1428607
Я там и читаю. Как я понял базовый адрес это то куда загружается код, относительно начала выделенной памяти. Даже пикчу такую нашел. Но как мне узнать этот адрес?
Аноним 05/07/19 Птн 21:17:23 1428619420
>>1428611
Нет, это просто адрес памяти, с которого начинается чтение. Как именно узнать, что ты хочешь прочитать (без содействия читаемого процесса)? Это вопрос скорее к АСМ треду.
Аноним 05/07/19 Птн 21:19:16 1428621421
>>1428611
> Но как мне узнать этот адре
Сканишь, смотришь что где лежит и берешь что нужно.
Аноним 05/07/19 Птн 21:23:02 1428626422
>>1428621
Так чтобы отсканить мне нужно этот параметр передать. Я вот понять не могу: это адрес относительно всей памяти или относительно выделенной процессу.
Аноним 05/07/19 Птн 21:31:01 1428636423
>>1428626
Относительно процесса. У тебя нет доступа к реальным адресам. Процессы работают с виртуальными адресами (у каждого свои) никак обычно не связанными с реальными физическими.
Аноним 05/07/19 Птн 21:32:06 1428638424
>>1428636
Фух. Так то изи. Спасибо. Я пошел играться
Аноним 05/07/19 Птн 22:12:33 1428666425
>>1428636
Может ли виртуальная память быть фрагментирована?
Аноним 05/07/19 Птн 22:26:21 1428669426
>>1428666
Я не уверен, но скорее всего нет. Память разбивается на страницы, физически они могут распологаться как угодно (не говоря уже о том что некоторые могут быть вообще выгружены из оперативной памяти в своп) но именно виртуальные адреса скорее всего идут всегда непрерывно.
Аноним 05/07/19 Птн 22:27:49 1428670427
Потоки работают с одной памятью?
Аноним 05/07/19 Птн 22:51:29 1428678428
>>1428670
По сути это главное отличие потоков от процессов, у потоков общее адресное пространство.
Аноним 06/07/19 Суб 00:41:30 1428766429
>>1428669
Регион помечается как недоступный. Это если в юзермоде. В ядре просто страница выгружается.
Аноним 06/07/19 Суб 00:43:52 1428767430
>>1428611
Базовый адрес модуля приложения + офсет относительно него = твой адрес для чтения/записи памяти.
Аноним 06/07/19 Суб 01:49:04 1428785431
Аноним 06/07/19 Суб 02:04:56 1428792432
>>1428626
Вообще, если я правильно помню, там можно подсасываться как-то к процессу ещё: кажется, я для примера делал штуку, которая брала окно под координатами мыши, брала над ним управление и посылала ему сигнал выхода - и по запуску проги приложение под курсором закрывалось.
То есть, получить управление над другим процессом можно, а там уже и узнать адреса его памяти, думаю, достаточно просто.
но я шизик-маразматик, так моя память могла сыграть над нами плохую шутку и это все хуйня.
Аноним 06/07/19 Суб 03:03:14 1428798433
image.png (145Кб, 480x360)
480x360
Крестач, ты охуел? Я в 87-м распинаюсь, а вы тут уже 90-й захуярили. Внимание, вопрос...

ААААААААААААААА БЛЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯДЬ!!!!!!!! Какого хуя WinHttpSendRequest шлет лишь ебучий глагол?!?! Вот реально, вместо сервера запустил голую слушалку на winsock-ах, и прилетает только 4 байта "POST". Это пиздос, чините мой пердак, аноны!!!
Аноним 06/07/19 Суб 12:16:09 1428924434
Где взять HANDLE процесса? Пыталсся вводить ид процесса из диспетчера задач, но вижу ошибку 6 "The handle is invalid. "
Аноним 06/07/19 Суб 12:16:48 1428927435
>>1428798
Ты че, ебанутый? Иди в 92 тред
Аноним 06/07/19 Суб 12:50:27 1428952436
Аноним 06/07/19 Суб 19:20:12 1429217437
Приветствую вас аноны! Мимо студент изучает плюсы и хочет поинтересоваться - есть ли фриланс на си++, и как до него дорасти?
Аноним 06/07/19 Суб 20:23:01 1429292438
>>1428347
>Самый каноничный — не конвертировать.
Такое бывает только в идеальном манямирке. fstream::open до сих пор принимает только последовательность из char.
Аноним 06/07/19 Суб 20:57:20 1429307439
>>1429292
Начиная с C++17 принимет std::filesystem::path
Аноним 06/07/19 Суб 21:41:09 1429331440
Аноним 06/07/19 Суб 22:05:14 1429352441
Аноним 07/07/19 Вск 00:10:21 1429422442
Вот я прочитал значение памяти другого процесса и сверился с CheatEngine'ом. Если читать по адресу, где лежит переменная то все ок, а если прочитать с 0, то ошибка: память прочитана частично. Кстати в первый раз я заметил, что если перевести значение в 2 систему, то там 2 бита просто повторяются. Я за память не шарю. Поэтому прошу ответа на вопросы: почему так происходит и как фиксить. 2(вопрос) не обязательно. Если я узнаю 1, то смогу ответить на 2
Аноним 07/07/19 Вск 00:26:45 1429437443
>>1429422
Может как-то связано с тем что 0 адрес это nullptr.
Аноним 07/07/19 Вск 00:27:44 1429440444
>>1429437
Надо проверить. Спасибо за мысль
Аноним 07/07/19 Вск 00:30:36 1429442445
>>1429437
Интересно стало что будет, если я захочу прочитать с нулевого адреса (1 в языке обычных людей) как тогда быть?
Аноним 07/07/19 Вск 00:33:14 1429444446
>>1429442
> как тогда быть?
Захотеть прочитать с другого адреса.
Аноним 07/07/19 Вск 00:41:32 1429448447
>>1429437
Брал другие адреса (пробовал кратные 8, 64). Тоже самое.
Аноним 07/07/19 Вск 08:19:30 1429555448
Антуаны, такой вопрос к вам. Ни разу не плюсист, но вот понадобилось мне вкорячить OpenCV на моё приложение. Но всё оно мне не сдалось, только 1-2 функции. Есть какой-нибудь вариант собрать какую-нибудь либу-враппер так, чтобы собралось только самое необходимое для выполнения этих функций?
Из исходников самому выдирать неохота, слишком уж много там одно другое за собой тянет.
Аноним 07/07/19 Вск 08:59:21 1429558449
>>1429555
Посмотри сюда
https://stackoverflow.com/questions/6687630/how-to-remove-unused-c-c-symbols-with-gcc-and-ld
Там пишут использовать ключи типа -fdata-sections -ffunction-sections. Нужно собрать OpenCV с этими ключами и как статическую либу. Он собирается cmake'ом, то есть клонируешь репу его гитом, чекаутишь нужную версию, дальше
mkdir build
cd build
cmake -DCMAKE_CXX_FLAGS= "-fdata-sections -ffunction-sections" -DCMAKE_BUILD_TYPE=Release .. -DBUILD_SHARED_LIBS=OFF #тут еще много флагов может понадобится
make -j12

А дальше статически прилинковать к своей проге, и при линковке указать -Wl,--gc-sections , согласно тому же ответу с SO.
Как-то так. Сам я этого не делал, но должно сработать.

Более ленивый способ, если тебе нужно просто спиздить пару алгоритмов и структуры данных к ним типа cv::Mat, это заинклудить все нужные cpp файлы

#include "opencv2/yoba.cpp"
#include "opencv2/peka.cpp"

И получившегося монстра собрать или как часть твоего проекта, или с соответствующими include-директориями и теми же флагами -fdata-sections -ffunction-sections и -Wl,--gc-sections (хотя в этом случае можно и отдельные cpp файлы билдить). Это на самом деле не очень долго, достаточно начать билдить, он будет ругаться на unresolved external, далее grep -R в руки для поиска и через полчаса соберешь свой мини-OpenCV. Правда может не повезти и действительно оно потянет все исходники, но вряд ли, компьютерное зрение все-таки, алгоритмы должны быть быстрыми и компактными.
Аноним 07/07/19 Вск 11:32:10 1429626450
Страутструп в книженции заставляет сделать упражнение на сортировку чисел и строк, практически не пояснив за if-ы и логические операции, ни разу не показав массивы и прочее. Заебись ему.
Аноним 07/07/19 Вск 11:47:17 1429639451
>>1429626
Страуструп хуево косплеит кернигана и ричи. Лучше почитать их а по крестам саттера или мейерса. И точно не как первый язык, ифы и массивы надо знать уже хорошо
Аноним 07/07/19 Вск 11:58:49 1429647452
>>1429639
Да тут даже не в сложности дело. В начале он писал что книга также для людей у кого это первый язык, то есть он же серъезно ожидает что я после 50стр его книги нахуячу ему сортировку на голом if, даже без else???
Тут же головной боли и адской лапши никак не обойтись.

> по крестам саттера или мейерса
Гляну их, спс.
Аноним 07/07/19 Вск 12:17:34 1429659453
>>1429647
Прошел почти всего Страуструпа (не осилил только последние пару глав). Насколько помню там задание было отсортировать даже не массив, а просто 3 числа (строки). И это вполне возможно сделать только с if-ами и else-ами. Но вообще согласен, упражнение так себе.
Аноним 07/07/19 Вск 12:40:39 1429672454
>>1429659
Да, я про него, немного переоценил масштаб трагедии. Но задание все еще на усидчивость, а не логику.
Аноним 07/07/19 Вск 17:56:57 1429859455
>>1429647
> В начале он писал что книга также для людей у кого это первый язык
Как и K&R
>то есть он же серъезно ожидает что я после 50стр его книги нахуячу ему сортировку на голом if, даже без else???
Ты не очень умный. Я бы лет в 12 такое написал.
Аноним 07/07/19 Вск 18:08:00 1429869456
>>1429859
>Я бы лет в 12 такое написал
Но заместо этого получал пизды в школе.
Аноним 07/07/19 Вск 18:33:32 1429882457
>>1429626
Вам же дали норм учебник - "С. Прата - Язык программирования С++. Лекции и упражнения". Почему его не используешь?
Аноним 07/07/19 Вск 18:41:21 1429884458
А я читаю липпмана и у него задания для олигофренов. После кернигана с ритчи, где после первой же главы предлагали написать простейшую прогу для проверки ошибок в коде, этот учебник выглядит несерьёзно.
Аноним 07/07/19 Вск 18:46:35 1429890459
1422360325950.jpg (41Кб, 620x418)
620x418
Мне надо приравнять один pixmap к другому.
Пишу QPixmap pixMap = imageLabel->pixmap(); а он мне отвечает no viable conversion from 'const QPixmap ' to 'QPixmap'.
Пишу QPixmap
pixMap = imageLabel->pixmap(); а он мне отвечает cannot initialize a variable of type 'QPixmap ' with an rvalue of type 'const QPixmap '.
Что я не так делаю?
Аноним 07/07/19 Вск 18:53:48 1429895460
>>1429859
Количество элементов известно? В любом случае это задание на логику. То можешь хоть 10000 страниц прочитать, но если не будешь тренировать логическое мышление все равно не напишешь
Аноним 07/07/19 Вск 18:56:34 1429896461
>>1429890
> Что я не так делаю?
Пытаешся приравнять один pixmap к другому.
Аноним 07/07/19 Вск 18:59:16 1429898462
>>1429896
А что, нельзя что ли приравнивать? В описании класса оператор = определен, по идее можно.
Аноним 07/07/19 Вск 19:03:56 1429901463
>>1429898
Ну так оператор= работает с объектами класса, а pixmap() возвращает указатель, если я правильно помню.
Аноним 07/07/19 Вск 19:04:55 1429904464
>>1429901
Ну так я во втором примере пытаюсь приравнять указатель, но он все равно не хочет.
Аноним 07/07/19 Вск 19:05:46 1429905465
>>1429901
Только сейчас заметил, что звездочки нет, двач проебывает их. Во втором примере у меня указатель на pixMap.
Аноним 07/07/19 Вск 19:16:48 1429913466
>>1425831
пиздец. там очень душный собес был.
Аноним 07/07/19 Вск 19:22:13 1429917467
>>1429890
QPixmap pixMap(*imageLabel->pixmap());
Срочно врубаться что такое ссылки, а что такое значения.
Аноним 07/07/19 Вск 19:42:52 1429924468
Аноним 07/07/19 Вск 20:03:09 1429938469
Аноним 07/07/19 Вск 20:23:53 1429952470
>>1429898
Попробуй
const QPixmap pixMap = imageLabel->pixmap();
или тип того.
а у нас в расте заимплементил Clone или Copy и присваивай шо хошь
Аноним 07/07/19 Вск 23:36:02 1430035471
Как найти программу в памяти? Программе доступно 4гб вроде. И как мне в этих 4гб найти программу, весом 800кб? Как узнать адрес стека, кучи, чего угодно?
Аноним 08/07/19 Пнд 10:23:47 1430145472
Аноним 08/07/19 Пнд 10:36:30 1430157473
>>1430145
Так ей в виртуальном жи пространстве доступно 4 гб. И когда я читаю память с помощью read process memory я читаю виртуальную память. И в виртуальной памяти она распологается хуй знает где
Аноним 08/07/19 Пнд 16:00:12 1430310474
Какие пути развития есть в c++ кроме qt? Вот выучил я язык как дальше развиваться?
Аноним 08/07/19 Пнд 16:41:21 1430339475
>>1430310
Не стоит его учить, если возникают такие вопросы.
Аноним 08/07/19 Пнд 16:43:28 1430342476
>>1430310
Какие пути развития есть у молотка или у перфоратора?
Аноним 08/07/19 Пнд 16:56:31 1430357477
>>1430342
Моё развитие в языке, как мне дальше развиваться ?
Аноним 08/07/19 Пнд 18:10:02 1430403478
>>1430357
А в русском языке куда ты можешь развиваться?
Аноним 08/07/19 Пнд 18:15:54 1430405479
>>1430310
>Вот выучил я язык
Его даже Страуструп не выучил, лол.
Аноним 08/07/19 Пнд 18:58:54 1430421480
>>1430310
Идешь получать опыт. По-другому никак.
Аноним 08/07/19 Пнд 19:00:16 1430422481
И почему я не пошёл учить питон. На крестах нет работы, совсем.
Аноним 08/07/19 Пнд 19:11:53 1430429482
Аноним 08/07/19 Пнд 19:19:47 1430439483
Аноним 08/07/19 Пнд 20:12:44 1430463484
Аноним 08/07/19 Пнд 22:51:22 1430542485
Я не понимаю как динамический базовый адрес поможет защитить программу от взлома. Ну попробовал я начать чтение с 0x40000000. Ну не получилось. Пойду искать с 0x0 до 0xFFFFFFFF. Ну будет дольше. Ну и что. В конце концов найду программу
Аноним 08/07/19 Пнд 22:56:46 1430547486
>>1430542
А если у тебя 64 бит ОС и надо будет идти до 0xFFFFFFFFFFFFFFFF?
Аноним 08/07/19 Пнд 22:57:42 1430548487
Сука. Ну не понимаю как cheat engine ищет так быстро. Даже по всей оперативке. С 0x0 до 0xFFFFFFFFFF (Хуй знает сколько там F). Секунды не проходит. Моя же программа за это время успевает сместить указатель на ~300 байт. Мой алгоритм такой: ставлю указатель на 0x0. Проверяю располодено, ли число по этому адресу. Если нет, то перемещаю указатель на 1 байт дальше. Дайте совет по ускорению поиска
Аноним 08/07/19 Пнд 22:57:52 1430549488
Господа, необходимо в qt запилить постоянный вывод системного времени. Как это можно сделать попроще?
Аноним 08/07/19 Пнд 22:58:40 1430550489
>>1430547
Тогда оооочень долго. Расчет на то, что злоумышленнику не захочется тратить столько времени?
Аноним 08/07/19 Пнд 23:05:16 1430553490
>>1430550
Как насчет бинарного поиска?
Аноним 08/07/19 Пнд 23:05:51 1430555491
>>1430548
Как насчет бинарного поиска?
Аноним 08/07/19 Пнд 23:14:39 1430560492
>>1430555
Трипл врать не будет
Аноним 08/07/19 Пнд 23:25:10 1430562493
изображение.png (106Кб, 1366x768)
1366x768
>>1430548
Это просто магия какая то. Даже при таких настройках cheat engine ищет за доли секунды. КАААААК?
>>1430553
Я вот не понял при чем тут бинарный поиск. Это же для отсортированного массива.
Аноним 08/07/19 Пнд 23:50:59 1430573494
>>1430548
Мб можно найти нужный кусок оперативки и только его читать?
Есть виндовая ReadProcessMemory(). Хендл процесса по его имени вроде тоже можно получить.
Аноним 08/07/19 Пнд 23:55:18 1430575495
>>1430573
Так я использую эту функцию. Но как я понял я работаю с виртуальной памятью и будто программа одна на весь комп и у нее в распоряжении 4гб. Я искал функцию, которая скажет мне первый, используемый программой, адрес, но такой нет. Иначе весь смысл в рандомизации базового адреса пропадет
Аноним 08/07/19 Пнд 23:56:36 1430576496
>>1430548
> перемещаю указатель на 1 байт дальше
Перемещай на слово. Чтение одного байта медленное. Вроде как стандарт рекомендует чтобы int был такого размера который обеспечивает оптималную скорость для конкретной системы (на практике это значит что он должен быть равен машинному слову) но я не уверен насчет этой хуйни. Попробуй читать ансигнед интами. Если надо искать данные размером с байт то используй побитовые операции - число будет крутиться в регистрах, должно быть быстрее чес по байту из памяти тянуть.
Аноним 09/07/19 Втр 00:00:34 1430578497
Аноним 09/07/19 Втр 00:00:48 1430579498
>>1430576
Так вдруг получится так, что первое чтение заканчивается на адресе 10, следущее чтение с 10 по 42, а число расположено с 6 по 38
Аноним 09/07/19 Втр 00:05:31 1430580499
>>1430578
Дескриптор я могу получить. Но честно говоря не очень понимаю смысл. Считал что это типо идентефикатор процесса, и бугуртил с того что есть handle, и есть process id
Аноним 09/07/19 Втр 00:07:56 1430582500
>>1430548
Поиск подстроки (число) в строке (RAM).
Аноним 09/07/19 Втр 00:38:57 1430589501
>>1430562
Ой, я какую-то хуйню про бинарный поиск сказал.
А вообще, почему бы не найти сегмент кода в бинаре тем же путем, которым его находит ОС, когда выполняет?
Аноним 09/07/19 Втр 00:39:54 1430590502
>>1430589
Ой, опять хуйню сказал. Вообще в тему дискуссии не въехал. Сука. Мне теперь стыдно в тред заходить будет.
Аноним 09/07/19 Втр 03:10:21 1430618503
>>1430548
А ты ТОЧНА погуглил прежде чем этой хуйней заниматься? Не верю, чтобы тебе не давали функцию, с которой ты можешь получить желаемое или это не было на СО.
ну что-то вроде https://stackoverflow.com/questions/11564148/how-to-get-the-starting-base-address-of-a-process-in-c наверное

я бы свои слова проверил, чтобы глупую хуйню не спиздануть и не ПОКАЗАТЬСЯ ДУРАКОМ НА ВЕСЬ С++ ТРЕД, но я не виндоблядок
Аноним 09/07/19 Втр 04:12:49 1430625504
>>1430549
Выводить по таймеру, куда уж проще?
Аноним 09/07/19 Втр 10:54:53 1430790505
>>1430548
GetSystemInfo для того, чтобы узнать в каких пределах искать.
Затем итерируемся в пределах памяти приложения не по 1 байту , а по выделенному региону, границы, статус (MEM_COMMIT) и защиту (PAGE_NOACCESS, PAGE_READWRITE...) которого можно узнать через VirtualQueryEx. Внутри прочитанного региона ищем по какому нибуть умному алгоритму типа Бойера — Мура.
Аноним 09/07/19 Втр 14:05:45 1430957506
//...
std::string buf;

std::cout << "String: ";
std::getline(std::cin, buf);
std::istringstream ist(buf);
while ( ist >> buf )
//...
Можете объяснить этот кусочек кода?
А именно что значить - std::istringstream ist(buf);
while ( ist >> buf )
И можно как-то по-другому, написать последние 2 строки?
Аноним 09/07/19 Втр 14:08:13 1430961507
tumblrlqe9zq02s[...].jpg (55Кб, 463x498)
463x498
15000039318800.jpg (48Кб, 539x630)
539x630
14996130158400.jpg (28Кб, 500x500)
500x500
Помогите советом по C++/Qt. Есть встроенный в Qt пример - Editable Tree Model. Пытаюсь закрасить определенную ячейку в какой-нибудь цвет и сталкиваюсь с тем, что не понимаю как должны работать роли в Qt. Получается, что я должен через If() или switch() вручную обрабатывать Qt::Role, которые поступают вместе с вызовом TreeModel::setData(), чтобы записать данные. А затем также вручную их обрабатывать, когда я хочу их отобразить при помощи TreeModel::Data() ?
Аноним 09/07/19 Втр 14:14:17 1430963508
Что происходит при malloc и free? Ну понятно что выделяется/освобождается память, а что конкретно под этим подразумевается? Как ОС отличает занятую память от свободной, и как освобождается память, удаляется из какой-то виртуальной таблицы с адресами, или как? Не могу нагуглить ничего, выдает только какие-то советы для работы с поинтерами
Аноним 09/07/19 Втр 14:17:02 1430965509
>>1430963
> Что происходит при malloc и free?
Тоже самое что при int, double и тд.
Аноним 09/07/19 Втр 14:19:40 1430967510
>>1430965
Ты только первое предложение прочёл чтоль?
Аноним 09/07/19 Втр 14:20:50 1430969511
>>1430963
В конце K&R простая реализация есть.
Аноним 09/07/19 Втр 14:22:31 1430971512
>>1430969
>K&R
Язык программирования СИ?
Аноним 09/07/19 Втр 14:27:13 1430975513
image.png (20Кб, 472x118)
472x118
>>1430969
Нашел вот это, как-то тоже скомканно и абстрактно рассказано.
Начнем с того, что рассмотрим упрощенную схему организации памяти. Память типичной машины
представляет собой массив последовательно пронумерованных или проадресованных ячеек, с которыми
можно работать по отдельности или связными кусками. Применительно к любой машине верны следующие
утверждения: один байт может хранить значение типа char, двухбайтовые ячейки могут рассматриваться как
целое типа short, а четырехбайтовые — как целые типа long. Указатель — это группа ячеек (как правило,
две или четыре), в которых может храниться адрес. Так, если с имеет тип char, а р — указатель на с, то
ситуация выглядит следующим образом:
Аноним 09/07/19 Втр 14:29:10 1430976514
>>1430975
А всё, нашел. Спасибо анончик раздел 8.7 если кому нужно будет
Аноним 09/07/19 Втр 14:29:33 1430977515
>>1430963
В windows, грубо говоря, будут вызываться функции VirtualAlloc/VirtualFree. Как там работает их пул - хз, память не удаляется, а помечается как незанятая MEM_FREE. Можно глянуть MEMORY_BASIC_INFORMATION
Аноним 09/07/19 Втр 18:14:42 1431099516
>>1430548
Ну так ты на каждый байт стучишься в ядро, естественно это медленно. Сначала сделай выборку из нужных регионов через virtual query, далее читай весь нужный регион полностью в буфер через read virtual memory, далее ищи в нем совпадение.
Аноним 09/07/19 Втр 18:19:39 1431104517
>>1430977
Если мне не изменяет память, то выделяется хип. HeapAlloc/HeapFree.
Аноним 09/07/19 Втр 19:36:12 1431133518
3ca.jpg (151Кб, 1080x780)
1080x780
Полчаса пытался понять почему хеллоу, ворлд не работает - оказывается к clang забыл ++ дописать.
Аноним 09/07/19 Втр 19:55:45 1431135519
>>1431133
ой бля, я так однажды gcc вместо g++ пытался конпелировать, обосрался с лога stderr на 25 скринов
Аноним 09/07/19 Втр 20:15:10 1431147520
27c68908804913f[...].jpg (103Кб, 1080x1080)
1080x1080
10549701.jpg (43Кб, 640x494)
640x494
14257778627210.jpg (51Кб, 401x604)
401x604
>>1430961
Ну бамп же.
90ый тред по крестам. Неужели никто не работал с моделями в Qt?
Аноним 09/07/19 Втр 20:37:26 1431167521
Аноним 09/07/19 Втр 20:49:06 1431180522
Аноним 09/07/19 Втр 23:22:18 1431301523
image.png (7Кб, 451x386)
451x386
Создание вот такого te_2 для многострочной строки вне возможностей препроцессора, да?
Аноним 09/07/19 Втр 23:48:17 1431321524
>>1431133
Помню в студии пытался С++ код в .c файле написать. Часа 2 мучился.
Аноним 10/07/19 Срд 00:10:19 1431333525
Даже после написания такой хуйни
VirtualQueryEx(hProcess,(LPVOID)lpBaseAddress, &procInfo, sizeof(procInfo));
lpBaseAddress = (INT64)procInfo.BaseAddress;

lpBaseAddress равен 0
Аноним 10/07/19 Срд 02:02:08 1431399526
.png (209Кб, 851x353)
851x353
.png (6Кб, 208x62)
208x62
Нихуя непонятно, Qt платный или нет? Одни пишут бесплатный, на сайте тем не менее я вижу только триалы.
Аноним 10/07/19 Срд 02:16:30 1431406527
>>1431399
как же ты с кутями справляться будешь, если с сайтом не можешь? под жпл бесплатный прямым текстом написано https://www.qt.io/download
Аноним 10/07/19 Срд 09:36:04 1431462528
>>1431104
Грубо говоря, HeapAlloc свою очередь вызывает VirtualAlloc.
Аноним 10/07/19 Срд 14:06:24 1431563529
>>1431406
> под жпл бесплатный
Кстати, поясните насчет этой хуйни. Допустим кьют по гпл бесплатный. Могу ли я с его помощью создать прогу и продавать ее? Или нет?
На что вообще распространяется гпл в данном случае? Только на исходный код кьюта или же на все, что было написано с помощью него?
Или вот багтрекер есть один, redmine называется. Он тоже по гпл идет. Его можно использовать в коммерческих целях? Могу я его использовать бесплатно для багтрекинга своей программы, которую собираюсь продавать? Или нет?
Непонятная хуйня для меня.
Аноним 10/07/19 Срд 14:48:49 1431586530
>>1431563
Там чёрт ногу сломит. Очень много разных ньансов, с которыми нужно разбираться. Не зря же они у себя пишут:
Qt is licensed under a commercial and open source licenses (GNU General Public License version 3 and GNU Lesser General Public License version 2.1).

We want to make sure that you are fully aware of the license types of Qt and which is the correct one to use based on your development project. It is important that you are in the know of the requirements of developing under the GPL or LGPL. Learn about the LGPL requirements here and the GPL requirements here.

Questions about the Qt commercial license?
We recommend you contact Qt by Digia for more information on the Qt commercial license, what it enables and how you can start developing with it. Contact Qt by Digia.
Аноним 10/07/19 Срд 14:51:47 1431590531
Аноним 10/07/19 Срд 14:52:52 1431591532
>>1431563
твой вопрос про продажу говорит о том, что ты даже в гпл не разбираешься. из ресерча что я делал предыдущие с++ треды, можешь писать на кутях что угодно и продавать это, но по требованию должен предоставеть сорсы. даже не нужно их размещать пока не попросят.
Аноним 10/07/19 Срд 17:29:49 1431708533
>>1431591
Да? там же какая то хня с лицензиями на компоненты типа Chart и тд
Аноним 10/07/19 Срд 18:18:03 1431757534
>>1431708
я так понял, что эти компоненты вроде Chart, перечисленные в https://doc.qt.io/qt-5/qtmodules.html#gpl-licensed-addons это жпл3. а все остальные компоненты, перечисленные вверху - LGPL3 или GPL2.
>Note: For open-source licensed Qt, some specific parts (modules) are not available under the GNU LGPL version 3, but under the GNU General Public License (GPL) instead
Аноним 10/07/19 Срд 19:51:00 1431832535
Есть отдельные книги/чит-щиты по препроцессору в студии? Хочется что-то большее делать, чем #define #ifdef.
Аноним 10/07/19 Срд 19:58:39 1431838536
>>1431832
Они в любой книге есть
Аноним 10/07/19 Срд 20:58:36 1431883537
1433231752821.png (56Кб, 645x729)
645x729
Аноны, че то я в тупике.
Мне нужно вызывать диалоговое окно, в котором есть QLineEdit filePathLine с путем к файлу и кнопка browseButton, при нажатии вызывающая QFileDialog::getOpenFileName(). Все это внутри отдельного QDialog, который является дочерним для QMainWindow.
И вот, мне нужно сделать что то типа:
connect(browseButton, &QPushButton::clicked, this, &ImageEditor::browseCurrentFile);
connect(browseButton, &QPushButton::clicked, &filePathLine, QLineEdit::setText(currentFilePath));
Чтобы при нажатии на кнопку сначала вызывался метод browseCurrentFile, а потом менялся текст в QLineEdit. Метод browseCurrentFile должен будет вызывать QFileDialog::getOpenFileName() и записывать результат в глобальную переменную QString, а в QLineEdit и должна записаться эта глобальная переменная QString.
Какая то запутанная хуета получается, я что то не могу придумать решение.
На пикче я кстати.
10/07/19 Срд 21:19:39 1431890538
>>1431883
Ты же уже сам ответ написал. Хотя я бы не делал второй коннект, а обновлял бы строку в методе из первого коннекта
Аноним 10/07/19 Срд 21:27:42 1431897539
>>1431890
> Ты же уже сам ответ написал.
Он ругается на такой ответ, хотя я не вижу ошибку, вроде все логично.
> Хотя я бы не делал второй коннект, а обновлял бы строку в методе из первого коннекта
Я бы с удовольствием, но QLineEdit filePathLine - не глобальный, он существует только в области видимости QDialog, а QDialog лежит внутри слота openFile() моего QMainWindow. А метод из первого коннекта принадлежит - это тоже слот QMainWindow. Наверно вся проблема в дебильной архитектуре всего этого, но мне что то сегодня в голову не лезут правильные решения.
10/07/19 Срд 21:59:27 1431906540
>>1431897
Так перекинь всё в диалог и потом у него спрашивай, какой путь введен
Аноним 10/07/19 Срд 22:05:33 1431910541
>>1431906
Ты имеешь в виду создать отдельный хедер и cpp для QDialog?
Аноним 10/07/19 Срд 22:06:54 1431911542
>>1431838
>Хочется что-то большее делать, чем #define #ifdef
Аноним 10/07/19 Срд 22:46:05 1431926543
>>1431911
Ну хз. Я 12 штук насчитал у себя
11/07/19 Чтв 09:01:33 1432205544
Аноним 11/07/19 Чтв 11:18:53 1432281545
Читаю "Шаблоны c++. Справочник разработчика", вроде всё понятно, кроме одного: где это всё блять использовать. Можете описать юзкейсы метапрограммирования, если речь идёт не о создании библиотек? Вот в обычном приложении, скажем мобильное приложение с расписанием автобусов или что-то из своего опыта. Пытаюсь как-то практиковаться, но пока всё ограничивается примерами из книжки в 10 строк, а чего-то более серьезного не могу придумать.
Аноним 11/07/19 Чтв 12:36:49 1432319546
>>1432281

#if defined(__kitayskaya_zalupa)
...
#endif

#if defined(__another_chinese_zalupa)
...
#endif

Это единственный пример метапрограммирования, который тебе когда-либо понадобится в реальной разработке на крестах
Аноним 11/07/19 Чтв 12:55:12 1432327547
>>1432281
Но зачем? Пиши быдлокод и не выебывайся.
Аноним 11/07/19 Чтв 14:26:22 1432390548
Сууука. Помню спрашивал почему так долго память сканируется. А у меня задержка до 300 миллисекуд стояла хуй знает зачем. Наверное что бы успеть прочитатьтекущий адрес. Пизлец я лох
Аноним 11/07/19 Чтв 14:51:46 1432423549
Почему cheat engine нашел адрес, расположенный на 130 000 гигабайте. Как такое возможно?
Аноним 11/07/19 Чтв 14:57:20 1432433550
изображение.png (189Кб, 800x187)
800x187
Если верить пику то я смогу найти базовый адрес по дескриптору. Это правда?
Аноним 11/07/19 Чтв 15:05:08 1432455551
>>1432433
Дескриптор HMODULE, которого возвращает GetModuleHandle, будет равен base address
Аноним 11/07/19 Чтв 15:09:31 1432465552
>>1432319
если ты необучамый даун - то да.
Аноним 11/07/19 Чтв 15:20:50 1432472553
>>1432281
На шаблонах ничего в тысячи строк и не городят. Они нужны для того, чтобы решать сложные проблемы элегантно. Пихать их нужно только туда, где без них прям ну никак нельзя.
Аноним 11/07/19 Чтв 15:25:57 1432477554
Можно ли передать строку из Gen в Work1?
void Gen(int &gen) {
char arr1[] = "abcdefghijklmopqrstuvwzxy0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char arr2[10] = {};
int pars = 0;
int size = 4 + rand() % 5;
srand(time(NULL));
string dd= "ddddd";

for (pars = 0; pars < gen; pars++) {

for (int i = 0; i <= size; i++) {
arr2 = arr1[rand() % 62];
}
string fulldd = dd + arr2;
Work1(fulldd);
}

}
Аноним 11/07/19 Чтв 15:30:45 1432485555
>>1432477
>int &gen
Я чуть не лопнул.
Аноним 11/07/19 Чтв 18:15:06 1432569556
Аноним 11/07/19 Чтв 22:58:50 1432751557
>>1432472
Нет ну а вообще их используют где-то за пределами либостроения? Обычному студентику их использовать то и негде выходит, или как?
Аноним 11/07/19 Чтв 23:01:21 1432756558
>>1432751
Угу. Писать свой контейнер для каких-то специфических нужд, не более, и 90% возможностей описанных в той книге там всё-равно не потребуются.
Аноним 11/07/19 Чтв 23:03:38 1432760559
>>1432756
Грустно это как-то, вроде и звучит охуенно, и всё круто работает, но в итоге максимум пользы это чтение исходников без слишком большого ахуевания.
Аноним 12/07/19 Птн 00:12:55 1432815560
>>1432760
Мне кажется, эту фиготу добавили чтобы только чтобы сделать stl с нужными возможностями, это что-то на уровне около компиляторов языка, способ описать правила работы стандартной библиотеки - то есть то что это будет использовать кто-то ещё не подразумевалось. Но такая возможность всё-таки есть и он написал про это книгу.
12/07/19 Птн 00:32:45 1432822561
Аноним 12/07/19 Птн 02:04:17 1432873562
Аноним 12/07/19 Птн 07:31:15 1432905563
https://ideone.com/XvFenZ
В чем сакральный смысл отсутствия свапа для правых ссылок?
Аноним 12/07/19 Птн 08:19:28 1432916564
Аноним 12/07/19 Птн 13:24:20 1433183565
>>1432815
Не ну в целом согласен, но заменить stl на любую более-менее большую либу, и тогда норм. Буст тот же чуть ли не полностью на шаблонах написан.
Аноним 12/07/19 Птн 14:57:33 1433240566
int i=9;
int main() {
int i = 8,b=0;

while(b++!=1)
{
int i =7;
std::cout << i<< endl; // 7
std::cout << ::i<< endl;// 9
}
return 0;
}
Как вывести i=8?
Аноним 12/07/19 Птн 15:25:15 1433246567
Аноним 12/07/19 Птн 15:43:39 1433256568
>>1433246
Не, мне именно в цикле интересно.
Аноним 12/07/19 Птн 15:53:27 1433266569
>>1433256
По идее ты ее перекрыл, то есть никак.
Аноним 12/07/19 Птн 16:43:04 1433309570
while ((string::iterator ink = s.begin()) != s.end())
Где ошибка? В плане синтаксиса. ink подчеркнуто красным и !=
Аноним 12/07/19 Птн 17:31:49 1433349571
Аноним 12/07/19 Птн 17:55:43 1433367572
>>1433309
>Где ошибка?
Нельзя сразу объявлять переменную и сравнивать значение с ней. И написал хотя бы вывод компилятора. MSVC выдаёт:
>conditional expression of type 'std::_String_iterator<std::_String_val<std::_Simple_types<_Elem>>>' is illegal
То есть ожидает условие, а получил что-то невнятное.

Тебе нужно разнести:
>std::string::iterator ink = s.begin();
>while (ink != s.end()) { ... }
Аноним 12/07/19 Птн 19:20:45 1433445573
>>1433367
> Нельзя сразу объявлять переменную и сравнивать значение с ней.
С int все работало.
Аноним 12/07/19 Птн 19:28:04 1433448574
>>1433445
A если new добавить перед твоей строкой?
Аноним 12/07/19 Птн 19:37:26 1433450575
>>1433445
>while ((int x = 2) != 1)
Так? Не компилируется. Проверил Godbolt также и на gcc.
Да и какой смысл несёт эта строка? В начале каждого цикла ты создаёшь новую переменную, которая равняется begin(), и сравниваешь её с end()? Или ты хотел что-то типа цикла for, где можно в начале объявить переменную?
Аноним 12/07/19 Птн 19:46:36 1433454576
>>1433450
Вообще это странное решение, хз, зачем ему так. Но можно объявить static переменную, тогда должно сработать.

Но это ж в самом деле range-based for, смысл велосипеды строить.
12/07/19 Птн 20:06:33 1433464577
>>1433309
Дебич, переходи на 17 стандарт, там такое искаропки есть
Аноним 12/07/19 Птн 20:11:24 1433467578
Аноним 12/07/19 Птн 23:18:40 1433600579
15629617976610.png (2637Кб, 1045x1732)
1045x1732
15628972010060.png (967Кб, 768x960)
768x960
MibeHwlYJVM.jpg (100Кб, 931x1005)
931x1005
Есть код небольшого примера из книги М. Шлее - "Qt 5.10. Профессиональное программирование."
https://ideone.com/mYUbVa

В примере рассматривают создание класса-делегата. В нем есть функция-элемент:

QSize sizeHint(const QStyleOptionViewItem& option, const QModelIndex&) const
{
return QSize(option.rect.width(), 55);
}


Так вот, в самой программе прямого вызова sizeHint нет. Но эта функция точно отрабатывает, изменяя размер элемента из ListView. Вопрос - как так?

13/07/19 Суб 01:07:25 1433662580
>>1433600
Ты не врубаешься, как наследование работает? Полиморфизм там, все дела
Аноним 13/07/19 Суб 01:58:40 1433675581
>>1433662
Дело не в наследовании. Вопрос - откуда вызывается метод sizeHint(), если явного вызова в коде программы нет?
Аноним 13/07/19 Суб 03:33:51 1433686582
Перекат то будет?
Аноним 13/07/19 Суб 05:50:17 1433707583
Аноним 13/07/19 Суб 06:36:33 1433711584
Аноним 13/07/19 Суб 10:52:09 1433795585
>>1433711
Задам вопрос по-другому:
https://ideone.com/mYUbVa

Где, как и кем в этом коде происходит вызов SimpleDelegate::sizeHint()
?
Аноним 13/07/19 Суб 12:27:30 1433860586
Аноним 13/07/19 Суб 12:34:11 1433866587
Аноним 13/07/19 Суб 16:45:33 1434020588
>>1433600
Она виртуальная.
Её вызывают не из твоего кода, ты лишь меняешь поведение, перегружая её.

Такая фишка зовется - полиморфизм.
Аноним 13/07/19 Суб 16:48:13 1434024589
>>1429938
Да там свой цирк и свои клоуны есть.

Атмосфера та еще.

Но всё таки по доброму и помнишь наш Радар.
Аноним 13/07/19 Суб 17:15:19 1434044590
>>1434020
Но ведь у перегруженной функции будет то же самое название, не?
Аноним 13/07/19 Суб 17:36:28 1434053591
>>1434044
Должна быть точно такая же декларация (возвращаемый тип и тип и количество аргументов). В базовом классе помечается ключевым словом virtual.
Далее в С++ введено специальное ключевое слово - override. Не влияет на поведение программы, но если в декларации перегружаемой функции будет допущена ошибка - компилятор выдаст ошибку.
Аноним 13/07/19 Суб 18:13:28 1434095592
>>1434053
Имя-то то же самое останется, правильно? Следовательно где-то должен быть вызов функции по-любому, либо он скорее всего перепутал функцию.
Алсо по поводу перегрузки функций:
>Перегруженные функции не обязаны возвращать значения одинакового типа по той причине, что компилятор однозначно идентифицирует функцию по ее имени и набору ее аргументов. Для компилятора функции с одинаковыми именами, но различными типами аргументов — разные функции, поэтому тип возвращаемого значения — прерогатива каждой функции.
Аноним 13/07/19 Суб 18:26:15 1434110593
>>1434095
Имя конечно.

Мы говорим о разных вещах.
Есть перегрузка функции или метода - это просто одноименные функции с разными параметрами вызова и да - разными возвращаемыми значениями.

Касаемо перегрузки виртуальных функций - перегружаемый метод должен возвращать ковариантный тип.

Перегрузка просты функций
double sum(double, double);
int sum(int, int);

Перегрузка виртуальных функций
class A {
public virtual double sum(double, double) = 0;
};

class B: public A
{
public double sum(double, double) override;
}
Аноним 13/07/19 Суб 19:04:45 1434159594
Аноним 13/07/19 Суб 19:44:46 1434190595
>>1434159
Нахуя ты этот глючный cin/cout мусор используешь? Ставлю рарку, что там нужно что-то сделать с cin-ом, какой-то режим для него активировать, примерно так же, как для cout-а настройки форматирования дробных чисел можно поставить.
Поставь i=getchar() или i=cin.get() если так хочется вместо cin >> i
Настоятельно рекомендую залезть в файлы компилятора и удалить оттуда iostream, и никогда больше его не использовать.
Аноним 13/07/19 Суб 19:47:35 1434198596
>>1434110
А, понял, спасибо.
Все-таки мне кажется он просто функцию перепутал, там даже модификатор const стоит, а функция должна менять что-то у него.
Аноним 13/07/19 Суб 19:47:45 1434199597
>>1434190
Си тред в другой стороне.
Аноним 13/07/19 Суб 20:10:43 1434217598
>>1434159
using namespace std забыл.
Ну и EOF разве для буфера подходит?
Аноним 13/07/19 Суб 22:45:29 1434398599
Не знаю куда еще писать, подскажите как написать регулярку чтобы достать символ именно один символ,который находится между двумя другими символами.
Аноним 13/07/19 Суб 23:15:57 1434452600
>>1434398
Другой символ(символ который надо достать)другой символ.
А там бэкреференсом вытаскиваешь его. Само выражение - это нулевая группа, первые скобки - первая и т.д. Вложенные скобки считаются после тех, в которых они сидят.
То есть ((x)y)(z):
0 группа: xyz
1 группа: xy
2 группа: x
3 группа: z
Аноним 14/07/19 Вск 00:25:30 1434505601
>>1434452
От души завтра напишу уже, сейчас уже голова не варит, но спасибо огромное
14/07/19 Вск 16:47:54 1435019602
>>1434398
Почему просто не найти подстроку XYZ?
Аноним 14/07/19 Вск 17:00:55 1435028603
>>1435019
так может у него символ переменный между двумя другими? иначе зачем ему вообще его доставать, если он его знает? ему наверняка нужно что-то вроде A(.)B или A([A-Za-z])B или A(\w)B и так далее
Аноним 15/07/19 Пнд 01:17:39 1435418604
Аноним 15/07/19 Пнд 12:11:15 1435604605
>>1435418
Надо бы сделать C+=2. С нормальным метапрограммированием. (даже лучше, чем в D). С нормальной моделью компиляции.
Аноним 15/07/19 Пнд 21:13:41 1436282606
1533185996931.jpg (47Кб, 960x640)
960x640
Почему у меня метод resize() QLabel-а не работает?
Пишу:
imageLabel->setPixmap(QPixmap::fromImage(currentFile.toImage()));
imageLabel->resize(2 * imageLabel->pixmap()->size());
А ему поебать, все равно рисует картинку такого же размера.
Аноним 15/07/19 Пнд 21:25:45 1436299607
Аноним 15/07/19 Пнд 21:37:19 1436305608
1484973692471.PNG (16Кб, 652x241)
652x241
Аноним 16/07/19 Втр 11:31:21 1436628609
Аноны, можете что-то посоветовать желательно книги для изучения устройства Unix-систем? Устал шарахаться от всяких терминов по типу shared memory или кэш процессора. Желательно что-то вводное, что просто расскажет об устройстве без сверхуглубления в детали, лишь бы мог понимать о чём люди говорят.
Аноним 16/07/19 Втр 16:22:51 1436842610
>>1436628
А причём тут Unix?
Таненбаума осилил уже?
Аноним 16/07/19 Втр 16:30:51 1436847611
>>1436842
Читал Таненбаума по сетям. По архитектуре стоит читать? Я сюда зашёл посоветоваться, чтобы зря 1к страниц не читать.
Аноним 16/07/19 Втр 19:39:30 1437011612
>>1436847
Стоит, если плохо понимаешь устройство комплюктерна.
Аноним 16/07/19 Втр 19:41:36 1437015613
1422524166705.jpg (96Кб, 640x640)
640x640
Аноним 03/08/19 Суб 14:51:22 1447391614
Зачем в объявлении указателя на функцию так дохуя скобочек?
Аноним 03/08/19 Суб 18:47:00 1447508615
>>1447391
потому что ты объявляешь не функцию, которая возвращает указатель на int, а указатель на функцию, которая возвращает int, очевидно же. Приоритет, ептить
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов