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

C++ тред

 Аноним 18/01/15 Вск 08:42:28 #1 №426100 
14215597483370.jpg
Прошлый утонул.
Аноним 18/01/15 Вск 09:52:32 #2 №426106 
>>426100
Где архив прошлого взять?
sageАноним 18/01/15 Вск 10:15:50 #3 №426109 
>>426106
http://arhivach.org/thread/48611/
Мог бы и своей головой подумать.
Аноним 18/01/15 Вск 10:16:56 #4 №426112 
>>426109

Почему ты злой такой, пидар?
sageАноним 18/01/15 Вск 11:35:16 #5 №426125 
>>426112
Пидор твой отец, чепуш.
Аноним 18/01/15 Вск 13:46:37 #6 №426142 
>>426100
Почему не return void?
Какая-то хуита.
sageАноним 18/01/15 Вск 14:11:55 #7 №426147 
>>426142
это потому что ты пидор.жпг
sageАноним 18/01/15 Вск 14:14:11 #8 №426149 
Проиграл с крестокретинов. Какой язык — такие пользователи.
Аноним 18/01/15 Вск 14:41:36 #9 №426159 
>>426149
Это хейтеры и неосиляторы провоцируют
sageАноним 18/01/15 Вск 17:30:13 #10 №426203 
>>426159
Разумеется, тот кто ответил на большую часть постов в предыдущем треде - хейтер и неосилятор. В этом не может быть сомнений.
Аноним 18/01/15 Вск 18:41:06 #11 №426219 
>>426109
Видел но там нет 2-3х последних постов в которых мне ответили, и нигде нет... А я не сохранил.

Продублирую вопрос:
Есть один класс в нем есть map

typedef struct NewStruct{
unsigned id;
} STRUCTAZAZA;
typedef map<size_t,NewStruct> NewType1;
class class1
{
NewType1 _mapStorage;
}

Как правильно организовать доступ к _mapStorage соблюдая инкапсуляцию, или просто нахер её и набыдлокодить прямой доступ к переменной класса?
Доступ из стороннего (не наследуемого класса)
Няша, кто отвечал мне ответь ещё раз!
sageАноним 18/01/15 Вск 18:58:20 #12 №426225 
>>426219
Сука, как ты заебал уже меня. Но ладно.
Короче, если тебе нужно только читать эту переменную, не меняя ее, то делаешь public метод:
const NewType1 &mapStorage() const { return _mapStorage; }
При этом возвращается ссылка, что позволяет избежать создания копии.
Если надо и читать, и изменять, то добавляешь еще один public метод:
void setMapStorage(const NewType1 &x) { _mapStorage = x; }
По сути это уже получится близко к тому, чтобы просто сделать _mapStorage приватной, но через метод правильнее (пока не вникай, возможно, в дальнейшем с практикой поймешь причину).
sageАноним 18/01/15 Вск 18:59:10 #13 №426227 
>>426225
>чтобы сделать публичной
фикс
Аноним 18/01/15 Вск 19:12:48 #14 №426237 
>>426227
Спасибо :3
Аноним 18/01/15 Вск 20:16:49 #15 №426253 
Помогите, я совсем у мамы тупенький...

FTPClient->TransferType = ftBinary;
if(SaveDialog->Execute())
{
FTPClient->Get(Listbox->Items->Strings[Listbox->ItemIndex],
SaveDialog->FileName+(Listobx->Items->Strings[Listbox->ItemIndex]), true, false);
ShowMessage("Готово");
}

хочу чтобы сохранялось как с браузера, чтобы имя уже было указанно.
sageАноним 18/01/15 Вск 20:31:15 #16 №426258 
>>426253
Что это за дрисня? Винапи?
Аноним 18/01/15 Вск 20:38:41 #17 №426261 
>>426258
забыл сказать, это с++ билдер
Аноним 18/01/15 Вск 20:42:00 #18 №426264 
>>426106
http://arhivach.org/thread/45477/
http://arhivach.org/thread/45651/
http://arhivach.org/thread/48611/

Вотъ
sageАноним 18/01/15 Вск 21:05:56 #19 №426269 
>>426261
Хорошо что сказал, а то я уж чуть было не начал помогать.
Аноним 18/01/15 Вск 21:08:41 #20 №426270 
>>426269
ну я же не по своей воле... так бы не стал бы таким зашквариваться
Аноним 18/01/15 Вск 21:38:13 #21 №426279 
>>426125

Послушай меня по большому счёту. Хочешь? Хочешь?
Аноним 18/01/15 Вск 22:54:10 #22 №426302 
>>426100
>>426142
Ебанулись? Должен быть
return 1
sageАноним 19/01/15 Пнд 02:24:22 #23 №426369 
>>426279
Хуй в рот ты хочешь.
sageАноним 19/01/15 Пнд 03:39:53 #24 №426385 
>>426302
кто тебе сказал, что их жизни были ошибкой?
 Vpp 19/01/15 Пнд 06:10:26 #25 №426396 
Первый день тут, надеюсь с 8275 раза в тот тред запостил. Мне нужно выполнить следующую задачу:
Взять из файла текст (слова, разделённые знаками препинания и пробелами) и сдвинуть буквы, в каждом слове, влево или вправо, на n символов. Результат записать в файл.

Есть подозрения, что это самый низ и уже существует много готового кода. Собственно нужна помощь (подробный алгоритм действий, ссылки на похожие задачи или даже куски кода).
Сейчас даже не могу из файла вытянуть текст в массив=(
Студент 1 курса, изучаю C++ вот уже 2-3 дня.
Аноним 19/01/15 Пнд 06:22:19 #26 №426399 
>>426396
Даже если существует функция "взять текст из файла и сдвинуть символы влево", суть твоего задания в том, чтобы написать аналог этой функции самостоятельно.
sageАноним 19/01/15 Пнд 07:46:05 #27 №426406 
>>426396
Читай учебник, хуесос тупой. Тут помогают с проблемами в програмном коде, а не генетическом.
 Аноним 19/01/15 Пнд 07:50:48 #28 №426407 
>>426399
Это верно. У меня нет намерения выполнить всё одной функцией. Ситуация такая, что я не знаю как подойти к вопросу. Я 2 раза перечитал методичку и какие-то кусочки мозаики имеются, но как реализовать их я не знаю. Мне до сдвига ещё нужно добраться. Сейчас пытаюсь понять, как вытянуть строку из файла, для того чтоб можно было дальше ей манипулировать. Как-то так.
sageАноним 19/01/15 Пнд 07:56:47 #29 №426408 
>>426407
Преподу передай что он тоже хуесос, раз по его ссаной методичке ничего не понятно. Хотя скорее всего вы оба долбоебы.
 Аноним 19/01/15 Пнд 08:06:42 #30 №426411 
>>426408
Сокращённая программа обучения, вечернего отделения. Около 20 часов лекций. Вот и думай.
sageАноним 19/01/15 Пнд 08:27:55 #31 №426412 
>>426411
Такая программа подразумевает, что ты будешь большую часть изучать самостоятельно. Учебник бери и приступай.
Аноним 19/01/15 Пнд 08:44:10 #32 №426415 
>>426396
>сдвинуть буквы, в каждом слове, влево или вправо, на n символов
Что это значит? Движение относительное, если ты все сдвинешь на n символов, то нихуя не поменяется.
sageАноним 19/01/15 Пнд 10:09:23 #33 №426427 
>>426415
Думаю у него там циклический сдвиг, типа "huy" -> "uyh", хотя вообще да, не очень понятно, что ему надо.
Аноним 19/01/15 Пнд 10:52:20 #34 №426441 
>>426100
Платиновый вопрос: как правильно начать сразу с c++11? Входные данные: достаточно глубокое понимание железа, программирования в целом, но большой опыт в основном пхп/питон/жабаскрипт. Трогал хаскель, даже что-то работало, немного делал коммиты на С++ в большие проекты, STL использовал, почему пойнтеры после realloc херятся знаю, сортировки написал. Вроде бы всё понятно и просто, функции-типы-классы, но нет уверенности, язык не стал инструментом, пока только как препятствие. Хотелось бы чтобы всё по хардкору, складно, непротиворечиво, внятно, коротко и по делу. Есть такие книги/туторы/волшебные таблетки? Стандарт читать нунахуй.
Аноним 19/01/15 Пнд 10:56:31 #35 №426443 
14216541910950.jpg
> Стандарт читать нунахуй.
Аноним 19/01/15 Пнд 10:57:59 #36 №426445 
>>426443
Он разве не tl;dr? Я как-то пытался вебстандарты читать, понял что гиблое дело.
sageАноним 19/01/15 Пнд 12:13:27 #37 №426474 
14216588073690.png
>>426441
http://rutracker.org/forum/viewtopic.php?t=4123652
Алсо, пикрелейтед - фичи C++11 относительно предыдущего стандарта.
Аноним 19/01/15 Пнд 13:29:02 #38 №426494 
>>426443
Но ведь стандарт пишут для разработчиков компиляторов.
Аноним 19/01/15 Пнд 18:23:17 #39 №426604 
>>426225
А ну-ка поясни мне.
Почему ты возвращаешь ссылку? Нужно возвращать по значению. Ну вызовется один раз конструктор, да. Но зато не будет такой такого, что какой-нибудь пидор изменит значение в этой ячейке памяти.
Аноним 19/01/15 Пнд 18:29:32 #40 №426605 
>>426604
>Ну вызовется один раз конструктор, да.
Представь, что ты возвращаешь какой-нибудь контейнер с хулиардом элементов. Такой конструктор копирования будет очень долго работать. А если ты эту функцию ещё и в цикле вызываешь, а?
>Но зато не будет такой такого, что какой-нибудь пидор изменит значение в этой ячейке памяти.
Не изменит, там же возвращается константная ссылка.
sageАноним 19/01/15 Пнд 18:39:38 #41 №426608 
>>426605
На самом деле может изменить через const_cast,, но это уже на его совести.
А ты >>426604 соси хуй, пока интеллект не повысится.
Аноним 19/01/15 Пнд 19:13:25 #42 №426614 
>>426494
Читать его нужно для прояснения спорных моментов и понимания устройства языка.
Обычно, такое нужно с уровня regular developer. Senior и выше уже хорошо ориентируются в стандарте.
 Аноним 20/01/15 Втр 07:18:50 #43 №426761 
>>426441
По задачке из этого поста.

Считывать и записывать в файл научился. Вопрос: как вывести в string? Я пытался сделать тип char, но он так понял с ней не совместим. Записать в массив получилось(просто создал заведомо больший массив), но толку от этого на практике нету. Собственно вопрос: как записать из файла в строку?
Вот код. И сразу по поводу библиотек - знаю что тут 100% есть лишние, но старался подключать всё, что могло понадобиться.
Код добавлю в следующим посте, не получается из-за какого-то слова из спам листа.
 Vpp 20/01/15 Втр 07:21:28 #44 №426762 
ifstream fin;
fin.open("tfi.txt");
if (!fin.is_open())
{
cout << "Такого файла не существует!";
return -1;
}
sageАноним 20/01/15 Втр 07:43:25 #45 №426763 
>>426761
>>426762
Тебе уже все сказано. Иди на хуй.
Аноним 20/01/15 Втр 13:21:30 #46 №426826 
14217492909500.jpg
14217492909551.jpg
14217492909572.jpg
>>426441
Аноним 22/01/15 Чтв 05:16:09 #47 №427593 
>>426762
Лучше в конструктор путь файла пихать сразу, читабельнее, и нет вероятность, что будет вызваны дефолтные конструкторы внутри класса.
Хотя я не знаю как реализован ifstream, думаю, нормальные С++ погроммисты поправят, если не прав.
Типа
ifstream file(path);
if (!file.is_open()) return -1;

Аноним 22/01/15 Чтв 05:24:33 #48 №427594 
>>426761
fstream file("1.txt");
if (!file.is_open()) return -1;
string data((istreambuf_iterator<char>(file)), (istreambuf_iterator<char>()));

cout<<data<<endl;

Мне кажется, что это лучший вариант. И работает достаточно быстро.
Если не прав, то пофиксите, пожалуйста.
Аноним 22/01/15 Чтв 05:25:10 #49 №427595 
>>427594
>ifstream file(file_path);
Аноним 22/01/15 Чтв 08:48:46 #50 №427616 
Посоны, тред лень читать. Какой компилятор и ide норм под винду, студию не предлагать.
sageАноним 22/01/15 Чтв 09:12:19 #51 №427620 
>>427616
TvojaMamka++ и PHPStorm.
sageАноним 22/01/15 Чтв 09:14:19 #52 №427621 
>>427594
std::ifstream f("hooy");
if (!f.is_open()) return EXIT_FAILURE;
std::string s;
f >> s;
А у тебя какое-то раскоряченное нечитаемое говно.
Аноним 22/01/15 Чтв 14:15:18 #53 №427680 
>>427616
студия
Аноним 22/01/15 Чтв 17:20:32 #54 №427758 
>>427616
qt-creator и тот компилятор, который с ним поставляется (вроде g++)
Аноним 22/01/15 Чтв 20:17:02 #55 №427893 
>>427621
f >> s; - чтение до пробела. А не всего файла, бро.
std::string s; - вызов дефолтного конструктора, к-й тебе нахуй не нужен тут.
sageАноним 22/01/15 Чтв 20:25:40 #56 №427912 
>>427893
Ок, с первым обосрался, не прочел доки. Даже представить не мог, что кто-то может придумать такое бредовое поведение.
А вот на второе глубоко насрать. Даже при использовании SSD затраты на вызов конструктора пренебрежимо малы по сравнению с чтением файла. Зато код читабельнее.
Аноним 22/01/15 Чтв 20:39:56 #57 №427939 
>>427912
Ну а какой, по твоему, оптимально удобный и читаемый способ прочесть весь файл в строку?

Учитывай, что сначала потребуется узнать размер файла, дабы не перевыделять память сотню раз. В то время, как передавая в конструктор выделение будет сразу, через std::distance.
sageАноним 22/01/15 Чтв 20:54:00 #58 №427959 
>>427939
Учитывая уебищность реализации оператора >> видимо, никак, да.
Аноним 22/01/15 Чтв 21:01:10 #59 №427964 
>>427959
На самом деле можно поставить флаги на игнор пробелов и переходов на новые строки. Тогда будет читаться file>>string.

Но это медленней, чем istreambuf_iterator. Т.к. никаких проверок, типа пробелов и т.п. нет.

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

vector<string> data((istream_iterator<string>(file)), (istream_iterator<string>()));
Вот так, например.

Может где-то не прав, но это быстро и читабельно вполне, при знании STL.
А так всегда рад узнать хорошие способы сделать что-то по другому.
sageАноним 22/01/15 Чтв 21:08:57 #60 №427972 
>>427964
Да глупо это, оператор >> должен тупо считать весь файл в строку без всяких проверок. Хз каким местом там думали.
Алсо, нахуя скобки вокруг istream_iterator<string>(file)?
Аноним 22/01/15 Чтв 21:28:30 #61 №427991 
>>427972
Тут прости, не подскажу.
Есть вариант, что без скобочек он будет считать второй параметр (istreambuf_iterator<char>()) будет считаться как просто объявление переменной.
Но это мои догадки, может и не прав.
Аноним 22/01/15 Чтв 21:29:16 #62 №427993 
>>427991
А в пакете карп в пакете. Чот я совсем уже ебанулся.
sageАноним 22/01/15 Чтв 21:41:52 #63 №427998 
>>427991
Чет ты хуйню городишь.
vector<string> data(istream_iterator<string>(file), istream_iterator<string>());
прекрасно работает.
Аноним 22/01/15 Чтв 21:54:23 #64 №428002 
>>427998
С istreambuf_iterator<char> нет. Я про чтение в строку. С стрингом и так всё ок. Это да.
sageАноним 22/01/15 Чтв 22:03:42 #65 №428008 
>>428002
Чет я не догоняю, о чем ты говоришь. Я про скобки вокруг istream_iterator<string>(file) и istream_iterator<string>(), а ты про что?
Аноним 23/01/15 Птн 18:32:01 #66 №428334 
Посоны, помгите. Что я не так делаю?
http://ideone.com/XBKdid
Он же должен унаследовать все конструкторы.
sageАноним 23/01/15 Птн 18:42:09 #67 №428344 
>>428334
Конструкторы не наследуются. Вообще никак. Надо их определять вручную в каждом классе-потомке. Самого это ужасно раздражает.
Аноним 23/01/15 Птн 18:50:31 #68 №428346 
>>428344
Ну ладно, накидаю свой через инитиализер лист.
Аноним 23/01/15 Птн 19:48:26 #69 №428367 
>>428344
Шёл 2015 год.
sageАноним 23/01/15 Птн 20:23:53 #70 №428381 
>>428346
>>428367
http://stackoverflow.com/questions/347358/inheriting-constructors
Юзай C++11 короче.
Аноним 03/02/15 Втр 21:19:56 #71 №432727 
Поясните начинающему крестопетуху, почему в приведенном примере ни copy-конструктор, ни move-кщнструктор не вызывается?
Т.е. в моем понимании, для С++98 должен вызываться в этой ситуации копи-конструктор, а для С++11 - move-конструктор.
http://pastebin.com/AkWcth1z
Аноним 03/02/15 Втр 21:47:37 #72 №432736 
>>432727
Вроде разобрался, компилятор выоптимизирует вызов конструкторов нахер.
Аноним 03/02/15 Втр 23:32:41 #73 №432774 
>>432736
Это называется Return Value Optimization.
Аноним 03/02/15 Втр 23:33:46 #74 №432775 
>>432727
Кстати у тебя move конструктор не правильный. Его аргумент не должен быть константным.
Аноним 04/02/15 Срд 02:22:25 #75 №432838 
>>428367
Точно, а это еще в 11 году добавили.
sagesage sage 04/02/15 Срд 05:41:23 #76 №432855 
По4ему, блять, С++ такой, сука ВОНЮ4ИЙ? ЕКСТЕРНАЛ ЛИНКЕД ЕРОР))) АНРЕСОЛВЕД ЛУНКЕД СУМБОЛ)))))) один ЭКСТЕРНАЛ, блять, ОХУИТЕЛЬНЕЕ другого.
Почему, блять, ебучий СТРУСТРУП и КОМПАНИЯ™ фокусируются на всяком говне, но не могут сделать нормальную линковку в языке? Почему у языка нету единой реализации? Почему С++ такое говно?
sageАноним 04/02/15 Срд 08:18:35 #77 №432873 
>>432855
Это все для того, чтобы долбоебы типа тебя туда не лезли.
Аноним 04/02/15 Срд 09:29:15 #78 №432877 
>>432775
Согласен, спасибо. (например, чтобы менять на nulptrl указатели, которые мы перемещаем из rvalue-объекта).
Аноним 04/02/15 Срд 09:35:06 #79 №432880 
>>426826
Кстати, за второй пик.
Сегодня напоролся. Нормально за с++11 поясняет?
Первое издание читал, офк.
sageАноним 04/02/15 Срд 09:40:41 #80 №432882 
>>432880
Нахуя вы эти книги пачками читаете? Больше практики и все само придет, ничего там такого уж охуенного нет, в книгах этих. Многие решения вообще крайне сомнительны. То, что их умеют грамотно и к месту применять авторы, не значит что другим они тоже подходят. У всех свой стиль, как и в литературе, например.
sageАноним 04/02/15 Срд 09:47:51 #81 №432884 
>>432882
Ну, просто стандарт лучше детальнее прочту. Я читаю обычно только по тому, что интересует.
тем более там материал занимает 60 страниц(скачал только что).
Заранее прошу прощения за сажу, мне лень ее отключать. Спокойной ночи.
Аноним 04/02/15 Срд 10:08:31 #82 №432886 
>>432774
Пидорское говно, нарушающее as-if принцип
Аноним 04/02/15 Срд 11:43:54 #83 №432903 
>>427616
>студию не предлагать.
Почему?
Аноним 04/02/15 Срд 17:53:33 #84 №433056 
>>432886
Это можно легко выключить, если тебе так не нравится.
Аноним 04/02/15 Срд 18:56:12 #85 №433090 
>>432727
потому что если хотел предсказуемого поведения, то надо было писать на Pure C.
Аноним 04/02/15 Срд 19:26:22 #86 №433106 
>>426100
На пикче наверное должно быть "I made their lives ...".
sageАноним 04/02/15 Срд 19:41:03 #87 №433115 
>>433106
Слишком жестоко.
Аноним 04/02/15 Срд 21:33:17 #88 №433146 
Приложение генерирует картинки. Генерирует быстро, от 10 до 500 в секунду.

Мне нужно из картинок получить .avi файл. DitrectShow подойдёт? Там есть всё нужное?
Аноним 04/02/15 Срд 21:41:21 #89 №433147 
>>433106
Автор пикчи вообще не шарит. return 0 - это мирное, удачное завершение.
Проблемы с кроссплатформенностью Аноним 04/02/15 Срд 22:11:28 #90 №433155 
У меня проблема с кроссплатформенностью. Пилю одну тулзу для поиска объектов на видео с использованием OpenCV.
При этом под виндой и линуксом вызов опенцвшного метода выдает разные результаты. Совсем чуть-чуть разные, отличаются в 14 знаке после запятой. Такое впечатление, что виндовая версия имеет чуть меньшую точность - разница как раз выглядит как округление. То есть под линуксом я получаю
1.07159721374511718750000000000000e+02
а под виндой
1.07159721374511720000000000000000e+002

Нужно чтобы результаты были одинаковы. Что может быть причиной?

Под виндой компилю 2010 студией, под линуксами gcc 4.6.3
OpenCV в обоих случаях собран из исходников там же.

ЧСХ, джава-версия, работающая с opencv через jni, выдает одинаковые результаты на обеих платформах. Так что я даже не знаю что думать, ведь если бы проблема была внутри нативного кода опенцв, то она проявлялась бы и под джавой.
Аноним 04/02/15 Срд 22:11:36 #91 №433156 
>>432855
Потому что Name Mangling делает линковку ущербной и ломает ABI, но кресты такие by design, откажись от перегрузки функций и операторов и будет тебе щастье
Аноним 04/02/15 Срд 22:13:06 #92 №433157 
>>433155
компилируй на винде с помощью MinGW, у студии компилятор древнее говно мамонта
Аноним 04/02/15 Срд 22:22:37 #93 №433162 
>>433155
ещё, кстати, в винде libc содержит сюрпризы, и ведёт себя не всегда в соответствии со стандартом(например, позволяет извлекать квадратные корни из отрицательных чисел, вместо того, чтобы вернуть EDOM)
Аноним 04/02/15 Срд 22:39:13 #94 №433168 
>>433162
В винде есть Win32 API. Нахуй мне это скучное однообразное говно libc?
Аноним 04/02/15 Срд 22:41:29 #95 №433169 
>>433168
ты думаешь Win32 API не использует libc?
Аноним 04/02/15 Срд 22:44:42 #96 №433171 
>>433169
Использует. Но если так, то, наверное, майкрософтовцы для чего-то так сделали, что libc не так работает? Может, так нужно для винапи.

А если нет винапи - то и с самым идеальным libc хочется заняться чем-то другим, кроме программирования.
Аноним 04/02/15 Срд 22:49:57 #97 №433173 
>>432886
>>432886
Нет, это ты пидорское говно, которое не умеет читать стандарт. Там явно перечислены случаи copy elision. И вообще если объект действительно не перемещается, то какого хуя он должен создавать побочные эффекты? Если ты на это рассчитываешь — у тебя проблема с дизайном. Алсо мув конструктор и прочие друзья будут вызваны если объект действительно будет перемещен.
Аноним 04/02/15 Срд 22:52:48 #98 №433175 
>>433171
С glib2/boost и OpenGL/SDL можно жить и без WinAPI.

Хотя, если честно, то WinAPI самый вменяемый из фреймворков что есть в стандартной поставке с виндой.
Аноним 04/02/15 Срд 23:00:36 #99 №433180 
>>433157
>у студии компилятор древнее говно мамонта
но не старше твоей мамаши-шлюхи же
Аноним 05/02/15 Чтв 00:15:50 #100 №433221 
>>433175
>glib2/boost
>OpenGL/SDL
Так нормальные люди идут в программирование не потому, что хотят заработать или это модно, а потому что им это интересно. И я совершенно не понимаю, что может быть интересного в программировании с теми библиотеками, что ты назвал. Да, жить можно, но это не жизнь, после часа хочется бросить программирование от безысходности.
Аноним 05/02/15 Чтв 12:43:58 #101 №433405 
>>433221
Не, ну SDL няшен, просто делает что сказали. Остальное говно, да.
Аноним 05/02/15 Чтв 12:57:20 #102 №433410 
>>426100
чо мне делать хачу русек в сонсольке
сам в GCC на сперме сежу
помогите пжлста
оче нада
Аноним 05/02/15 Чтв 13:48:44 #103 №433424 
>>433410
говарят типо библеотека есть utf8.h
Аноним 05/02/15 Чтв 14:25:29 #104 №433433 
>>433410
пошли нахуй пидары
от вас зимой снега недождёшься
setlocale( LC_ALL,"" );
Аноним 05/02/15 Чтв 22:18:57 #105 №433618 
14231639378410.jpg
>>426219
>C++
>typedef struct ... { ... } ...;
Аноним 05/02/15 Чтв 23:22:07 #106 №433639 
14231677279060.png
>>433169
И где?
sageАноним 08/02/15 Вск 18:44:27 #107 №434849 
>>433155
Что-то подобное было, но там была другая библиотека, шарп (хотя внутри скорее всего те же плюсы) и шиндоус 7,8.
Аноним 08/02/15 Вск 23:19:56 #108 №434972 
14234267964340.jpg
Учу с++ по старым книгам и на Ubuntu. Книга по которой учу для devc++(windows). компилятор g++ gcc версия 4.6.3.
Не пойму как инициализировать в объекте статичный член static ( не static const)?

когда пытаюсь обратится к статичному члену получаю ошибки
g++ -Wall -o "staticclassmember" "staticclassmember.cxx" (в каталоге: /home/cxx)
/tmp/ccm1AmMf.o: In function `main':
staticclassmember.cxx:(.text+0x24): undefined reference to `Student::noOfStudents'
collect2: выполнение ld завершилось с кодом возврата 1
Сборка завершилась с ошибкой.
Аноним 09/02/15 Пнд 00:04:36 #109 №435004 
14234294763540.jpg
>>434972
мимо-гвидо
Аноним 09/02/15 Пнд 11:09:57 #110 №435110 
>>434972
http://ideone.com/tBLuR1
Аноним 09/02/15 Пнд 11:53:53 #111 №435117 
14234720333740.jpg
>>435110
int A::b = 10;
т.е. static данные всегда публичные? Они существуют даже без инициализированного объекта? Я уже думал в стандарте какие изменения появились.
Аноним 09/02/15 Пнд 12:02:00 #112 №435118 
>>435004
создатель Pythonа же.
Аноним 09/02/15 Пнд 13:02:25 #113 №435133 
>>435117
Нет. Приватные тоже так иництализируются, но доступа к ним вне класса нет
Аноним 09/02/15 Пнд 17:50:56 #114 №435210 
окна C::B mingw4.7
компилю пустой консольный exe (int main return 0;) 7кб релиз.

однако если присутствует #include <iostream>, то даже без вызова cout релиз становится 467кб

пробывал:
-s
-Os
-fno-rtti
-fno-exceptions
-ffunction-sections
-fdata-sections
-flto

как не перебирай итог толще 400кб.. на то чтоб разобраться как использовать -shared-libgcc уже опустились руки, трое суток бесполезного гугления

читал мол, что если нет вызова функции принадлежащей заголовочному файлу, то код опускается ... вероятно #include <iostream> заставляет вшить целиком какую-то откомпилированную библиотеку или типо того, но как тогда правильно вызвать заголовочный файл?

Может и нормально, что программа с "стандартным для с++ вводом/выводом" весит минимум пол метра, но может есть тогда схожие по удобству альтернативы?
Аноним 09/02/15 Пнд 22:33:42 #115 №435307 
>>435210
>mingw
Это.
На винде качай студию и не выёбывайся.
Аноним 10/02/15 Втр 15:11:27 #116 №435447 
Привет всем в этом чятике. Я школьник, лежу дома на больничном, ощущаю острую потребность полезных свершений. В частности, хочу познакомиться с c++, понятное дело, не с нуля. Но проблема в том, что я совершенно не представляю, куда направить свои старания. Ведь ты не изучишь программирование по книжкам. Короче, что необходимо написать каждому сишнику, чтобы прийти к успеху. Алсо, помню какие-то рулеточки с набором "хеллоуворлдов" уровня калькуляторо в и конвертеров валют.
Аноним 10/02/15 Втр 19:39:06 #117 №435523 
14235863468770.gif
>>435447
Учи C++11 и STL. Пили свои реализации всяких структур данных, онанируй на красивый код.
Аноним 10/02/15 Втр 20:03:25 #118 №435538 
Доставьте пикчу-лайфхак "как правильно оформлять код"
Аноним 10/02/15 Втр 20:55:00 #119 №435561 
>>435538
class MOYKLACC : public NEMOYKLASS { public:
MOYKLACC(NEMOYKLASS RODICH = NULL) : NEMOYKLASS(RODICH) {}
~MOYKLACC() {}
/
VSE */
};
Аноним 10/02/15 Втр 20:57:23 #120 №435563 
>>435307
Хуле тебе мингвуша не нравиться?
Ты охуел что ли?

А как же свобода. А как же поебаться с make?
Ты чо, не труЪ что ли?
Аноним 10/02/15 Втр 21:46:31 #121 №435588 
>>435538
повышай плотность
вот и все
Аноним 10/02/15 Втр 21:48:01 #122 №435589 
>>435523
> Учи C++11 и STL
Это доки Страуструповские и иже с ним читать? Или есть что-то более научно-популярное?
Аноним 10/02/15 Втр 21:53:48 #123 №435592 
Посоны, в вашем гайде сказано, что кресты надо учить 8000 академических часов. Это как-то... Угнетающе. Блядь.
Аноним 10/02/15 Втр 22:15:43 #124 №435602 
>>435589
С++11 у Страуструпа ты вряд ли найдешь.
Хотя точно не знаю.

Начни хотя бы с обзорной статьи на хабре или wiki.
Аноним 10/02/15 Втр 22:16:35 #125 №435603 
>>435592
А то.
Тебе нужно знать все-все.

От union до лямд.

Учи учи.
Аноним 10/02/15 Втр 22:17:52 #126 №435605 
>>435602
Не, эти знания у меня уже есть. Всякие циклы, операторы ветвления я напишу без подсказок, но это же ни о чем, а дальше уже глаза разбегаются.
Аноним 10/02/15 Втр 22:20:00 #127 №435609 
>>435605
Ну что-то конкретно тебе интересно?

Мне вот графика. Я начинал сразу с OpenGL.

И кресты учитшь, и GLSL еще (который как бы диалект Си).
Аноним 10/02/15 Втр 22:21:30 #128 №435610 
>>435603
Да ну вас нахуй.
Аноним 10/02/15 Втр 22:24:25 #129 №435614 
>>435609
Окей. Допустим, я начинаю пилить графическую йобу на OpenGL. Банальный вопрос: есть что конкретное почитать или самому гуглить?
Аноним 10/02/15 Втр 22:24:56 #130 №435615 
>>435610
Ну тогда тебе в соседний тред к змеедушителям.

Они там тебя за утиную типизацию пояснят и по циклу в кортеже пустят. А потом еще и декораторов навесят, ну что бы совсем красиво.
Аноним 10/02/15 Втр 22:30:24 #131 №435623 
>>435614
Короч, есть книги по 2.0. Их мало, и ты найдешь их.
Но твоя цель - 3.0 минимум.
Инфы на русском очень мало.

Старой книги тебе хватит что бы понять за конвейер и как его программировать.

Дальше уже придется читать официальные доки на английском.
Аноним 11/02/15 Срд 00:22:06 #132 №435682 
>>435623
Нарыл этого парня. Фуфло или пойдет?
http://opengl-tutorial.blogspot.ru/p/blog-page.html
Аноним 11/02/15 Срд 00:48:08 #133 №435689 
>>435623
> 3.0
> Инфы на русском очень мало.

Но ведь уже 4.5 есть!
Аноним 12/02/15 Чтв 02:14:56 #134 №436132 
>>435682
пойдёт. по-моему это перевод antongerdelan.net/opengl
Аноним 12/02/15 Чтв 12:11:37 #135 №436196 
Братишки, ситуация следующая. У меня имеется матрица m x n значений int от 0 до 239. Я хочу считать её и создать 256-цветный .bmp файл градаций серого размером m x n.

Так вот, ну я создал тестовый файл .bmp 3 x 2 пикселя, открыл его HEX-редактором в notepad++ и ничего не понял, конечно же. Потом создал 2 монохромных файла из единственного пикселя 1 x 1, один чёрный, другой белый, два весёлых гуся. Отличаются, естественно, они на один один символ, который расположен ближе к концу файла.

Но это мне никак не помогает понять, что происходит. Кто-нибудь может привести кол для создания маленького bmp=файла?
Аноним 12/02/15 Чтв 13:15:41 #136 №436228 
>>436196
Там же шапка-хуяпка-заголовок, задающая битность, наличие RLE-сжатия и т. д. С бинарными форматами обычно долго разбираться, лучше возьми готовую библиотечку.
Аноним 12/02/15 Чтв 13:17:07 #137 №436232 
>>436196
Аутист ты вообще гуглил прежде чем эксперименты производить?
Аноним 12/02/15 Чтв 13:24:49 #138 №436238 
>>436228
>>436232
Ну да, гуглил. Что-то не ахти.

http://docs.opencv.org/search.html?q=bmp

далее по второй ссылке: http://docs.opencv.org/modules/highgui/doc/reading_and_writing_images_and_video.html?highlight=bmp

Но там bmp в тексте только один раз встречается. Вот я и прошу помочь, туда я вообще копаю или нет. Наверняка же хоть кто-то занимался этим.
Аноним 12/02/15 Чтв 14:04:27 #139 №436266 
>>436238
блять, ну вот и пользуйся opencv! или WinAPI. или еще хоть чем.
смотри, ты задаешь довольно тупые вопросы на дваче, но при этом надеешься самостоятельно реализовать чтение\запись формата bmp.
Аноним 12/02/15 Чтв 14:12:32 #140 №436268 
>>436266
Я тебе ещё раз повторю, что ctrl+f находит единственное упоминание bmp. Я не понимаю, где и что мне читать. Где? Что? Ладно, я конкретизирую вопрос. Пускай имеется массив

int[] twenty = {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5};

Хочу создать bmp файл градаций серого (0%255) размером 2 x 10. МОЖНО МНЕ ПРОСТО ПРИМЕР, ГОТОВЫЙ КУСОК КОДА? Уж как-нибудь разберусь, что там какая шапка значит.
Аноним 12/02/15 Чтв 14:50:57 #141 №436281 
>>436268
http://en.wikipedia.org/wiki/BMP_file_format
http://lmgtfy.com/?q=c%2B%2B+bmp+loader+example

Какой же ты aутист все-таки...
Аноним 12/02/15 Чтв 16:18:07 #142 №436304 
>>436281
Ну и? Куча говна по ссылке. Какие-то DWORD, windows.h и прочее говно. ЭТО ЧТО БЛЯДЬ ТАК СЛОЖНО? - Просто показать кусок кода, который через потоки пишет всё это дело.

Bytes 0-1: Magic word. It contains the letters 'B' and 'M'.
Bytes 2-5: Double word. File size.
Bytes 6-10: No idea. Leave this zeroed.
Bytes 11-14: Double word. Start of the bitmap.
Bytes 15-18: Double word. Size of the header. Normally set to 40. The header is considered to start at offset 15.
Bytes 19-22: Double word. Width.
Bytes 23-26: Double word. Height.
Bytes 27-28: Word. Planes. Must be 1.
Bytes 29-30: Word. Bits per pixel. You'll need this as 24.
Bytes 31-34: Double word. Compression. Leave it as zero.
Bytes 35-38: Double word. Compressed size. Since there's no compression, this value will be the same as file size.
Bytes 39-42: Double word. Horizontal resolution. See below.
Bytes 43-46: Double word. Vertical resolution. Pixels per meter, according to Wikipedia. The values seem to vary, but 2835 should do for both.
Bytes 47-50: Double word. Number of colors in the palette. Leave as zero.
Bytes 51-54: Double word. "Important colors". Leave as zero.
Bytes 55-EOF: Bitmap.

Вот я прошу пример КРОССПЛАТФОРМЕННОГО кода, который не использует никакого такого говна. Неужели непонятно? Знал бы я C++, я бы сам написал.
Аноним 12/02/15 Чтв 16:52:49 #143 №436311 
>>436304
ты неадекватный какой-то или зеленый, иди-ка лучше нахуй.
Аноним 12/02/15 Чтв 17:04:38 #144 №436318 
>>436311

Тут еще злой пидор есть, с эмейлом в нике. А этот еще ничего.
Аноним 12/02/15 Чтв 17:11:32 #145 №436323 
>>436311
Я неадекватный, потому что я банально не понимаю, что происходит. Ну вот приведу примеры ещё из гугления:
http://www.cplusplus.com/forum/beginner/4307/

Здесь байты 0 - 54 (55 байтов, верно?) отвечают за всякие хэдеры и прочее.

С другой стороны, вот здесь код:
http://stackoverflow.com/questions/2654480/writing-bmp-image-in-pure-c-c-without-other-libraries

FILE f;
unsigned char
img = NULL;
int filesize = 54 + 3wh; //w is your image width, h is image height, both int

Почему 54-то? Почему не 55? Вообще уже не воспринимаю.
Аноним 12/02/15 Чтв 19:48:34 #146 №436376 
>>436323
тебе ссылку дали даже на википедию, там структура BITMAPINFOHEADER описана, блять, последнее поле - оффсет 50, размер 4, сколько байтов, сука?
нет, хочу жрать говно!
sageАноним 12/02/15 Чтв 20:24:21 #147 №436396 
14237618612930.png
Написал борду на крестах (CppCMS+ODB+Qt+libcurl). Такие дела.
Аноним 12/02/15 Чтв 21:03:34 #148 №436424 
>>436396
ну чо, молодец, теперь перепиши всё на Си
Аноним 12/02/15 Чтв 21:13:35 #149 №436439 
>>436376
Ого, спасибки. Ну тогда разберём по частям, не мною написанное.

>Here is a C++ variant of the code that works for me. Note I had to change the size computation to account for the line padding.

http://pastebin.com/zu1WH6yt

>unsigned char file[14] = {
> 'B','M', // magic
> 0,0,0,0, // size in bytes

>...

>file[ 2] = (unsigned char)( sizeAll );
>file[ 3] = (unsigned char)( sizeAll>> 8);
>file[ 4] = (unsigned char)( sizeAll>>16);
>file[ 5] = (unsigned char)( sizeAll>>24);

Объясни, что за волшебство происходит здесь. Так подозреваю, что что-то связанное с
>All of the integer values are stored in little-endian format (i.e. least-significant byte first).
sageАноним 12/02/15 Чтв 21:14:03 #150 №436441 
>>436424
А потом на ассемблере.
Сложнее всего веб-парашная часть, кстати. Дизигн, CSS, вот это все. Больше всего времени потратил, и все равно кривовато отображается.
Аноним 12/02/15 Чтв 22:58:20 #151 №436494 
>>436439
>>All of the integer values are stored in little-endian format (i.e. least-significant byte first).

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

Аноним 12/02/15 Чтв 23:33:14 #152 №436509 
>>436494
Я не спрашивал, что такое формат записи числа, я спрашивал про синтаксис
>(unsigned char)( sizeAll ) (unsigned char)( sizeAll>> 8) (unsigned char)( sizeAll>>16) (unsigned char)( sizeAll>>24)

Что это вообще за >> и что оно делает.
Аноним 12/02/15 Чтв 23:50:49 #153 №436516 
>>436509
Уточню вопрос: почему побитовый сдвиг идёт на чар, а не на унсигнед инт8. C++ у нас в конце-концов или что?

Ну и по синтаксису поясните, не лучше ли через касты делать?
Аноним 13/02/15 Птн 00:30:04 #154 №436536 
>>436516
Char == int8
Аноним 13/02/15 Птн 00:31:03 #155 №436537 
>>436536
В большинстве случаев.
Аноним 13/02/15 Птн 09:48:52 #156 №436604 
>>426100
>return 0;
А что не так? Ведь это удачное завершение в Win32 API.
мимо_1С-ник.
Аноним 13/02/15 Птн 10:11:56 #157 №436607 
>>436604
>завершение
Аноним 13/02/15 Птн 10:33:25 #158 №436617 
>>436607
Но на оп-пике не нормальное завершение.
Аноним 13/02/15 Птн 11:03:17 #159 №436624 
>>436536
>>436537
Вы, ребят, издеваетесь наверно. Ни оидн ещё не овтетил на мои вопросы. Сами придумываете вопросы и сами на них отвечаете. Я спрашиваю, не лучше ли uint8_t вместо unsigned char, а вы мне говорите, что это почти одно и то же. А то я не знаю. Но стандарт BMP-шный пишется в определённое количество 8-битных байт. Стало быть, uint8_t лучше?

И синтаксис непонятен. Это уже вопрос чисто по языку. Вопрос тоже по кастам.

>file[ 3] = (unsigned char) (sizeAll>> 8);

Не лучше ли написать:
>file[ 3] = static_cast<uint8_t>(sizeAll>> 8);
Аноним 13/02/15 Птн 11:20:16 #160 №436635 
поясните за Джонс Рассел: Программирование ASP.NET средствами VB.NET , его нигде нет в открытом доступе
Аноним 13/02/15 Птн 12:23:10 #161 №436667 
>>436624
Это одно и тоже.
Си-каст сначала делает статик-каст.
Для uint8_t нужен отдельный хедер.

Чисто формально, для строгого указания на 8 бит нужно использовать uint8. Но общая практика показывает, что почти всюду используют unsigned char.
Аноним 13/02/15 Птн 12:24:17 #162 №436669 
>>436635
Туда ли ты зашёл, петушок?
Аноним 13/02/15 Птн 14:55:18 #163 №436720 
>>436669
кудах
Аноним 13/02/15 Птн 20:51:37 #164 №436887 
14238498973170.jpg
Посоны, объясните за умные указатели, те самые которые якобы делают плюсы недерьмом. Правда что они потокобезопасны? Это что значит что при каждом дереференсе дергается мьютекс? И во сколько раз тогда это медленнее обычного указателя? в 100? в 1000? Может тогда лучше сразу на гвидоне писать? Такое то "не нужно - не плати" охуеть просто.
Аноним 13/02/15 Птн 21:18:45 #165 №436894 
>>436887
shared_ptr потоко-безопасен на чтение из разных потоков. Как и обычный указатель. Никаких мьютексов там нет.
Но если где то есть запись, то нужна внешняя синхронизация - мьютекс или atomic.
Так что при корректном использовании никакой потери производительности нет.
За подробностями можешь сходить в гугл с запросом c++ shared_ptr thread safety.
Аноним 13/02/15 Птн 22:42:15 #166 №436947 
Быстрый вопрос. Мне даются на вход шахматные позиции в виде A5, E6
Как мне их лучше всего преобразовать в координаты элементов двумерного массива. На паскале бы я говнокод с ord'ами накатал, но ведь наверняка в таком классном языке есть короткие способы. Тем более под рукой сейчас только студия
Аноним 13/02/15 Птн 23:04:27 #167 №436950 
В чём отличие указателя от ссылки?
Аноним 13/02/15 Птн 23:11:05 #168 №436953 
>>436947
>координаты элементов двумерного массива
А координаты в каком виде?
Аноним 13/02/15 Птн 23:14:14 #169 №436954 
>>436953
Ну, банально. A1 - это [1][1]; C7 - это [7][3]
Кстати, встал еще один вопрос по ходу решения задачи. Как мне матрицу смежности для ходов коня по шахматной доске составить?
Аноним 13/02/15 Птн 23:33:52 #170 №436957 
>>436950
Ссылка это разыменованный всегда проиницализированный константный указатель.
Аноним 13/02/15 Птн 23:37:22 #171 №436959 
>>436954
Кастишь первый символ в char, вычитаешь 'А'. Второй символ можно преобразовать в инт через stoi и вычитаешь 1, а можно, как и первый, кастить в char и вычитать '1'.
Аноним 13/02/15 Птн 23:38:25 #172 №436960 
>>436959
Не забывай, что в с++ индексация с нуля.
Аноним 13/02/15 Птн 23:41:16 #173 №436962 
>>436960
Да, действительно. Спасибо
Аноним 13/02/15 Птн 23:48:26 #174 №436964 
14238605064570.jpg
Написал сейчас внутри мейна
double (f)(double) = [](double x) { return xx; };
cout << f(3) << endl;

И это говно взлетело, чего я совсем не ожидал. Понятия не имею как это работает, такое вообще правомерно писать?

Исправьте/поясните как нужно делать. В идеале задача очень простая, создать массив из N указателей на функции многочлены вида 1, x, x2, x3...
Аноним 13/02/15 Птн 23:53:02 #175 №436967 
14238607823370.jpg
>>436964
Звёздочки проебались, кину лучше скрин.
Поясните, как это работает? Эта лямбда-функция (или как её там) остаётся где-то в памяти? А f на неё ссылается? Как тогда нормально удалить указатели и всё в таком духе.
Аноним 13/02/15 Птн 23:54:43 #176 №436968 
>>436957

Спасибо
утром вникну и разберу по частям твой ответ
Аноним 14/02/15 Суб 00:12:01 #177 №436972 
>>436967
Это лямба функция, ты прав.
А вот double (звезда f)(double) это указатель на адрес начала функции.
Т.е. какой-то вариант, типа:
https://ideone.com/AVWKBi тоже работает, ибо ты берёшь именно адрес функции.
Обычно их хорошо оборачивать в typedef.
Например так:
https://ideone.com/tDD40w
Если что-то не так сказал, то поправьте.
А лямбду почитай в вики всяких. Это по сути та же функция.
Аноним 14/02/15 Суб 00:23:45 #178 №436977 
14238626253370.png
Не знал где написать, поэтому напишу здесь. В общем, анон, у меня проблема с структурами данных точнее с заданием: я знаю что есть векторные стек, очередь и дек и связные списки, графы и деревья. Так вот, анон, у меня задание написать ВЕКТОРНЫЙ СПИСОК. Что это такое и с чем его едят?
Аноним 14/02/15 Суб 00:47:10 #179 №436980 
>>436977
Это vector.
Аноним 14/02/15 Суб 01:03:15 #180 №436982 
>>436977
есть векторный список, есть связный
векторный - это vector, связный - это list
Аноним 14/02/15 Суб 01:11:37 #181 №436986 
>>436980
>>436982
Есть у вас код реализации минимальной add, delete? Я так понимаю это обычные массив с плюшками разными?
Аноним 14/02/15 Суб 01:23:55 #182 №436990 
>>436986
массив с динамической длиной
т.е. если добавляешь элемент, а места уже нет - выделяется новый кусок памяти (обычно по размеру равный текущему, умноженном на константу (1.5-2)), туда копируется все из текущей памяти, а потом все мочится в текущей и массив живет уже на новом месте, но со свободным хвостом. в stl-реализации capacity вектора никогда не уменьшается.
в остальном это обычный массив, непрерывным куском лежащий в памяти.
Аноним 14/02/15 Суб 01:40:28 #183 №436996 
>>436990
Спасибо
Аноним 14/02/15 Суб 10:05:01 #184 №437050 
>>436957

Понял!
sageАноним 14/02/15 Суб 19:09:12 #185 №437262 
14239301523520.png
Ну что же вы, хватит уже байты ебать, зацените борду. Не зря же я ее писал. Хотя кого я обманываю.
https://ololoepepe.me/board/b
https://github.com/ololoepepe/ololord
Аноним 14/02/15 Суб 23:25:39 #186 №437365 
>>437262
Норм. Не зря напилил.
Хоть и всем похуй, кроме твоего возросшего скилла и времени потраченного с интересом.
Я так же пили сайт для своего бота. Правда я пилил на апаче с CGI на крестах.
Аноним 14/02/15 Суб 23:37:17 #187 №437374 
>>437262
ты пидорас чтоли?
Аноним 15/02/15 Вск 00:33:21 #188 №437408 
14239496014560.jpg
>>437262
С кем я, блядь, сижу на одной борде?
sageАноним 15/02/15 Вск 09:06:11 #189 №437498 
>>437374
Нет. Пидора ответ, азазаззаза.
>>437408
Что не так то? Переоделся разок, поржали с пацанами.
Аноним 15/02/15 Вск 13:50:54 #190 №437557 
14239974541260.jpg
Распишите мне мастрид по C++, что читать кроме стандарта?
sageАноним 15/02/15 Вск 13:54:55 #191 №437558 
>>437557
Пиши код, блять. Заебали читуны. Просто бери и пиши код, гугля все непонятное. Голая теория ничего хорошего не даст.
Аноним 15/02/15 Вск 14:32:49 #192 №437576 
14239999696060.jpg
>>437558
Я не хочу быть такой макакой как ты блядь, я хочу знать почему при создании new int() мы получаем переменную с нулем внутри, а при int x с говном внутри, и еще много подобных мелочей о которые ты будешь постоянно натыкатся и гуглить. Кокококудах теория нинужна иди нахуй.
Аноним 15/02/15 Вск 14:33:23 #193 №437577 
пасаны, выручайте. У меня проблема с консольным приложением. Хочу уметь загонять в вектор текст, состоящий из char'овых символов (принципиально char'овыми).
Есть ли аналог функциям gets(%имя символьного массива%) или cin.getline(%имя массива%, %его размер%). для векторов? Иными словами: нужно, чтобы программа после запуска приглашала пользователя на ввод текста (с пробелами) и текст этот записывала в тот самый безразмерный на данный момент чаровый вектор.
Аноним 15/02/15 Вск 14:35:22 #194 №437578 
>>437577
Тебе нужно чтобы введенный текст посимвольно был в векторе, кроме пробелов? Говори нормально блджад.
Аноним 15/02/15 Вск 14:45:15 #195 №437582 
>>437577
http://ideone.com/hU6sYS
Аноним 15/02/15 Вск 14:58:35 #196 №437588 
>>437578
не не, мне нужно, чтобы весь введенный текст (а текст может содержать пробелы), записывался в char'овый вектор, размер которого изначально не указан
Аноним 15/02/15 Вск 15:09:29 #197 №437589 
>>437588
>>437582
Аноним 15/02/15 Вск 15:16:43 #198 №437592 
14240026037680.jpg
>>437582
товарищ, либо я тупорылый, либо MVS не едет. Чо то у меня не пашет. пачму? =(
Аноним 15/02/15 Вск 15:20:06 #199 №437595 
>>437592
птамушта инпут незакончилсяя Ctrl+z Enter
Аноним 15/02/15 Вск 15:20:50 #200 №437596 
>>437595
ох нихуя себе, чо тут можно делать. спасибо за помощь
sageАноним 15/02/15 Вск 17:28:10 #201 №437625 
>>437576
Ты не запомнишь все эти мелочи без практического применения. А я столкнусь, нагуглю и запомню. Теория нужна для практики, без практики она на хуй не нужна. В универах вас учат матану не для того, чтобы умничать на бордах, а чтобы решать вполне практические задачи. И тут так же.
Аноним 15/02/15 Вск 19:08:29 #202 №437657 
14240165092740.jpg
>>437625
Я не предлагаю учить все это наизусть. У всех подобных неочевидных мелочей есть органичное обьяснение, вытекающее из истории языка.
А матан вообще для души, практических применений я пока не вижу.
Аноним 15/02/15 Вск 20:04:37 #203 №437681 
у меня крче второй семестр начался, и я вас тут всех заебу. опять трабл с консольным приложением: не могу в кейсе switch'a создать массив и заполнить его. в ходе выполнения программа просто пропускает операторы в нужном кейсе и завершает работу. пачму?
И еще, есть ли выгода объявлять переменные в кейсах switch'а, али память выделяется в процессе компиляции под все переменные, массивы и т.д вне зависимости от того, где они стоят??
Аноним 15/02/15 Вск 20:20:02 #204 №437692 
>>437681
Если у тебя выполняется несколько кейсов, то значит ты забыл про break;
Выделять память в кэйсах имеет смысл. Например для какого-то действия тебе нужен буффер.
Выделится она только в том случае, если этот кейс был активирован. По аналогии с функциями, только другая область видимости.
Аноним 15/02/15 Вск 20:21:10 #205 №437693 
>>437681
И лучше свой кидай. Например с https://ideone.com/ или пасты.
Аноним 15/02/15 Вск 20:22:00 #206 №437694 
>>437692
не не, break'и на месте, блок кейса, где объявляю массив char'овый и вызываю его заполнение gets'ом в фигурных скобках.
Аноним 15/02/15 Вск 20:26:25 #207 №437695 
>>437681
Запиши код case-ев в {}. Так ты создашь новый scope для каждого case-а.
Аноним 15/02/15 Вск 20:30:51 #208 №437696 
>>437695
не помогло
>>437693
https://ideone.com/fork/J2A0TN
Аноним 15/02/15 Вск 20:39:34 #209 №437702 
Каким компилятором вы пользуетесь?
Аноним 15/02/15 Вск 20:39:53 #210 №437703 
>>437696
Когда создаешь свое консольное приложение, выбирай пустое, и создавай main.cpp сам. Без stdafx.h. Всегда гугли C++ way вместо сишки. Единственный верный main - int main. Используй <string> вместо параши с strlen. Нахуя windows.h?
После того как я все это исправил case заработал нормально.
Аноним 15/02/15 Вск 20:41:05 #211 №437704 
>>437702
MinGW-w64, MinGW, GCC, Cygwin.

Для нек-х ПРОДЖЕКТОВ студийным.
Аноним 15/02/15 Вск 21:05:15 #212 №437716 
Инфята, начинающий прогер, как рисовать на С++, OpenGL нужен ли обязательно?
Аноним 15/02/15 Вск 21:08:27 #213 №437719 
>>437716
Чо несёшь, бро?
Что тебе рисовать надо?
Про движки слышал? Про формошлёпство?
Аноним 15/02/15 Вск 21:23:11 #214 №437728 
>>437719
Систему координат
Аноним 15/02/15 Вск 21:23:32 #215 №437729 
>>437719
Или например конфигурационная сетка и декартова система координат
Аноним 15/02/15 Вск 21:47:25 #216 №437738 
14240260454790.jpg
>>437728
>>437729
sdfgsdfg
Аноним 15/02/15 Вск 21:50:25 #217 №437741 
Посоны, надо напечатать длинную строку из частей. Что лучше - вызывать std::cout для каждой подстроки, или сначала склеить в один string, потом вызвать один раз std::cout?
Аноним 15/02/15 Вск 21:57:11 #218 №437748 
>>437741
Наверное, второе, предварительно string::reserve-ив длину склеенной строки.
Но не принимай на веру, я хуй.
Аноним 15/02/15 Вск 22:10:20 #219 №437759 
>>437748
внезапно
cout many strings: 1.176
cout long string: 1.127
cout long string reserved: 2.201
Аноним 15/02/15 Вск 22:13:25 #220 №437763 
>>437728
>>437729
Прости, я сначала не понял что ты имеешь в виду. Значит тебе нужно рисовать линии. Opengl не обязателен. Все зависит от того где ты будешь запускать свою программу. Проще всего будет взять какой нибудь кроссплатформенный движок типа SDL и нарисовать на нем.
Аноним 15/02/15 Вск 22:13:46 #221 №437765 
>>437759
Говорил же хуй.
sageАноним 15/02/15 Вск 22:39:36 #222 №437780 
>>437657
Ну все ясно тогда с тобой. mp3 кодируется, конечно же, не на основе матана, а исключительно при помощи святого духа. Ну, манямирки это дело личное, хуй с ним.
А объяснения проще загуглить, чем читать субъективное мнение очередного пропиаренного старпера. Какой бы он ни был охуенный, у него свой подход, а у тебя свой, и для тебя твой подход всегда будет лучше.
Аноним 15/02/15 Вск 22:52:32 #223 №437781 
>>437780
Какой подход, какой mp3, поехавший? Обьяснения можно загуглить, а можно почитать людей, которые сами пилили этот язык. Второе всяко лучше первого.
И да, когда мне понадобится кодировать в mp3, я возьму готовую билиотеку.
sageАноним 15/02/15 Вск 23:55:27 #224 №437795 
>>437781
Ты тупой? Я про применение матана.
Аноним 16/02/15 Пнд 00:58:12 #225 №437816 
Доброй ночи, снова выхожу на связь. Вопрос к тем кто знает (сталкивался на практике) или хорошо знает стандарт 11 стандарт. 11, подчёркиваю, как-никак 2015 год на дворе.

http://www.cplusplus.com/reference/ostream/ostream/write/

>ostream& write (const char* s, streamsize n);

Вопрос следующий: если передать параметр n == 0, то:

1) просто ничего не запишется;
2) кинется какое-нибудь ебанутое исключение или ещё что-нибудь;
3) что-то другое (что именно?).

Спасибо.
Аноним 16/02/15 Пнд 04:23:45 #226 №437862 
>>437816
Ничего не запишется
Аноним 16/02/15 Пнд 08:20:53 #227 №437876 
>>437795
Нет это ты тупой, пожуй говна.
sageАноним 16/02/15 Пнд 08:39:44 #228 №437879 
>>437876
Засчитано. Макака попытался оправдать подмену программирования чтением, но соснул, когда кукарекнул про неиспользование матана в жизни. Все, на хуй послан, чепуш.
Аноним 16/02/15 Пнд 09:33:03 #229 №437881 
>>437879
>работаешь с первого курса
>какой то чепушила который НИЛЮБИТ ЧИТАТЬ доебался на реквест литературы
>фантазирует и называет макакой
Все ясно с тобой.
Аноним 16/02/15 Пнд 09:37:27 #230 №437882 
>>437862
О, заебись, спасибо. Умеют же сделать для людей.
Аноним 16/02/15 Пнд 09:49:03 #231 №437885 
>>437816
зачем задавать такие вопросы или рыться в документации
стандартная библиотека - это обычная библиотека
подключаешь ее отладочную версию, в ide ставишь брейкпойнт на функцию и смотришь что у нее там в потрохах
ну либо просто переход к определению делаешь
sageАноним 16/02/15 Пнд 09:56:12 #232 №437886 
>>437881
Так я тоже работаю, со второго правда, в этом году диплом. И читать люблю, но не бесполезные простыни ака учебники, а краткие и по делу написанные статьи. Твой аргумент инвалид. Кем работаешь?
Аноним 16/02/15 Пнд 14:32:27 #233 №437935 
в чём преимущество String над string и наоборот?
Аноним 16/02/15 Пнд 15:00:52 #234 №437943 
>>437935
тем, что std::string - это часть стандарта С++, а String - я хуй знает, что такое, скорее всего, ты про какой-нибудь класс из MSVC++.
вообще не вздумай учить ничего сверх стандарта, пока нормально хотя бы с ним не освоишься. отключай в компиляторе все свистоперделки, которые не являются стандартом.
Аноним 16/02/15 Пнд 15:10:24 #235 №437945 
>>437886
Уборщицей js-макака.
ПЛАТИНА Аноним 16/02/15 Пнд 16:29:03 #236 №437974 
Господа, платиновый вопрос в треде. Обгуглился-обстэковерфлоуился досыта, приемлемого решенря не получил. Суть вопроса: я капризная манька, которая хочет, чтобы функция возвращала указатель на созданный в ней же массив, который инициализируется через { ... , ... } в момент объявления (я так хочу).

Есть вариант решения: static перед объявлением. Рабочий вариант, но тут начинаются философствования на тему "оно же не сотрётся из памяти, как же не сберечь байтиков-то".

Имеются ещё тривиальные варианты, кроме хитровыебанных паттернов в стиле Александреску. Языка программирования, да что там, самого программирования не знаю, поэтому если предложите вариант, то с простым примером.
sageАноним 16/02/15 Пнд 16:47:34 #237 №437977 
>>437945
Надеюсь это ты ответил, а не кто-то за тебя. Так вот. А я успел и фронтендом позаниматься (HTML/CSS/JS), и жабовым бэкендом. Очень быстро перевелся на крестовый проект, в одного пилю. Так что тоже кое-что смыслю. Ты в общем не обижайся, я ж не со зла, просто реально мало толку с книг. Скачал как-то несколько модных, пролистал, понял, что многое и так уже сам использую, даже не зная названия паттернов/приемов.
sageАноним 16/02/15 Пнд 16:51:32 #238 №437980 
>>437974
http://ideone.com/leoIAX Нэ?
Аноним 16/02/15 Пнд 17:46:47 #239 №437998 
>>437980
удалять кто будет блять? возвращай смарт-птр
sageАноним 16/02/15 Пнд 18:05:40 #240 №438005 
>>437998
В условиях задачи нет этого, иди на хуй. Смарты для слабаков, у меня и без них ничего не течет. Нехуй где попало в куче выделять, контейнеры и так за тебя это делают.
Аноним 16/02/15 Пнд 18:13:32 #241 №438008 
>>438005
Штоа? Какие контейнеры? Ты ебанутый?
Как начать делать?  Аноним 16/02/15 Пнд 18:20:31 #242 №438012 
Собственно у меня возник вопрос, как сейчас лучше всего и правильнее будет изучать C++? В шараге сдавал лабы и все такое без каких либо проблем, сейчас хочу сам изучать C++, и у меня сразу возникли траблы, потому что совершенно не знаю что мне делать, не знаю какие программы писать и так далее. Кто может объясните нубу что делать и как двигаться дальше.
Аноним 16/02/15 Пнд 18:24:12 #243 №438013 
Посоветуйте книгу/уроки/методичку по WinApi, читаю Ритчера "Windows via C++" там даются общие фундаментальные основы в начале, нужно еще что-то с упором на практику.
sageАноним 16/02/15 Пнд 18:55:32 #244 №438021 
>>438008
Ну смотри, ебана. Можно сделать char *govno = new char[9000];
А можно: std::string zebok;
Во втором случае тебе не надо думать о выделении памяти и удалении, потому что контейнер (string в данном случае) объявлен на стеке, а его содержимое уже в куче, но неявным для тебя образом. Понимаешь? Может, контейнер - не лучшее название, ну, обертка тогда, что ли. Но вообще это контейнер. std::vector туда же.
sageАноним 16/02/15 Пнд 18:56:05 #245 №438022 
>>438021
>zaebok
фикс
sageАноним 16/02/15 Пнд 19:00:25 #246 №438023 
>>438012
Прата (Prata) http://rutracker.org/forum/viewtopic.php?t=4123652
Потом решай, что ты хочешь: драйвера и прочее системное говно - задумайся лучше о сишке, десктоп - выбирай фреймворк (хули там выбирать, Qt вне конкуренции) и ебаш на нем очередной текстовый редактор/шахматы/мессенджер/что-то еще, чего тебе не хватает.
 Аноним 16/02/15 Пнд 19:10:09 #247 №438025 
>>438023
Попробую почитать Прату, как раз лежала в закромах эта книга. Читал Липпмана, но это просто какой то бред, там нечего делать, просто как обзор по языку, задания никакие. Я пока точно не знаю на каком API делать и так далее.
Аноним 16/02/15 Пнд 19:15:30 #248 №438026 
>>426100
есть один кот и он не работает
собственно, метод не хочет принимать массив
Аноним 16/02/15 Пнд 19:20:16 #249 №438027 
14241036160110.jpg
14241036160131.jpg
>>438026
вакаба обезумела и не принимает код
Аноним 16/02/15 Пнд 19:20:25 #250 №438028 
14241036256210.jpg
>>437977
Не обижаюсь, это же сосач, лол. Отвечал я.
Просто мне ужасно повезло и у меня появился годный, толковый препод, который именно программист а не теоретик. И он, кроме всего прочего, советует читать книжки и зубрить стандарт.
Аноним 16/02/15 Пнд 19:24:59 #251 №438030 
>>438027
зачем ты пишешь на этом говне? (я про VC++)
нужны гуй-библиотеки? родина им дала qt, нет, не хочу, хочу жрать говно.
sageАноним 16/02/15 Пнд 19:38:31 #252 №438033 
>>438028
Все могут ошибаться, и преподы тоже. Они к тому же обычно, даже если очень охуенные, все равно по роду деятельности привыкают давать советы так, чтобы они подошли как можно большему числу учащихся, но при этом результат может быть далеко не наилучшим, так как советы рассчитаны на массу. Но и я могу ошибаться, ясен хуй. В общем, не принимай на веру ни меня, ни препода, думай и оценивай сам. Попробуй прочитать книжку, потом написать какой-то проект. В другой раз попробуй писать другой проект, читая только гугл.
Аноним 16/02/15 Пнд 19:40:07 #253 №438034 
>>438030
> говно
> qt
быстрофикс
Аноним 16/02/15 Пнд 19:46:35 #254 №438036 
>>438030
особо с гуей не работаю на плюсах, мне ок, я мазохист
Аноним 16/02/15 Пнд 20:15:24 #255 №438051 
>>437998
Штоа? Первый раз слышу об этом. Можешь его пример >>437980 (хороший, наглядный пример) переписать через смарт-птр?
sageАноним 16/02/15 Пнд 20:59:49 #256 №438072 
>>438051
http://ideone.com/1YM54z
Аноним 16/02/15 Пнд 21:05:33 #257 №438079 
14241099334150.jpg
Поясните, пожалуйста, тупому студенту.
Как из байта вывести биты, с этим ебучим сдвигом вправо, спасибо.
Аноним 16/02/15 Пнд 21:21:57 #258 №438088 
>>438079
Эндаешь с единичкой, выводишь, затем сдвигаешь вправо на бит, эндаешь с единичкой, выводишь, затем снова и снова и снова, 8, 116, 32 или 64 раза в зависимости от разрядности.
Аноним 16/02/15 Пнд 21:26:23 #259 №438091 
>>438088
Спасибо, робит.
Аноним 16/02/15 Пнд 21:39:38 #260 №438100 
>>438033
Спасибо за советы, анон, постараюсь извлечь пользу.
Аноним 16/02/15 Пнд 21:45:27 #261 №438105 
>>438072
Ух ты, круто. C++11 наконец-то. Объясни на пальцах, что это такое.

1) .get() -- выглядит как контейнер, поясни. Почему (технически) нет возможности прямого доступа a ?

2) Оно всегда убиваетcя на границе ближайшего скоупа, как и любая другая переменная, или есть другие варианты поведения?
Аноним 16/02/15 Пнд 21:47:09 #262 №438108 
>>438105
Ебаная макаба.

>прямого доступа
a откр. квадратная скобка i закр. квадратная скобка
sageАноним 16/02/15 Пнд 22:16:47 #263 №438134 
>>438105
Ну епта, это обертка вокруг указателя. Очевидно, что ты не можешь применять оператор [] к обертке, только к указателю, который и возвращает get().
Деструктор вызывается тогда, когда разрушается последний shared_ptr, содержащий ссылку на данный указатель.
Аноним 16/02/15 Пнд 22:20:40 #264 №438137 
>>438134
О, вроде прояснило, спасибо. Правда забуду потом детали, но принцип понятен. Кстати, крутые парни не пишут без сеги?
Аноним 16/02/15 Пнд 22:22:33 #265 №438140 
Господа, помогите разобраться с двумерными динамическими массивами в обычном Си.

Функция input принимает указатель на указатель, по нему размечает память, заносит с клавиатуры значения в массив.

Вопрос в следующем, если в функции input память размечена как:
array = (int )malloc((mn)sizeof(int) );
под двумерный массив, то как в scanf указывать соответствующий адрес под элемент такого массива?
Заранее огромное спасибо.

Код программы:
//====================================
int main()
{
int array, n=input(&array);
output(array, n);
free(array);

puts("\n");
system("pause");

}

//====================================
int input(int
array)
{
int i,n;
printf("Please input array length: ");
scanf("%d", &n);
system("cls");

array = (int )malloc((n)sizeof(int) );
printf("\nPlease input array elements: \n");

for (i=0;i<n;i++)
{
printf("array[%d]= ",i);
scanf ("%d", (*array+i) );
}
Аноним 16/02/15 Пнд 22:23:14 #266 №438141 
>>438140
гребанная разметка.
Аноним 16/02/15 Пнд 22:24:47 #267 №438143 
>>438141
братишка, переложи на http://pastebin.com/

Без перекладывания трудно будет понять, где одна звёздочка, где две.
sageАноним 16/02/15 Пнд 22:29:38 #268 №438151 
>>438134
Сначала сагал, потому что вопросы были тупые (да и щас большинство тупые), а потом как-то в привычку вошло.
sageАноним 16/02/15 Пнд 22:30:04 #269 №438152 
>>438151 -> >>438137
Аноним 16/02/15 Пнд 22:35:14 #270 №438159 
>>438143
http://pastebin.com/wscs7K1i

В общем вопрос в том, как обратиться к элементам двумерного массива, под который размечена память подобным образом.
Аноним 16/02/15 Пнд 22:51:46 #271 №438182 
Аноны, такой вопрос. Знаю c++ на уровне книги Лафоре "ооп на с++". Хочу развиваться в плюсах и дальше, но не имею понятия что вообще учить. Все программы которые я писал - консольные, как делать обычные понятия не имею. Слышал что-то про qt. Может учить его? Вобщем направьте меня в правильное русло.
Аноним 16/02/15 Пнд 22:52:32 #272 №438184 
>>438159
Запутался. К двумерному массиву ты обращаешься http://pastebin.com/1qd5HPCX , где i - номер строки, j - номер столбца.

В чём собственно вопрос?
Аноним 16/02/15 Пнд 22:56:40 #273 №438190 
>>438140 >>438159
В общем если я правильно понял, то ответ на твой вопрос:

http://pastebin.com/3wdjVr0a
Аноним 16/02/15 Пнд 23:03:54 #274 №438200 
14241170346320.png
>>438190
http://pastebin.com/dTQSVytT

Пробовал так, не взлетает.
Видимо, вылезаю куда-то за пределы дозволенного.
Аноним 16/02/15 Пнд 23:12:04 #275 №438207 
>>438200
Если честно, у тебя здоровый код, в котором мне лень копаться. Поэтому: если хочешь не просто копипастить текст, а компилировать онлайн, имеются замечатльные онлайн-платформы для этого. Вон, православная http://ideone.com/ например.

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

Если в ideone.com не поулчишь осмысленных сообщений об ошибке, попробуй более громоздкую платформу

http://www.tutorialspoint.com/codingground.htm

Там на выбор тебе будут:
http://www.tutorialspoint.com/compile_c_online.php
http://www.tutorialspoint.com/compile_c99_online.php

Я думаю, что тебе надо c99. А ещё лучше -- годную IDE.
Аноним 16/02/15 Пнд 23:16:16 #276 №438214 
14241177767860.png
>>438207
Спасибо, буду разбираться.

Курил мануалы, и, судя по всему, память выделяется под одномерный массив, и некорректно обращаться к нему как к двумерному.
Аноним 16/02/15 Пнд 23:28:15 #277 №438225 
>>438214
Тебе объяснить что ли, как двумерные массивы создавать в сишечке? Давай объясню. Двумерные массивы -- это массивы указателей типа на массивы типа. Покажу на примере создания матрицы int из трёх строк на пять столбцов (без инициализированных значений).

http://ideone.com/DIkq0A

P.S. Обрати внимание, сколь тщательно ведётся работа с освобождением памяти. Сначала освобождаем память в каждой строке, потом освобождаем сам массив указателей опустошённых строк.
Аноним 16/02/15 Пнд 23:34:38 #278 №438230 
>>438225
Ну и да, с ходу забыл добавить #include <stdlib.h> , отредактировал, добавил.

Кроме того, ругается на unsigned int в цикле for. Значит тебе нужен или C99, или перепиши на инт или на что там там принято в сишечке, я без понятия. Ансигнед индекс это чисто плюсовая привычка, не очень хорошая, наверно.
Аноним 16/02/15 Пнд 23:35:50 #279 №438232 
>>438230
Отлично, понял свою ошибку, спасибо огромное!
Аноним 16/02/15 Пнд 23:43:37 #280 №438241 
>>438232
Пожалуйста. А так, я бы вообще запретил все компиляторы, что ниже C99 и C++11. Как люди вообще писали код до их повсеместного распространения, ума не приложу.
Аноним 17/02/15 Втр 00:36:35 #281 №438269 
>>438182
Подумай, какая область тебе интересна. Сети, медиа, десктоп ui, сервера, хайлоад, много областей ещё. Читай, копай, изучай. Пробуй все. Базовые знания полезны во всех областях. Потом решишь куда углубляться.
Аноним 17/02/15 Втр 00:46:42 #282 №438276 
>>438182
Посмотри что требуют в вакансиях, потдягивай что не знаешь. Можно еще по собеседованиям походить, просто чтобы посмотреть, если ты нормально их переносишь.
Аноним 17/02/15 Втр 12:52:38 #283 №438380 
И вот я >>436304 снова врываюсь в тред. Уже почти всё написал. Остался один вопрос. Собственно хочу, чтобы у меня BMP оттенков серого занимал 1 байт на пиксель, а не 4. Для этого здесь
>Bytes 29-30: Word. Bits per pixel.
ставлю 8.

А теперь внимание вопрос: а как сделать именно градации серого, а не 256 цветных оттенков?

Гугля 8 bit bitmap grey header stackoverflow.com непосредственно хэдеров не нашёл для 8-битных серых.
Аноним 17/02/15 Втр 13:41:55 #284 №438408 
>>438380
Единственное, что удаётся найти:

Date: Mon, 25 May 1998 01:36:38 -0700
From: "Kevin D. Quitt" <[email protected]>
To: [email protected]
Subject: BMP format

There is a deficiency in the BMP file format specification from
Microsoft.
While they do point out in RLE encoding mode that lines must start on an
even byte number, they have omitted the following:

EVERY compression group must start on an even byte boundary.

In RGB encoding (no compression), when using 8 bits per pixel, lines
must start on a long-word boundary (i.e., low two bits zero).

And, of course, they use 'int' in the spec when it should properly be
'short', and they use 'long' and 'DWORD' interchangeably. Should just
be 'long'.
Аноним 17/02/15 Втр 16:48:12 #285 №438513 
>>438380
>А теперь внимание вопрос: а как сделать именно градации серого, а не 256 цветных оттенков?
Никак, делай 8 бит + ч/б палитра.
>Гугля 8 bit bitmap grey header stackoverflow.com непосредственно хэдеров не нашёл для 8-битных серых.
Ну сохрани изображение из GIMP/Photoshop как черно-белое, да посмотри какие поля что будут содержать.
Аноним 17/02/15 Втр 16:50:46 #286 №438514 
>>438513
>Никак, делай 8 бит + ч/б палитра.
Я и спрашиваю, как сделать чёрно-белую палитру. В какие байты хэдера что проставить.

>Ну сохрани изображение из GIMP/Photoshop как черно-белое, да посмотри какие поля что будут содержать.
Под рукой только помирающий компьютер да MS Paint.
Аноним 17/02/15 Втр 17:30:08 #287 №438534 
>>438514
Нафига тебе BMP? Возьми лучше TGA - он гораздо проще. В примитивном варианте простой хидер на 18 байт, потом несжатые пиксели.
http://www.paulbourke.net/dataformats/tga/
Для градаций серого в третий байт пишешь тройку, в 16-й восьмерку, с палитрой не ебешься.
Аноним 17/02/15 Втр 17:41:42 #288 №438538 
>>438534
Хочу я BMP. Уже всё написал, осталось только проставить, чтоб в градациях серого было.
Аноним 17/02/15 Втр 17:55:04 #289 №438545 
>>438538
глянь исходники easybmp
Аноним 17/02/15 Втр 18:03:28 #290 №438549 
>>438545
А вот уже нагуглил, в правильную сторону нагуглил?

http://www.codeproject.com/Articles/70442/C-RGB-to-Palette-Based-bit-Greyscale-Bitmap-Clas

ctrl+f
The color palette is created with the following code:
Аноним 17/02/15 Втр 18:20:30 #291 №438555 
Что есть байтоёбство?
sageАноним 17/02/15 Втр 18:25:15 #292 №438557 
>>438555
возлежание с виртуальной имманацией вычислителя
Аноним 18/02/15 Срд 10:05:31 #293 №438770 
Анончики, какую парадигму юзаете когда прогаете риалтайм? ООП чет нихуя не работает - все рушится когда добавляются зависимости к объектам. Алсо посоветуйте годной литры по этой теме, в гугле только кривые статьи, по которым и так все очевидно
мимо 10 кривых реалтаймов с костылями
sageАноним 18/02/15 Срд 10:13:58 #294 №438773 
>>438770
лол, тредом промахнулся
sageАноним 18/02/15 Срд 13:03:59 #295 №438848 
Рубрика "охуительные вопросы".
Допустим, у меня есть указатель на объект, созданный где-то в недрах чужого (библиотечного) кода. Указатель валидный, разыменовывается и все такое. Задача: "приделать" к объекту некие данные, скажем, int. В классе для этого средств никаких нет, он может быть вообще "пустым", типа class Yoba {}; Может, какие-то трюки с адресацией есть? Не могу загуглить, потому что не знаю, как описать это нормально. Нужно для оптимизации. Да, я отдаю себе отчет в том, что это в любом случае очень плохо, но я знаю, что делаю и для чего.
Аноним 18/02/15 Срд 13:12:38 #296 №438850 
>>438848
наследуешься, в наследнике добавляешь данные.
кастишь указатель до наследника
Аноним 18/02/15 Срд 13:14:24 #297 №438851 
>>438850
еще, желательно, перед этим память после Yoba как-то захватить, чтобы не потерли
sageАноним 18/02/15 Срд 13:34:46 #298 №438857 
>>438850
>указатель на объект, созданный где-то в недрах чужого (библиотечного) кода
>указатель на объект, созданный где-то в недрах чужого (библиотечного) кода
>указатель на объект, созданный где-то в недрах чужого (библиотечного) кода
>указатель на объект, созданный где-то в недрах чужого (библиотечного) кода
>указатель на объект, созданный где-то в недрах чужого (библиотечного) кода
sageАноним 18/02/15 Срд 13:35:58 #299 №438858 
>>438857
А хотя, я жопой прочитал. Приношу свои извинения. Спасибо, попробую.
sageАноним 18/02/15 Срд 13:48:12 #300 №438867 
Чет падает. Делаю так: http://pastebin.com/qFKE0XD2
Аноним 18/02/15 Срд 14:30:13 #301 №438881 
>>438867
http://pastebin.com/Ueb57ywM
работает ТОЛЬКО если за объектом ничего нет.
агрегирование не подойдет?
Аноним 18/02/15 Срд 14:38:44 #302 №438888 
>>438881
Работает! Слушай, а для чего оффсет? И что есть 4? Не размер int ведь.
Аноним 18/02/15 Срд 14:42:54 #303 №438890 
>>438888
чтобы не портить память под Yoba + размер класса (4), так как Hack не определен и размер его неизвестен. Но heap с такими манипуляциями портится все равно.
Аноним 18/02/15 Срд 14:47:00 #304 №438893 
Вообще я юзаю библиотеку ODB, там есть класс odb::transaction, у которого один из статических методов возвращает текущую транзакцию для данного потока.
Моя идея заключается в том, чтобы создать обертку, которая, если транзакции нет, создает ее, а если уже есть, то увеличивает счетчик вложенности (чтобы не передавать в следующую функцию текущую транзакцию, там просто создается новая, которая по факту не начинает транзакцию ODB, а только увеличивает счетчик).
Соответственно, когда из функции выходим, счетчик уменьшается при разрушении моего объекта-обертки. Когда разрушается последний объект, счетчик становится снова равным нулю и транзакция ODB наконец завершается.
Ну а раз транзакция должна быть одна на поток, а thread_local я не использую, т.к. поддержка старого стандарта крестов, то использую мьютекс и map (ключ - указатель на транзакцию ODB, значение - счетчик). Но odb::transaction::current() (возаращает текущую транзакцию для данного потока) уже и так использует мьютекс, получается что надо дважды лочить, что есть оверхед.
Вот я и решил хранить счетчик сразу в транзакции ODB, если уж она гарантированно возвращается одна для данного потока.
Аноним 18/02/15 Срд 14:48:09 #305 №438895 
>>438890
Портится - значит я рано или поздно поймаю сегфолт, или память будет утекать?
Аноним 18/02/15 Срд 15:08:10 #306 №438900 
>>438895
Сегфол и хип карапшн. Ну и перетрет память под Hack кто-нибудь
Аноним 18/02/15 Срд 15:11:41 #307 №438902 
>>438900
То есть безопасно то, что мне надо, никак не сделать?
Аноним 18/02/15 Срд 15:24:25 #308 №438908 
>>438902
Так то я думал сделать типа такого: http://pastebin.com/eJLKN2RZ
Но там же переменная, а не указатель (это я затупил сначала, да). Надо как-то заставить переменную думать, что ее адрес сменился. Что-то ничего в голову не приходит.
sageАноним 18/02/15 Срд 15:30:41 #309 №438911 
Блять, я тупой. Короче, вопрос снимается, байтоебля отменяется. Я же ее, переменную то, сам создаю, значит могу и наследника вместо базового класса использовать. Пиздец, вот я еблан.
Аноним 18/02/15 Срд 21:29:00 #310 №439060 
Здравствуйте, посоветуйте, пожалуйста, хорошую книгу для новичка в программировании. Знал неплохо пхп, в общем-то, всё.
Сейчас пытаюсь читать Алгоритмы, построение и анализ.
Аноним 18/02/15 Срд 21:37:46 #311 №439064 
>>439060
Советую Прату.
sageАноним 18/02/15 Срд 21:42:49 #312 №439067 
>>439064
Удваиваю Прату http://rutracker.org/forum/viewtopic.php?t=4123652
Алгоритмы пока отложи, только путать будут. Сначала с языком освойся.
Аноним 18/02/15 Срд 22:48:07 #313 №439148 
Шел 2015. Указатели. Нужно еще больше ключевых слов в язык. Зубодробительный синтаксис. Хлеба, зрелищ! Набор костылей с набором взаимоисключающих концепций. А что ты предложишь комитету по стандартизации?
Аноним 18/02/15 Срд 23:07:05 #314 №439154 
Врываюсь, но со специфическим вопросом.
Итак, есть у меня овердохуя проектов на крестах на близкую тематику. Соответственно, они часто используют одинаковые исходники. И я, как мудак, храню в папке каждого проекта копию этих исходников. Стоит ли говорить, какой это геморрой, когда нужно поменять один такой исходник во всех проектах? Но ещё хуже - могу забыть обновить их в других папках, что чревато глобальным пиздецом.
Как бы мне оптимально всё это организовать? Выделить отдельную папочку common, и туда пихать общие исходники?
А как потом конпелировать? У меня всё на простеньких самописных makefile-ах конпелируется.
sageАноним 18/02/15 Срд 23:09:50 #315 №439156 
14242901903150.png
>>439148
А как лучше, вот так?
sageАноним 18/02/15 Срд 23:11:50 #316 №439157 
>>439154
Так напиши библиотеку свою. Я так и сделал. Берешь все свои повторяющиеся исходники, организуешь их в какую-то осмысленную архитектуру, пишешь библиотеку (не забывая о pimpl) и пользуешься.
Аноним 18/02/15 Срд 23:13:28 #317 №439158 
>>439157
по некоторым причинам библиотеку пока создавать рано, няша
Аноним 18/02/15 Срд 23:36:46 #318 №439171 
>>439156
Доебался до типизации (вернее её отсутствия). Причём тут она вообще?
ВОН В JS ВСЁ ЕЩЁ ХУЖЕ
Аноним 18/02/15 Срд 23:47:22 #319 №439178 
>>439156
Обосрался себе в штаны. Это же фэйк, не может так быть?
sageАноним 19/02/15 Чтв 00:13:35 #320 №439191 
>>439158
Тогда жри говно и не выебывайся. Можешь еще все в одну папку положить и в мэйкфайлах прописывать путь для поиска хедеров в этой папке. Еще можешь ссылки создавать на файлы, лол. Больше нихуя тут не сделаешь.
>>439178
Нет, не фэйк. Пишу на этой дрисне, ибо в веб-параше без нее никуда. Постоянно проигрываю с дебилов, которые еще и бэкэнд на этом хуячат.
Аноним 19/02/15 Чтв 02:12:53 #321 №439224 
>>439154
Засунь их в гитовую репу. Эту репу подключай как субмодуль к своим проектам. Профит.
Аноним 19/02/15 Чтв 12:27:52 #322 №439316 
Двач, выручай. Пересаживаюсь с 1 стулаJava на другой стулC++. Начал пилить удобную обёртку для движка OGRE 3D. И тут у меня возникли трудности. Есть такая иерархия классов:
AbstractObject -> AirplaneObject
В AbstractObject.h я подключил NioCore.hсамый главный класс, чтобы иметь доступ к переменным, отвечающим за отрисовку сцены(RootSceneNode, например). В AirplaneObject.h я подключил AbstractObject.h, чтобы можно было наследовать. Дальше, в NioCore.h я подключил AirplaneObject.h, чтобы можно было добавить его на сцену. Ясен хуй, это надо делать в другом классе, но мне надо по-быстрому всё проверить, чтобы работать дальше. Получается такая система инклюдов:
NioCore.h -> AirplaneObject.h -> AbstractObject.h -> NioCore.h и т.д.
Компилятор пишет, что не определён базовый класс. Если я убираю инклюд AirplaneObject.h из главного класса, то проблема решается. Но тогда я не могу его использовать. Что делать?
#pragma once стоит. Пробовал заменять её на гуарды - та же хуйня.
Аноним 19/02/15 Чтв 12:42:32 #323 №439325 
>>439316
У тебя цикл инклюдов. Чтобы получить AbstractObject.h тебе нужно включить туда NioCore.h, но для того чтобы получить NioCore.h тебе нужно включить туда AbstractObject.h который ты не можешь получить потому что у теяб нет готового NioCore.h. Гварды там не помогут. Нужно избегать максимально инклюдов в хедерфайлах. По нормальному в хедерфайле должен быть только инклюд класов от которых наследуется клас которому принадлежит хедер, хедеры с константами и библиотечные (но их тоже лучше стараться избегать). Все остальные хедеры нужно пихать в файл реализации. Вместо инклудов в хедерах используй forward declarations. В твоем случае в NioCore.h вместо #include "AbstractObject.h" нужно сделать class AbstractObject.h;
sageАноним 19/02/15 Чтв 12:44:13 #324 №439326 
> class AbstractObject;
конечно же
Аноним 19/02/15 Чтв 12:49:02 #325 №439328 
>>439325
А если я захочу поменять имя класса, рефактор поймёт, что форвард декларейшены нужно тоже поменять?
Аноним 19/02/15 Чтв 12:53:22 #326 №439330 
>>439328
Если нормальный то должен понимать. В XCode меняет.
Аноним 19/02/15 Чтв 12:55:12 #327 №439332 
>>439330
Спасибо, буду делать так.
Аноним 19/02/15 Чтв 14:36:17 #328 №439370 
Еду на первое в моей жизни собеседование. Задайте вопросов для тренировки.
Аноним 19/02/15 Чтв 14:51:50 #329 №439372 
>>439370
Чем C отличается от C++?
Почему крышки колодцев круглые?
Аноним 19/02/15 Чтв 15:21:05 #330 №439380 
>>439372
C - функциональный язык.
С++ - мультипарадигмовы, с НОРМАЛЬНЫМ, по сравнению с С, ООП. Ну и всякими плюшки.
Круглую крышку ОЧЕ сложно провалить в отверстие, которое она закрывает. Практически не возможно, не спилив рожки и не будучи суперменом.
У круга оптимальное соотношения периметр/площадь - экономия материала.
sageАноним 19/02/15 Чтв 15:34:55 #331 №439387 
>>439380
>C - функциональный язык.
>функциональный
Перезвоним.
Процедурный, дегенерат.
Аноним 19/02/15 Чтв 15:38:00 #332 №439389 
14243494803880.png
>C - функциональный язык.

Обкакунькался.
Аноним 19/02/15 Чтв 15:45:01 #333 №439392 
>>439389
>>439387
Не зря на двач написал.
Аноним 19/02/15 Чтв 16:39:52 #334 №439408 
>>439392
>>439370
Жду течлида уже пол часа. Кормят чаем, печеньем и "еще 5 минут".
Аноним 19/02/15 Чтв 16:41:08 #335 №439409 
>>439408
Это называется экстремальное собеседование. Жди и не парься, веди себя вежливо. Будет наезжать - отвечай тоже вежливо.
Аноним 19/02/15 Чтв 16:48:20 #336 №439414 
>>439409
Та мне норм. Но вот наезды я вряд ли несколько выдержу. Начну язвить и САРКАСТИРОВАТЬ.
Аноним 19/02/15 Чтв 18:17:24 #337 №439428 
14243590441370.jpg
>>439372
>>Чем C отличается от C++?
Таки спросили. Спасибо >>439387
Аноним 19/02/15 Чтв 18:27:51 #338 №439430 
>>439428
двач-помогач же
Аноним 19/02/15 Чтв 18:53:39 #339 №439437 
>>439387
ты ебан?
кто тебе мешает в С передавать функции в функции и возвращать функции и не иметь побочных эффектов?
никто блять!
Аноним 19/02/15 Чтв 18:59:52 #340 №439442 
>>439437
> и не иметь побочных эффектов?
А удалять результаты кто будет? Пушкин?
Аноним 19/02/15 Чтв 19:12:13 #341 №439447 
>>439191
А что >>439156 ЭТО?
sageАноним 19/02/15 Чтв 20:11:55 #342 №439480 
>>439447
JavaScript же.
>>439437
Ты не прав.
>В чистом функциональном программировании оператор присваивания отсутствует, объекты нельзя изменять и уничтожать, можно только создавать новые путем декомпозиции и синтеза существующих. О ненужных объектах позаботится встроенный в язык сборщик мусора. Благодаря этому в чистых функциональных языках все функции свободны от побочных эффектов.
Так что сишка - не функциональный язык. С костылями и допущениями почти любой язык можно было бы называть функциональным.
Аноним 19/02/15 Чтв 20:37:40 #343 №439493 
>>439480
твоя мондада присваивает и изменяет тебе
ничего чистого нет и не может быть
еблан
sageАноним 19/02/15 Чтв 21:31:41 #344 №439527 
>>439493
Схуев ли она моя? Алсо, я тоже сначала так думал. Но потом разобрался, и понял, что все не так просто. Когда-нибудь и ты поймешь. Нет, не поймешь, слишком тупой и мелкобуквенный.
Аноним 19/02/15 Чтв 21:35:55 #345 №439529 
>>439527
но и не так сложно
смотри, я тебе ещё и смайлик влеплю
;)
sageАноним 19/02/15 Чтв 22:27:00 #346 №439546 
14243740203990.png
>>439529
Съеби, вниманиеблядок.
Аноним 20/02/15 Птн 11:18:39 #347 №439663 
Сейчас будет тупейший вопрос треда, приготовьтесь. Причём он скорее по Си, чем по плюсам.

>intarray=(int)malloc(20sizeof(int));

Зачем нужно (int*) после равно? Что он делает? Маллок это же просто разметка некой области в памяти.
Аноним 20/02/15 Птн 11:19:29 #348 №439664 
>>439663
Звёздочки проебались, но вы поняли что вторая звёздочка после 20.
Аноним 20/02/15 Птн 11:41:00 #349 №439667 
>>439663
C это язык со статической типизацией. Если ты объявил указатель на тип int то ты не можешь просто взять и поместить его на любую область памяти. Сначала ты должен пообещать компилятору что там записано именно int. (int *) это и есть такое обещание.
Аноним 20/02/15 Птн 11:41:36 #350 №439668 
>>439663
Malloc возвращает указатель на void. Здесь каст до указателя на инт
Аноним 20/02/15 Птн 11:52:51 #351 №439680 
>>439663
Ну и я добавлю ещё, что если это именно C, то каст здесь не нужен.
Аноним 20/02/15 Птн 12:31:38 #352 №439698 
14244246983700.png
Сап. В /b/ меня нихуя не поняли, поэтому иду к вам. Суть на пикрелейтеде. В джаве для таких дел есть generic types. Я пишу T extends AbstractObject и при наследовании указываю, что это за T. Как такое сделать в C++? Пока что приходится кастовать так, как на пикрелейтеде.
Аноним 20/02/15 Птн 12:38:19 #353 №439701 
>>439698
тебе нужны абстрактные классы, виртуальные функции, вот это всё
Аноним 20/02/15 Птн 12:39:01 #354 №439703 
>>439698
А в чем проблема сделать
template <typename T>
void update(T *obj ...
sageАноним 20/02/15 Птн 12:40:44 #355 №439705 
>>439698
Я нихуя не понял, что ты хочешь. В крестах можно, например, вот так: http://pastebin.com/aiQ9XnkD Если это не то, изъясняйся лучше, а то хуйню какую-то несешь.
Аноним 20/02/15 Птн 12:42:25 #356 №439706 
>>439703
>>439705
Мне нужно, чтобы этот T был обязательно расширенным от AbstractObject.
Аноним 20/02/15 Птн 12:43:12 #357 №439708 
>>439706
Но зачем?
Аноним 20/02/15 Птн 12:44:03 #358 №439709 
>>439706
Аноним 20/02/15 Птн 12:44:22 #359 №439710 
>>439708
А если я вместо него передам какой-нибудь Ogre::String? Это же не будет работать. Чтобы это работало, T должен быть расширенным от AbstractObject.
Аноним 20/02/15 Птн 12:47:38 #360 №439711 
>>439710
В крестах все это на твоей совести. Никаких дженериков. Да и если ты укажешь Ogre::String, оно просто не скомпилируется.
Алсо, я уже советовал тебе бросать нахуй этот говнокодный огр.
Аноним 20/02/15 Птн 12:48:45 #361 №439712 
>>439711
Ты не предложил альтернативу
Скомпилируется же. С чего бы ему не скомпилироваться?
Аноним 20/02/15 Птн 12:51:02 #362 №439713 
>>439712
Если ты не используешь никаких методов объекта этого класса, то конечно скомпилируется, но тогда нахуя его вообще передавать?
Unity, UE4
Аноним 20/02/15 Птн 12:52:08 #363 №439714 
>>439713
Всё, кажется понял.
Унити и уе4 - это конструкторы. Мне нужен движок, где я буду программировать, а не таскать ассеты.
Аноним 20/02/15 Птн 12:53:11 #364 №439715 
>>439712
Если ты используешь

method(T *t) {
t->huj()
}

и передаешь туда объект класса Zh без хуя, то не скомпилируется.
Аноним 20/02/15 Птн 12:53:24 #365 №439716 
>>439714
Ты бы попробовал хоть раз ими воспользоваться, диванный теоретик. Там и программировать можно не меньше, чем на говноогре. Купишь UE4 - у тебя все его исходники даже будут.
Аноним 20/02/15 Птн 12:55:15 #366 №439717 
>>439716
Нет, спасибо. Я делаю игры для идеи, а не для перетаскать-пачку-ассетов-выложить-в-апстор.
Аноним 20/02/15 Птн 12:56:03 #367 №439718 
>>439715
Всё, я понял. Спасибо.
Аноним 20/02/15 Птн 12:56:19 #368 №439719 
>>439717
Да у тебя мозги засраны пропагандой из /gd/, что с тобой спорить. Попробуешь - поймешь, что все далеко не так просто. А до тех пор верь во что хочешь.
Аноним 20/02/15 Птн 12:58:19 #369 №439720 
>>439719
Зачем верить? Я полтора года делал игры на джаве. Мне нравилось. Попробовал сделать что-нибудь на JMonkeyEngine - ощущения уже не те. И всё из-за системы ассетов, которые можно просто перетащить. Но там всё более хардкорно, нежели на юнити или в уече.
Аноним 20/02/15 Птн 14:24:02 #370 №439758 
Есть массив int source, заранее известного размера unsigned int n, его значения пробегают исключительно 0 / 1.

Я хочу его конвертнуть (в смысле создать новый, а старый ОСВОБОДИТЬ) в массив: uint8_t
compressed, размера (n + 7) / 8 , в последнем байте занято n % 8 бит.

Ну ладно, uinsigned int k = (n + 7) / 8;

uint8_t compressed =
(uint8_t
)malloc(k);

Как мне побитово перенести значения из int* source в новый?

for (unsigned int i = 0; i < k; ++k)
{
???
}

И как перенести последние 0 - 7 значений в "неполный байт"?
Аноним 20/02/15 Птн 14:35:25 #371 №439762 
>>439758
Вот твою же мать, не спасает перенос строки от второй "*".

http://pastebin.com/iGn3Bu29
ПОМОЩЬ ЗАЛА Аноним 20/02/15 Птн 14:55:15 #372 №439766 
14244333154950.jpg
Попросили репостонуть сюда.

Впервые в подобной ситуации, онон. Сам студентота, нужна помощь. Есть система равенств вида пикрелейтед и ряд условий для нее (n=10). Задача - доказать, что показателей u, v будет определенное количество препод уже сжалился и сказал, что их должно быть 16. Причем сделать это нужно силами С++. Однако, я не в силах решить эту задачу даже на бумаге - хуй знает почему. Не получилось это и в маткаде - запутался и нихуя не сделал. Штудирую самоучитель по dev c++, на нем и пытаюсь написать, но пока на уровне "Hello, world". Словом, на тебя вся надежда, онон.

Как писал уже выше, впервые прошу помощи по учебе. Не знаю чем платить тут у вас принято. Могу разве что пак порногифок на 11 Гб залить.

Спасибо.

Препод дал времени максимум до следующей недели, но в крайнем случае попробую выкроить еще пару дней.
Аноним 20/02/15 Птн 14:58:30 #373 №439767 
>>439766
Ок, теперь жди пока я до компа доберусь.
Аноним 20/02/15 Птн 15:02:18 #374 №439771 
>>439762
как-то так
http://pastebin.com/dvT0WgKH
Аноним 20/02/15 Птн 15:12:49 #375 №439775 
>>439771
забыл еще проверку на if (i_n < n), ну разберешься
Аноним 20/02/15 Птн 15:14:33 #376 №439777 
>>439767
Благодарю. Жду!
Аноним 20/02/15 Птн 16:29:00 #377 №439807 
>>439777
хм, нет пар таких. может в условиях что-то не так?
Аноним 20/02/15 Птн 16:51:39 #378 №439822 
14244402992920.png
>>439807
квадратные скобки означают взятие целого?
если да, то здесь просто u << i.
Аноним 20/02/15 Птн 16:56:03 #379 №439827 
>>439822
>квадратные скобки означают взятие целого?
Если как на твоей пикче, то
http://www.wolframalpha.com/input/?i=floor%283.8%29
мимо
Аноним 20/02/15 Птн 16:58:22 #380 №439829 
>>439827
для положительных чисел это равносильно взятию целого. спасибо за инфу.
Аноним 20/02/15 Птн 16:59:19 #381 №439831 
>>439822
u >> i, конечно же
Аноним 20/02/15 Птн 17:03:16 #382 №439837 
>>439766
нет таких пар в заданном интервале. надо как-то доказывать на бумаге, что данные условия исключают существование таких пар.
sageАноним 20/02/15 Птн 17:16:12 #383 №439846 
>>439758
>>439762
>malloc
>free
Ты тредом ошибся, это не труЪ C++, а голая сишка.
Аноним 20/02/15 Птн 17:19:32 #384 №439848 
http://ideone.com/dCtxGS
>>01
Поясните, чому?
Аноним 20/02/15 Птн 17:21:26 #385 №439850 
14244420865690.png
>>439837
смотри какая штука. такому решению удовлетворяет только (0,0)
но оно не удовлетворяет первому условию (-1 + 0 =-0 + 0)

противоречие. нет решений.
sageАноним 20/02/15 Птн 17:21:45 #386 №439851 
>>439762
И вообще, го все на мой /pr/, там прикольная капча и тег [code] работает (да еще и с подсветкой).
Аноним 20/02/15 Птн 17:22:08 #387 №439852 
>>439848
Потому что опимизация &&
Если левая часть 0, то правая не вычисляется.
Аноним 20/02/15 Птн 17:22:44 #388 №439853 
>>439848
ленивые вычисления
>if(x++ && y++)
тут x++ возвращает 0
Именно поэтому в ифах не нужны ++
sageАноним 20/02/15 Птн 17:23:16 #389 №439854 
>>439851
дай Uniform Resource Locator
Аноним 20/02/15 Птн 17:23:59 #390 №439855 
>>439853
>>439852
Но в результате х стает 1
Аноним 20/02/15 Птн 17:24:34 #391 №439857 
>>439855
Семантику ++ погугли, даун.
Аноним 20/02/15 Птн 17:24:39 #392 №439858 
14244422791070.png
>>439850
блин, минус потерял в последней строке
Аноним 20/02/15 Птн 17:26:44 #393 №439860 
>>439855
a = x++ преобразовывается компилятором в
a = x;
x += 1;

Поэтому тот tmp, что передастся в if будет равен 0
sageАноним 20/02/15 Птн 17:27:17 #394 №439861 
14244424379890.jpg
чо за буковки))
sageАноним 20/02/15 Птн 17:31:32 #395 №439867 
>>439854
На (я думал, все читают тред, выше уже вбрасывал) https://ololoepepe.me/board/pr
sageАноним 20/02/15 Птн 17:36:17 #396 №439870 
>>439867
капча сложная(
sageАноним 20/02/15 Птн 17:38:27 #397 №439872 
>>439870
А мне нра))
Хинт 1: можно выбрать другой язык (там кнопочка внизу).
Хинт 2: если перевыбрать тот же язык еще раз, появится другое задание.
Хинт 3: один раз введя капчу, можно оставить 10 постов ()включая тот, во время которого вводилась капча).
sageАноним 20/02/15 Птн 17:52:28 #398 №439880 
14244439486050.png
>>439872
неполучается(
compilation error

> один раз введя капчу, можно оставить 10 постов ()включая тот, во время которого вводилась капча).
а вот это клёво
Аноним 20/02/15 Птн 17:52:50 #399 №439881 
14244439707410.jpg
>>439850>>439837>>439858
В том-то и дело, онон. Я тоже уверен, что нет решений (на VB так и получилось). Но преподу я так и не сумел эту мысль донести У ВАС ГДЕ-ТО ОШИБКА БЛА БЛА БЛА. Решал по следующей схеме, но ни черта не вышло. Просто нет таких пар, удовлетворяющих данным условиям.

Кинь, пожалуйста код для плюсов, хоть покажу преподу, что мол и так и так невыходит.
Аноним 20/02/15 Птн 18:18:03 #400 №439896 
>>439881
ну я же тебе пояснил по условиям. там противоречие. не может быть там решений.
http://ideone.com/wpJ3ZB
Аноним 20/02/15 Птн 18:25:19 #401 №439898 
>>439896
без array
http://ideone.com/PnKwBd
Аноним 20/02/15 Птн 18:26:48 #402 №439900 
>>439822
Да, это округление в меньшую сторону.
Аноним 20/02/15 Птн 18:27:02 #403 №439901 
>>439771
Что за |= в 6 строке? Вообще всю строчку не понял:

>compressed[k] |= (source[i_n])?1:0 << j;

Аноним 20/02/15 Птн 18:29:58 #404 №439904 
14244461980250.gif
>>439896
Я так и понял. В любом случае спасибо, анон. Думаю, ошибка в самом условии (может знак неправильно где-то стоит, может еще что), но буду долбать уже препода. В случае чего можно найти тебя здесь?

Пусть эти шлюшки хорошо на тебя поработают
Аноним 20/02/15 Птн 18:31:44 #405 №439905 
>>439901
Смайлик |=
побитовое или с присваиванием, лалка
Аноним 20/02/15 Птн 18:34:03 #406 №439906 
Аноны, помогите, пожалуйста.
Нужно узнать меньшее число из последовательности, которую вводит пользователь, последовательность не ограничена (Для окончания ввода нужно нажать 0).
Без массивов, только через while.

Я не понимаю, как организовать ввод последовательности? Куда записывать все числа, последовательность ведь бесконечной может быть, а нужно узнать меньшее число. Нужно где-то держать их
Аноним 20/02/15 Птн 18:36:24 #407 №439910 
>>439906
Зачем записывать все числа, если с каждым введённым можно выбирать меньшее и сохранять только его?
Аноним 20/02/15 Птн 18:36:56 #408 №439912 
>>439906
> последовательность ведь бесконечной
ололо
держи в переменной вне цикла минимальное на текущий момент число, обновляй его в цикле
Аноним 20/02/15 Птн 18:38:27 #409 №439913 
>>439910
Не понял немного тебя
У нас вводится ведь сразу over9999 чисел и из них нужно выбрать меньшее.
Чтобы узнать какое из них меньшее, нам нужно все их сравнить ведь
Аноним 20/02/15 Птн 18:38:29 #410 №439914 
>>439904
Да, возвращайся с новыми данными. Самому интересно, что там неправильно.
Ну и рабочий код у тебя уже есть. Если нужны ответы, обращайся, распишу по пунктам.
Аноним 20/02/15 Птн 18:38:33 #411 №439915 
>>439904
Откуда вы берете такие видео, я понимаю в интернете все есть, но где?
Это замечательное видео, встал. На жену и дочь уже не встает, да и старые они уже и много крови мне попили
Аноним 20/02/15 Птн 18:40:33 #412 №439917 
>>439913
cin >> x; тоже делай в цикле
>>439915
страуструп, ты?
Аноним 20/02/15 Птн 18:41:19 #413 №439918 
>>439913
читаешь каждое число, сравниваешь с текущим. не нужно ВСЕ числа вычитывать сразу.
Аноним 20/02/15 Птн 18:42:44 #414 №439919 
>>439915
http://evilangel.com/
Аноним 20/02/15 Птн 18:50:55 #415 №439921 
Что такое нуль-ссылки?
Аноним 20/02/15 Птн 18:51:26 #416 №439923 
>>439918
>читаешь каждое число, сравниваешь с текущим. не нужно ВСЕ числа вычитывать сразу.
Спасибо
while (n % 10 != 0){
cout << "Последовательность \n";
cin >> n;
if (n<a) n=a;
Так?
Тогда с чем сравнивать в первый раз
Аноним 20/02/15 Птн 18:52:18 #417 №439924 
>>439923
с максимально возможным.
Аноним 20/02/15 Птн 18:52:41 #418 №439925 
>>439921
http://stackoverflow.com/questions/4364536/c-null-reference
Аноним 20/02/15 Птн 18:53:54 #419 №439926 
>>439901
Ну хули тут поделать, значит тебе не дано. Иди читай учебники пока не поймешь.
Аноним 20/02/15 Птн 18:58:04 #420 №439928 
>>439923
> while (n % 10 != 0)
Это зачем? Тебе с нулём надо сравнивать само введённое число. И сделай цикл с постусловием.
Аноним 20/02/15 Птн 18:59:34 #421 №439930 
>>439923
>Тогда с чем сравнивать в первый раз
с (unsigned)(-1), например.
Аноним 20/02/15 Птн 19:01:39 #422 №439931 
>>439930
signed с unsigned сравнивать нехорошо, ай-яй-яй!
Аноним 20/02/15 Птн 19:04:07 #423 №439933 
>>439931
Там unsigned переменные, т.к только положительные числа в последовательности
sageАноним 20/02/15 Птн 19:04:58 #424 №439934 
>>439880
В хачкиле не шарю, не знаю, что там не так. Думаю, ты используешь функции, которые надо импортить.
Аноним 20/02/15 Птн 19:10:51 #425 №439938 
>>439933
а, ну ок.
Аноним 20/02/15 Птн 19:15:58 #426 №439940 
>>439930
кастить signed в unsigned - быстрый способ получить по ебалу. numeric_limtis для кого придумали?
Аноним 20/02/15 Птн 19:17:14 #427 №439943 
>>439928
Там ведь не написано, что при вводе нуля, там о нажатии только.
Вот что получилось в итоге.
Спасибо

#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
unsigned long long a, n;
a = 18446744073709551615;
n = 1;
while (n%10!= 0){
cout << "";
cin >> n;
if (n <a) a = n;
}

cout << "Результат = " << a << "\n";
return 0;
}
Аноним 20/02/15 Птн 19:19:49 #428 №439946 
>>439940
А в этом конкретном случае чем плохо? Ну ладно, с UINT_MAX можно сравнить.
Аноним 20/02/15 Птн 19:21:15 #429 №439949 
14244492756010.jpg
>>439943
>using namespace std;
>setlocale(LC_ALL, "Russian");
>unsigned long long
>a = 18446744073709551615;
>while (n%10!= 0)
что за хуйня, блядь? гори в аду
Аноним 20/02/15 Птн 19:21:52 #430 №439950 
>>439923
Считай первое вручную, а while фигачь для ввода начиная со второго. Тогда нумерик_лимитс не нужны.

Тут можно ещё позанудствовать, а сколдько чисел будет введено: 0, 1 или больше.
Аноним 20/02/15 Птн 19:22:15 #431 №439952 
>>439949
Что не так?
Аноним 20/02/15 Птн 19:23:10 #432 №439955 
>>439946
все норм в этом случае, я ошибся.
Аноним 20/02/15 Птн 19:23:55 #433 №439956 
>>439901
В общемвот тебе работающая программа, делающая то, что тебе нужно.
http://pastebin.com/SuUGYAJG
Аноним 20/02/15 Птн 19:26:29 #434 №439959 
>>439952
при медведеве такой хуйни не писали
Аноним 20/02/15 Птн 19:29:28 #435 №439961 
>>439949
>>using namespace std;
>>setlocale(LC_ALL, "Russian");
>>unsigned long long
>>while (n%10!= 0)
Поясните долбоебу, что здесь не так?
sageАноним 20/02/15 Птн 19:30:02 #436 №439962 
>>439934
ничего не надо импортировать
думаю создатели этой капчи тоже не шарят в хчк джява тоже не работает kek
хорошо хоть в рнр шарят
Аноним 20/02/15 Птн 19:31:06 #437 №439963 
14244498666100.png
>>439952
Хуй его знает, что там в спам-листе. Тупая макака не понимает, что спам-лист филтрует, в первую очередь, простыни текста, а не спам.
Аноним 20/02/15 Птн 19:31:37 #438 №439964 
>>439961
>>439959
Аноним 20/02/15 Птн 19:34:59 #439 №439970 
>>439963
Понял, спасибо.
sageАноним 20/02/15 Птн 19:42:23 #440 №439973 
>>439962
Это на их совести. Потом попробую порешать, может найду в чем проблема. А вообще, проще выбрать новую задачу. Или вообще ни одна не работает?
Аноним 20/02/15 Птн 22:29:16 #441 №440135 
14244605563260.jpg
Привет тред, есть одна творческая работа, неоплачиваемая и нужная только мне, которая требует знания С++ на базовом уровне, а именно умения читать чужой код, искать и исправлять на нужные некоторые значения. Мякотка в том, что я даже близко не умею в программирование. Т.е. я знаю английский, имею представление о ОС и её составляющих, знаю основы информатики, но единственный раз когда я что-то писал был в школе на уроке информатики, да и то, это была программа для решения простейших мат. выражений.

Собственно вопрос: как не просто изучить переменные и инструменты языка, но и научиться быстро разбираться в чужом коде, а так же править его с минимумом анальной боли от 100500 ошибок внесённых мною из-за непонимания устройства программы. Я так понимаю, помимо языка нужно изучить принципы построения алгоритмов, основной погроммный базис и принципы работы С++? Какие источники в этом помогут? Можно ли совместить усвоение базы с изучением языка? С чего вообще начинать, учитывая мои намерения, если я не планирую идти в специалисты, а язык мне нужен только для этого хобби?
Аноним 20/02/15 Птн 22:50:00 #442 №440160 
14244618002010.png
>>440135
>>научиться быстро разбираться в чужом коде
По сути - пикрелейтед.
Аноним 20/02/15 Птн 22:50:36 #443 №440161 
>>440135
Никак.
Аноним 20/02/15 Птн 22:57:17 #444 №440172 
>>440135
Изучи базовый синтаксис языка. Это позволит менять значения переменных. Если менять логику, то уже надо видеть алгоритмы, понимать их. Меняешь что-то, смотришь что сломалось/изменилось. Паралельно пишешь свои маленькие програмки с таким же алгоритмом. За полгода сможешь сносно читать код, понимать его. Остальное только с опытом разработки.
Аноним 20/02/15 Птн 23:07:09 #445 №440182 
>>440160
В разумных пределах, конечно.
>>440161
Если другие люди это делают, значит это возможно, что за глупости.
>>440172
Благодарю, так и начну, пожалуй.
Аноним 20/02/15 Птн 23:11:30 #446 №440184 
>>440182
Другие люди? Какие другие люди? БЫСТРО - никак, только практика и опыт, сын багов трудных. Читать то ты умеешь, а написать войну и мир? Вот то-то.
Аноним 20/02/15 Птн 23:25:52 #447 №440190 
>>440182
Что другие люди делают? Другие люди ещё в школе пишут программки на паскале, на первом курсе пишут программы на си, на втором курсе идут работать кресто-джунами, и к концу 5 курса всё равно задают вопросы вида... ну я не знаю, почитай тред.

Не на тот язык ты замахнулся, чтобы быстро править чужой код. Чужой код в крестах может быть чем угодно. Я вот пытаюсь какие-то маленькие программки писать, и у меня примерно 10 вопросов на каждые 10 строчек кода: "Почему так? Что за говно! А нельзя было так?" и т.д.

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

Вообще, на самом деле, изучить малую часть языка можно, написав свои laba2. Но я так понял, ты хочешь полистать две-три книженции и читать чужой код. Так вот, ХУЙ ТАМ ПЛАВАЛ.
Аноним 21/02/15 Суб 00:37:33 #448 №440216 
14244682538740.gif
>>439915
Почти любое видео с Майком Адриано, братюнь.

>>439914
Само собой. В понедельник-вторник подойду к преподу и отпишусь.
sageАноним 21/02/15 Суб 07:09:27 #449 №440290 
>>440190
Ты сравни исходники, к примеру, Qt и какой-нибудь сишной либы. Охуеешь, насколько сишный код тяжелее понимать. (Я про архитектуру приложения, если что, а не отдельно взятые statement'ы).
Аноним 21/02/15 Суб 11:58:51 #450 №440325 
>>438848
>>но я знаю, что делаю и для чего.
Полагаю, что таки нет, ведь в божественном С++ нет (и не будет) стандартизованного ABI, а это значит, что тебе очень повезёт, если в ходе твоих манипуляций с этим указателем программа упадёт сразу, а не начнёт себя забавно вести когда-нибудь потом. Исключение составляют случаи, когда ты компилишь библиотеку на том же компиляторе и с тем же набором флагов, но и там с оговорками.
Аноним 21/02/15 Суб 12:10:00 #451 №440330 
>>439961
>>setlocale(LC_ALL, "Russian");
>>unsigned long long

Бля, ну это просто праздник какой-то. Документацию не читай @ на удачу вызывай.
Аноним 21/02/15 Суб 12:14:39 #452 №440334 
>>440330
Pardon moi. Объебался я сам, как минимум в реализации crt от ms такой код вполне легитимен.
Аноним 21/02/15 Суб 12:22:40 #453 №440337 
>>426441
>почему пойнтеры после realloc херятся знаю
Почему?
Аноним 21/02/15 Суб 12:30:25 #454 №440341 
>>440337
Realloc может (и часто это делает) переместить блок памяти. Все указатели на начало/тело этого блока, которые ты конечно же рассовал по своей программе то тут, то там начинают указывать неизвестно куда.
sageАноним 21/02/15 Суб 12:33:21 #455 №440343 
>>440325
Ну, хорошо,
>знаю, для чего делаю
А не просто потому что могу. Хотя уже не актуально, в любом случае.
Аноним 21/02/15 Суб 13:08:37 #456 №440347 
>>436967
http://ideone.com/5iD2p7
Лямбда функция - это не обычная функция, а по сути дела объект некоторого анонимного класса с перегруженным operator(). Поэтому лучше использовать auto или std::function.
Аноним 21/02/15 Суб 13:11:39 #457 №440349 
>>440135
Как правило, читать чужой код труднее чем писать свой. Особенно на C++.
Аноним 21/02/15 Суб 13:16:19 #458 №440350 
>>439389
>в стеке 13 байт
Разве такое возможно?
Аноним 21/02/15 Суб 13:22:06 #459 №440351 
>>440350
Полагаю, что имеется в виду смещение от предыдущего указателя стека (до вызова процедуры). В таком случае, если процедура объявлена с соглашением cdecl, то да, 13 байт - очень даже реально.
Аноним 21/02/15 Суб 13:24:01 #460 №440352 
>>438072
В деструкторе shared_ptr будет вызван delete или delete с квадратными скобками?
Аноним 21/02/15 Суб 13:25:17 #461 №440353 
>>440352
Обычный delete, квадратные скобки будут вызваны в shared_array.
Аноним 21/02/15 Суб 15:19:43 #462 №440396 
Я начинаю, необходимо перевести целое натуральное число в двоичную систему с помощью функции.

void print_in_binary(int x)
{}

Дело в том, что нельзя использовать массивы, а только простенькие пизденки, такие как ifelse, while;

Интересует не столько вопрос написания кода, как сам алгоритм. Вот например брем число 100, while <деление на 2, вывод 1, если есть остаток, вывод 0, если нет остатка> в принципе число есть, но его необходимо перевернуть, опять же, элементарными средствами. И тут я проебан.
sageАноним 21/02/15 Суб 16:06:34 #463 №440410 
>>440396
http://ideone.com/nwuixV
Аноним 21/02/15 Суб 16:11:52 #464 №440416 
>>440410
А комментарии можно, лол?
Вот мой вариант.
http://ideone.com/Saxjss
Но выводит наоборот.
Аноним 21/02/15 Суб 16:19:32 #465 №440423 
>>440410
Поклонникам функционального программирования и всяческих рекурсий напоминаю, что здесь вам не тут. Только императив, только хардкор.

http://ideone.com/zaVlMv
sageАноним 21/02/15 Суб 16:21:58 #466 №440426 
>>440423
> printanut(100);
> 19
))0
Аноним 21/02/15 Суб 16:25:30 #467 №440429 
>>440426
Ват?
Аноним 21/02/15 Суб 16:27:28 #468 №440432 
>>440429
А ну да, объебался с ордером. Тебе надо взять маску вида (1 << ((sizeof(int) * 8) - 1)) и двигать влево, а не вправо.
sageАноним 21/02/15 Суб 16:27:30 #469 №440433 
>>440429
тебе надо reverse результат
Аноним 21/02/15 Суб 16:27:35 #470 №440434 
Анончики, помогите.
Как задать одномерный динамический массив вещественных чисел?
Нагуглил
float a = (float ) malloc(nsizeof(float));
но при компиляции выдает

Ошибка 1 error C2040: a: "float
" отличается по уровням косвенного обращения от "float"
sageАноним 21/02/15 Суб 16:28:14 #471 №440437 
>>440432
поспешил - людей насмешил
%ихихихих%
sageАноним 21/02/15 Суб 16:30:00 #472 №440439 
>>440434
какой красивый дизайн поста
Аноним 21/02/15 Суб 16:31:37 #473 №440442 
>>440439
Мудак, обосрался, бывает.
Аноним 21/02/15 Суб 16:37:47 #474 №440443 
>>440434
Определение malloc'а подключил?
Аноним 21/02/15 Суб 16:40:01 #475 №440446 
>>440443
Скорее всего нет и компилер С думает, что malloc возвращает int, а не void*.
Аноним 21/02/15 Суб 16:42:35 #476 №440449 
>>440443
Нет, каким образом это сделать?
Аноним 21/02/15 Суб 16:43:35 #477 №440450 
>>440449
#include <stdlib.h>
Аноним 21/02/15 Суб 16:48:40 #478 №440455 
>>440450
Спасибо, но не помогло.
Может еще нужно что-нибудь подключить?

#include <iostream>
#include <stdlib.h>

Аноним 21/02/15 Суб 16:50:07 #479 №440457 
>>440455
Хоспади.

float *p = calloc(sizeof(float), 100);
Аноним 21/02/15 Суб 17:36:39 #480 №440479 
>>440434
float* new_arr = new float[dimension];
Аноним 21/02/15 Суб 18:57:33 #481 №440530 
>>440479
А как мне теперь выводить элементы из массива?
float*a = new float[N];
Аноним 21/02/15 Суб 19:04:59 #482 №440537 
>>440530
a
sageАноним 21/02/15 Суб 19:06:07 #483 №440540 
>>440537
бэ))
ахахаххахах)))0)))
Аноним 21/02/15 Суб 19:28:19 #484 №440555 
>>440537
Миша?
Аноним 21/02/15 Суб 21:13:18 #485 №440608 
>>440555
Хуиша.
sageАноним 21/02/15 Суб 21:22:47 #486 №440610 
>>440434
Знаешь, бро, сначала я открыл ideone, дабы накидать тебе код и пояснить нормально.
Но потом я понял, что ты блядский петух, не способный ввести в гугл один запрос. Чтобы кликнуть на первую же ссылку.
Пидор, блядь.
А теперь у меня полыхает от погромиздов, блядь. ХОЧУ БЫТЬ ПОГРОММИСТОМ ПОСОВЕТУЙТЕ ЛИТЕРАТУРЫ. Я ПОГРОМИЗД КАК СОЗДАТЬ МАССИВ?. Тратишь на вас, уёбков, время, а вы одну строку в гугл вбить не можете, уёбки.
sageАноним 21/02/15 Суб 21:30:33 #487 №440617 
>>440610
а у меня не полыхает)
Аноним 22/02/15 Вск 11:06:29 #488 №440740 
>>440610
Перед тем как пойти сюда, я гуглил и пытался делать то, что там описано
В итоге обосрался с тем, что я объявил переменную, которой обозначал массив.
sageАноним 22/02/15 Вск 21:58:16 #489 №440954 
Сегодня пытался собрать один проект с кучей зависимостей на шинде. Нет, против шинды ничего не имею, дело в другом.
Качаю, стало быть, исходники, распаковываю, соснольку открываю, перехожу в нужную папку. Открываю ридми, и... начинается. Чтобы собрать эту библиотеку, используйте систему сборки такую-то. Ну, хорошо. А вот тут используйте систему сборки уже другую. А здесь, чтобы все заработало, встаньте под углом 43.5 градуса к горизонту, начните дрочить и напевать гимн СССР. А вот тут можете даже не пытаться что-то сделать - не заработает все равно, и никакие CPPFLAGS="-Lc:/путь/к/очередной/параше/ -lparasha" не поможет: библиотеку мы видеть отказываемся.
Кстати, о библиотеках. Мы, авторы охуенной библиотеки, которая так востребована, что была скачана целых три раза за последний год, ебали всех в жопу, и потому наше говно компилится в .dll + .def (хуярьте свои ссаные .a сами). А мы, авторы еще более охуенной библиотеки, ебали ту библиотеку и ее авторов, и нахуярим .lib и .exp (что это блять вообще?), просто потому, что можем.
Больше не могу писать, полнейшее расстройство и апатия из-за всех этих дегенератов. Почему нельзя, сука, мать его, ПРОСТО сделать нормальный рабочий configure.exe, который, мать его, будет понимать CPPFLAGS? А потому что ебали мы в рот тебя, пользователь, пердолься с очередной высранной школьником нитакойкаквсе системой сборки вместо написания кода.
Закончилось, кстати, тем, что curlpp то ли не слиноквалась, то ли собралась без экспорта символов. Тут мое терпение лопнуо, и я нажал кнопку выключения.
Благодарю за ваше ебаное внимание.
Аноним 23/02/15 Пнд 00:28:23 #490 №441003 
>>440954
> не может сам собрать статическую либу
> не знает, что .lib - по сути тот же .a (хотя пользоваться ей в mingw не желательно)
> не осилил поставить msys
> configure.exe
Аноним 23/02/15 Пнд 04:14:31 #491 №441072 
>>439915
>На жену и дочь уже не встает
>и дочь
Ой-вей...
sageАноним 23/02/15 Пнд 08:52:32 #492 №441135 
>>441003
Привет, пердолик. Вообще-то мсис идет с мингв в комплекте, а .либ не линкуется мингв. Но дело не в этом. Нахуя мне пердолиться с мсис и прочими анальными игрушками? Мне надо как можно быстрее собрать это говно и заняться делом.
sageАноним 23/02/15 Пнд 09:37:21 #493 №441138 
>>441135
Линкуются и статические, и динамические - формат тот же. Бывают проблемы из-за ABI и всяких внутренних функций, но в простых случаях все работает.
> Нахуя мне пердолиться
> Мне надо как можно быстрее
> Не осилил запустить sh из MSYS и сделать ./configure; make. Вместо этого долго пердолится.
Аноним 23/02/15 Пнд 09:44:04 #494 №441139 
>>426441
>Стандарт читать нунахуй.
Ну вот есть православные ресурсы для лентяев вроде тебя и меня.

http://en.cppreference.com/w/cpp -- официальный сайт, но пишется дебилами индусами. Они составляют английские предложения так, что смысл иногда противоположный. Но зато полная спецификация.

http://www.cplusplus.com/info/faq/ -- неофициальный сайт, но очень внятный и наглядный. Всё сразу разбито по категориям: что к какой библиотеке написано прямо в шапке, описаны отличия C++11 и старого стандарта (там в шапке переключаешь, по умолчанию описывается старый стандарт).

В общем, в сумме эти два ресурса исчерпывают все твои потребности.
Аноним 23/02/15 Пнд 09:58:51 #495 №441141 
>>435602
>С++11 у Страуструпа ты вряд ли найдешь.

http://www.stroustrup.com/Programming/ -- для новичков

http://www.stroustrup.com/4th.html -- для крутых парней
sageАноним 23/02/15 Пнд 10:00:05 #496 №441142 
>>441138
Вообще-то осилил, из него и запускал. А ты хуесос простой, попробуй сначала слинковать, потом кудахчи.
sageАноним 23/02/15 Пнд 10:05:53 #497 №441145 
>>441142
Алсо, со всем этим я так или иначе разобрался. Проблема вот в чем:
>curlpp
>msys.bat
>cd /put'/k/papke/s/govnom
>./configure --prefix=/nyashnii/put' CPPFLAGS="-I" (ну ты полян, там дальше пути)
Получаем нормальные .a-файлы, все чики-пуки. Собираем проект, к которому линкуем curlpp
>-L/nyashnii/put'/lib/ -lcurlpp
>undefined reference to че-то-там-из-курлпп, штук 6 разных
Заметь, я, как ты и говоришь, просто запустил configure из-под msys. И получил хуем в жопу.
Аноним 23/02/15 Пнд 10:44:09 #498 №441150 
>>441145
У меня на венде буста нет. Ты бы лучше сказал, какие конкретно reference у тебя undefined.
sageАноним 23/02/15 Пнд 10:52:14 #499 №441154 
>>441150
Лень опять включать это говно. Скорее всего на curlpp::Cleanup, curlpp::Easy, curlpp::options::Url, curlpp::RuntimeError, curlpp::LogicError (это то, что у меня используется). Хедеры curlpp/cURLpp.hpp, curlpp/Easy.hpp, curlpp/Options.hpp.
На пинусе все идеально собралось и слинковалось, а тут пердольство какое-то, нихуя не приспособлено для работы.
sageАноним 23/02/15 Пнд 10:58:19 #500 №441156 
>>441150
И вообще, вот тебе буст http://rghost.ru/private/7xQprZMBt/1494a64387ea191c15660533852d9001
sageАноним 23/02/15 Пнд 11:05:21 #501 №441159 
14246787211680.png
g++ -Wl,-s -mthreads -shared -Wl,--out-implib,release\libololord0.a -o release\ololord0.dll object_script.ololord.Release -L"c:\Qt\4.8.6-mingw-4.8.2\lib" release\ololord_resource_res.o -LC:/qt/lib/beqt-qt4/share/beqt/../../lib/ -lBeQtCore4 -Lc:/c++/lib/cppcms/lib/ -lcppcms -lbooster -Lc:/c++/lib/odb/lib/ -lodb -lodb-sqlite -Lc:/c++/lib/odb-qt-qt4/lib/ -lodb-qt -Lc:/c++/lib/curl/lib/ -lcurl -Lc:/c++/lib/curlpp/lib/ -lcurlpp -Lc:/c++/lib/boost/lib/ -lboost_regex -Lc:/c++/lib/srchilite/lib/ -lsource-highlight3 -Lc:/c++/lib/file/lib/ -lmagic -Lc:/c++/lib/sqlite/lib/ -lsqlite3 -lQtGui4 -lQtCore4
Makefile.Release:161: recipe for target 'release\ololord0.dll' failed
mingw32-make[3]: Leaving directory 'C:/Qt/build/active/ololord-Desktop_Qt_4_8_6_MinGW_4_8_2_32bit-Release/src/lib'
Makefile:34: recipe for target 'release' failed
mingw32-make[2]: Leaving directory 'C:/Qt/build/active/ololord-Desktop_Qt_4_8_6_MinGW_4_8_2_32bit-Release/src/lib'
Makefile:40: recipe for target 'sub-lib-make_default' failed
mingw32-make[1]: Leaving directory 'C:/Qt/build/active/ololord-Desktop_Qt_4_8_6_MinGW_4_8_2_32bit-Release/src'
Makefile:39: recipe for target 'sub-src-make_default' failed
./release\abstractboard.o:abstractboard.cpp:(.text+0x8330): undefined reference to `_imp___ZN6curlpp4EasyC1Ev'
./release\abstractboard.o:abstractboard.cpp:(.text+0x8381): undefined reference to `_imp___ZN6curlpp4Easy6setOptERKNS_10OptionBaseE'
./release\abstractboard.o:abstractboard.cpp:(.text+0x84e7): undefined reference to `_imp___ZlsRSoRKN6curlpp4EasyE'
./release\abstractboard.o:abstractboard.cpp:(.text+0x8815): undefined reference to `_imp___ZN6curlpp4EasyD1Ev'
./release\abstractboard.o:abstractboard.cpp:(.text+0x896b): undefined reference to `_imp___ZN6curlpp4EasyD1Ev'
C:/MinGW/4.8.2/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../i686-w64-mingw32/bin/ld.exe: ./release\abstractboard.o: bad reloc address 0x2 in section `.text$_ZN27BoardFactoryPluginInterfaceD1Ev[__ZN27BoardFactoryPluginInterfaceD1Ev]'
collect2.exe: error: ld returned 1 exit status
mingw32-make[3]: [release\ololord0.dll] Error 1
mingw32-make[2]:
[release] Error 2
mingw32-make[1]: [sub-lib-make_default] Error 2
mingw32-make:
[sub-src-make_default] Error 2
13:02:23: Процесс «C:\MinGW\4.8.2\bin\mingw32-make.exe» завершился с кодом 2.
sageАноним 23/02/15 Пнд 11:06:17 #502 №441160 
>>441159
Блять, разметка. http://pastebin.com/frjGPNJ0
Аноним 23/02/15 Пнд 13:19:32 #503 №441194 
>>439771 >>439956
Братишка, один вопрос.

http://pastebin.com/SuUGYAJG
>uint8_t compressed = (uint8_t)calloc(k, sizeof(uint8_t));
>sizeof(uint8_t)

Почему не написать единицу в качестве второго аргумента? uint8_t разве может занимать не один байт?
Аноним 23/02/15 Пнд 14:11:55 #504 №441211 
>>441194
Можно написать. Но так не нужно задумываться, что же такое 1 в этом контексте. А правильнее писать вообще так:
uint8_t∗ compressed = calloc(k, sizeof(∗compressed));
Во-первых, каст в Си не нужен, потому что calloc возвращает void∗, а во-вторых, если потребуется сменить тип compressed, не придется править еще и вызов calloc.
Аноним 23/02/15 Пнд 15:47:43 #505 №441246 
>>440434
А почему не std::vector<float>? Зачем эти пердоленья с аллоками?
Аноним 23/02/15 Пнд 16:19:54 #506 №441257 
>>441246
потому что Си?
Аноним 23/02/15 Пнд 16:24:56 #507 №441260 
Аноны, помогите с задачей.
Дан массив из N элементов(вещественных чисел). И нужно провести с элементами разные действия..

Как заполнить массив вещественными числами?
Нагуглил
(rand()) / float((rand()))
Но он выводит только положительные числа, а нужны еще и отрицательные
Аноним 23/02/15 Пнд 16:27:40 #508 №441262 
>>441260
>нужны еще и отрицательные
Вычти из результата сколько-нибудь, будут и отрицательные.
Аноним 23/02/15 Пнд 16:31:16 #509 №441269 
>>441262
Блять, какой же я тупой. Спасибо.
sageАноним 23/02/15 Пнд 17:11:07 #510 №441291 
>>441269
Да, ты действительно тупой. Уёбывай отсюда и никогда не возвращайся.
Аноним 23/02/15 Пнд 17:11:25 #511 №441292 
Аноны, как указать на модуль элемента массива??
Аноним 23/02/15 Пнд 17:17:15 #512 №441296 
>>441292
(abs(arr))
Аноним 23/02/15 Пнд 17:59:57 #513 №441322 
Что здесь не так?
Нужно заменить отрицательные элементы массива их квадратами и вывести элементы по возрастанию.

for (i = 0; i < N; i++){
{
if (a < 0) a = (a * a);
}
{
if (a > a[i + 1]){
m = a; a = a[i + 1]; a[i + 1] = m;

}
}
}
for (i = 0; i < N; i++)
{
cout << a << "\n";
}

Аноним 23/02/15 Пнд 18:02:58 #514 №441325 
14247037782500.png
>>441322
Аноним 23/02/15 Пнд 18:05:14 #515 №441328 
>>441325
Такая "сортировка" не сработает.
sageАноним 23/02/15 Пнд 19:35:26 #516 №441379 
>>441159
Продолжение банкета.
Решил я, значит, еще раз попытаться. Делал в этот раз все по уму. Поудалял все говно, распаковал чистенькие исходники заново, запустил msys. Чтобы избежать проблем с указанием путей к либам, решил ставить все в папку с mingw, в которой при конпеляции все ищется. И что же? Буст поставил нормально. zlib нормально. Openssl тоже. Начал ставить curl, а он openssl не видит. Продублировал в CPPFLAGS, не помогло. Плюнул и собрал так. Начал собирать curlpp, а он не видит curl. Причем, заметьте, буст видно, а курл нет. Так может все же не я виноват, а?
Аноним 23/02/15 Пнд 20:33:33 #517 №441401 
http://pastebin.com/geYa7V84
Помогите, почему иногда крашится???
Аноним 23/02/15 Пнд 20:45:06 #518 №441409 
>>441401
строчки 48, 49
если i = N-1, то j = N. выход за границы массива.
Аноним 23/02/15 Пнд 21:50:24 #519 №441438 
>>441409
поменял на j<N-1
http://pastebin.com/JcNsRSPc
Все равно, иногда крашится.
Аноним 23/02/15 Пнд 22:09:08 #520 №441447 
>>441438
i < N-1
for выполянется как минимум 1 раз независимо от условия.
Аноним 23/02/15 Пнд 22:33:08 #521 №441455 
>>441447
Еще что-то крашит до этих строк, т.к выводится только список элементов перед крашем.
Аноним 23/02/15 Пнд 22:52:25 #522 №441466 
>>441455
18 строка. Может rand() возвращает 0?
Аноним 23/02/15 Пнд 22:57:18 #523 №441469 
>>441455
index не проинициализировано, если первый жлемент максимальный
Аноним 23/02/15 Пнд 23:05:29 #524 №441473 
>>441469
и вообще, что за адская смесь Си-стиля и С++-стиля? используй std::vector, std::swap, std::sort
За такой код на ревью убил бы.
Аноним 23/02/15 Пнд 23:29:08 #525 №441485 
>>441473
минимально причесанный код.
http://pastebin.com/391BwTaS
Аноним 24/02/15 Втр 11:55:42 #526 №441603 
>>439771
Кстати, у тебя с приоритетами вроде здесь наёбка.
>compressed[k] |= (source[i_n])?1:0 << j;

http://ru.cppreference.com/w/cpp/language/operator_precedence

Я полагаю, ты хотел сказать следующее:
>compressed[k] |= ((source[i_n]) ? 1 : 0) << j;
Аноним 24/02/15 Втр 12:46:06 #527 №441610 
>>441485
Что почитать, чтобы понять твой код?
Нам препод книжку дал, но там очень поверхностно описано, больше половины гуглить приходится.
Аноним 24/02/15 Втр 13:02:33 #528 №441615 
>>441610
Cppreference.com
Аноним 24/02/15 Втр 15:28:48 #529 №441666 
>>441603
Да-да, я без IDE под рукой писал. Все уже переделано:
>>439956
Аноним 24/02/15 Втр 17:07:24 #530 №441714 
14247868444860.jpg
Посоны, не бейте. Говнокод ли, а ли нет?
[code]
b.pos.x = (b.pos.y? (b.pos.x/b.pos.y) : b.pos.x) (b.speed timeStep);
b.pos.y = (b.pos.x? (b.pos.y/b.pos.x) : b.pos.y) (b.speed timeStep);
[/code]
Аноним 24/02/15 Втр 17:09:20 #531 №441715 
>>441714
О чем я думал, рассчитывая, что не запорю разметку. Вот: http://ideone.com/xSDeAx
Аноним 24/02/15 Втр 18:05:14 #532 №441725 
>>441715
Конечно говнокод. Что это должно делать?
алсо перекат
>>441690
Аноним 28/02/15 Суб 03:24:29 #533 №443703 
>>439914
Еще раз спасибо за помощь. Про тебя я не забыл, анон. Препода напряг, думает. Как будет новая инфа - отпишусь.
comments powered by Disqus

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