Этого треда уже нет.
Это копия, сохраненная 27 сентября 2015 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
33 Кб, 600x400
Оффициальный™ традиционный® C++ тред #3 #518004 В конец треда | Веб
Над топью asm'а, байтами смердящей,
Возвысился крестов угрюмый вал,
Отпором быдлу яростным грозящий.

И тот, кто вел меня, ввысь указал:
"Взгляни: взвились, узрев тень говнокода,
Три фурии, которых Он призвал.

Инкапсуляция затмит в обитель входы,
Наследование - средняя из них -
Даст пришлецам вкусить чужого плода,

Полиморфизм поглотит суть". И он затих.


Литература:

Для нюфань:
Три классических учебника для начинающих. Все примерно одинаковой годноты, читать имеет смысл только какой-нибудь один,

который больше приглянется.
Герберт Шилдт - C++. Базовый курс (2010) - http://goo.gl/qMLAFl
Роберт Лафоре - Объектно-ориентированное программирование в C++ (2004) - http://goo.gl/QvjR6x
Стивен Прата - Язык программирования C++ (2012) - https://goo.gl/z7kA8u
Для желающих сразу начинать с Откровений Создателя - классика (может показаться суховатым):
Бьерн Страуструп - Программирование. Принципы и практика использования C++ (2009) - https://goo.gl/87qXtW

Учимся не писать говнокод:
Книги про основные подводные камни для тех, кто осилил предыдущий пункт. Следует пролистать все.
Скотт Мейерс - Эффективное использование C++ (2005) - https://goo.gl/wsDXGz
Скотт Мейерс - Наиболее эффективное использование C++ (1996) - https://goo.gl/tHa0tO
Скотт Мейерс - Effective Modern C++ (на ангельском) (2015) - https://goo.gl/uImH0J
Скотт Мейерс - Эффективное использование STL (2002) - https://goo.gl/QtS8Dc
Герб Саттер и Андрей Александреску - Стандарты программирования на языке C++ (2005) - https://goo.gl/Cpk4YR

Наиболее детальные описания языка:
Бьерн Страуструп - Язык программирования C++ (2010) - https://goo.gl/iZBDiV
Стандарт языка (на ангельском) - http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3337.pdf

Тонкости языка (для гурманов):
Андрей Александреску - Современное проектирование на C++ (2002) - https://goo.gl/e1V5BC
Герб Саттер - Решение сложных задач на C++ (2002) - https://goo.gl/iWaa6S
Герб Саттер - Новые сложные задачи на C++ (2004) - https://goo.gl/4nn512
Также для легкого чтения подойдет книжка c историей создания C++:
Бьерн Страуструп - Дизайн и эволюция C++ (1994) - https://goo.gl/FqbPwo

Отдельные аспекты:
Читать по необходимости.
Энтони Уильямс - Параллельное программирование на C++ в действии (2012) - https://goo.gl/qJfBkD
Николаи Джоссатис - C++. Стандартная библиотека (2012) - https://goo.gl/PEyiMH
Дэвид Вандевурд, Николаи Джоссатис - Шаблоны C++. Справочник разработчика (2003) - http://goo.gl/0M4NpG

Ссылки:

Годный блог, в котором все просто и понятно тян не нужны кококок борщ - http://alenacpp.blogspot.ru/
Краткие описания библиотечных функций и контейнеров - http://ru.cppreference.com/w/
Блог Герба Саттера (на ангельском) - http://herbsutter.com/
Блог Скотта Мейерса (на ангельском) - http://scottmeyers.blogspot.ru/

Памятка:

Вопросу по синтаксису идут на хуй.
Лабы идут на хуй.
"Как мне сделать Х на чистых крестах без библиотек" идут на хуй.
Все идут на хуй.
Хейтер сосет члены на пару со своей мамашей.

Тег [code] работает через жабаскрипт-костыль: https://github.com/ololoepepe/MakabaCode

Предыдущий: >>511121
#2 #518012
Перекрестился
#3 #518054
Повторяю реквест из прошлого треда: кто-нибудь видел доку/референс к плюсовым биндингам ncurses?
#4 #518068
Кто-нибудь пробовал biicode? И вообще кто-нибудь что-нибудь может рассказать о менеджерах зависимостей под C++? Не все же ручками поддерживать.
#5 #518070
>>518068
Cpm.
Biicode платный вроде даже для использования, не говоря уж по хостинг, так что не взлетит.
#6 #518127
>>518070
Да не, он опенсурсный. Там есть какая-то платная поддержка, но обычный репозиторий просто доступен + можно свои серваки поднимать.
Я чего интересуюсь, хочу для личного проекта в плюсы вкатиться, а если вкатываться, то лучше это по-умному сделать и облегчить себе страдания.
#7 #518134
>>517661

На счет переворота строки. Задумался сегодня утром над этой задачкой. И вот что надумал. Поясните прошаренные крестогоспода, верно ли такое решение? Пробелы не считает, размер строки не динамический; но ведь это и не обязательно?
я только учусь. сам в смысле, а не в вузике

char St[20] = {0};
cout << "Vvedite stroku" << "\n";
cin >> St;
for (int i = strlen(St)-1; i >= 0; i--)
cout << St;
cout << "\n" << "END";
#8 #518142
Народ, сори что здесь задаю, хочу услышать вас а не похапистов и питонеров. Реально ли без побочных эффектов начать учиться программировать с крестов? Или реально нужно начинать с чего-то скриптового? Просто меня как-то не сильно тянет в веб, хочется либо C либо C++ но второй предпочтительней, ибо даёт понятие о классах. Да, школота.
sage #9 #518146
>>518142
Реальнее некуда. Но лучше начни с C. Я тоже сейчас пытаюсь кресты изучать, но без С чувствую огромный пробел в фундаментальных знаниях.
#10 #518152
>>518142
Реально, тем более если школьник - время то есть, если пойдешь в универ на прогера то все равно крестами ебать будут. Кресты это не совсем выгодно по времени, и работу ньюфагу тяжело найти. Но если есть желание именно крестами занятся то можно, в крайнем случае потом перекатишся в что-то другое. Если ты действительно выучишь язык то лишним это не будет.
sage #11 #518187
>>518004

>Годный блог, в котором все просто и понятно


>http://alenacpp.blogspot.ru/


Да пошёл ты нахуй, блядь, со своей говнокодершей.

>>517072

>Он не позволяет на строку вверх подняться.


Такс-так-такс, а что тут у нас? Классика-классика-классика. Нельзя в <iostream> на строку вверх подняться, это тонкости реализации конкретной консольки, иостриму про неё откуда знать, он чары петушит.
#12 #518251
>>518187

> Да пошёл ты нахуй, блядь, со своей говнокодершей.


Хуебляди бомбит от того, что тян тоже умеют писать код?
#13 #518253
>>518251

>тян тоже умеют писать код


Писать код умеют, программировать - нет.
sage #14 #518256
>>518187
Борщехлебу-кукаретику порвало от того, что можно объяснить что-то в двух словах без матиши. "Как же так, нипарядак! Слишкма проста! Былла! Пок-пок-пок!"
sage #15 #518257
>>518253
Программируют стиральные машины, а разработчик пишет код. Бывают еще такие, кто код не пишет, а дрочит факториалы, кушая борщ. Но они тоже не программисты.
Batya #16 #518259
>>518142
Сам школьник, учу кресты. Ибо паскаль школьный уж больно всратый, а С от него не сильно ушел.
#17 #518265
>>518256
Просто ты мозгом мертв, быдло. Умри.
#18 #518267
>>518253
Гнилозубая хуемразь забыла, кто был первым программистом?
#19 #518270
>>518187

>http://alenacpp.blogspot.ru/


Смотрите, что эта шлюха читает:
https://terrytao.wordpress.com/2015/07/20/a-nonstandard-analysis-proof-of-szemeredis-theorem/

Интересно, она там хоть что-нибудь понимает, или она пускает пыль в глаза быдлу, которое не может оценить сложность того, чем занимается Теренс Тао?
sage #20 #518278
>>518265
И тут ты такой кидаешь свой гитхаб или пуф места работы с должностью, или тихо причмокиваешь писюном.
sage #21 #518279
>>518278

>пруф

#22 #518280
>>518273
Проиграла с мамкиного шовиниста.
Если ты считаешь себя себя лучше Алены, то почему не работаешь в Micosoft?
sage #23 #518281
>>518267
Адам. Потом его унаследовала тян через функцию friendzone rebro(Adam&)=1;
sage #24 #518282
>>518273
"Все мужики козлы, все бабы дуры." Стереотипное быдло пытается косить под илитку.
sage #25 #518288
>>518285
Маня, ты уже все штаны обосрал со своей "аргументацией", прекрати, маме же стирать потом.
sage #26 #518289
>>518280
Оп треда - тян?
съебываюсь отсюда быстрорешительно
#27 #518290
>>518285
Лучше быть няшной проприетарной госпожой, чем обоссаным вонючим гнилозубым спермобаком, которому даже проститутка не даст. Остается только сексоваться со своей рукой и линуксом.
#28 #518293
>>518289
Нет, просто мимо проходила из /dev, зашла поржать над убогими.
sage #29 #518297
>>518291
Не обобщай, но тян-кодер это что то из области пасхальных зайчиков.
sage #30 #518299
Кому то припеклоу...
#31 #518302
Продолжай. Рада, что тебе бомбит, хуястый.
sage #32 #518308
>>518306
Да у тебя жи стековерфлоу
sage #33 #518335
Мб харош уже?
sage #34 #518340
>>518251
Уж не знаю, кто там тебя наотвечал вместо меня, но мне бомбит не от того, что она female, а от решительного воскладывания хуйца на стандарт языка, причём не единократно замеченного. И я устал писать об этом в каждом треде, что её обоссывает собственная френд-лента и т.д.

Да, чтобы добить твою "аргументацию", у меня есть знакомая, которая давала мне советы по кодингу (Почему? Потому что я сам у неё спроси.). Ну так вот, её советы со стандартами кодинга совместимы со стандартом языка на 100%, а твоя Алёна-шлюха нет.

>>518280

>Если ты считаешь себя себя лучше Алены, то почему не работаешь в Micosoft?


Пиздец, нахуя я на тебя время тратил вообще, бездарное животное? Пиздуй из раздела обратно в /fem , потому что с таким типом аргументации даже в /dev тебя обоссут.

>>518256
Я процедурный дристальшик с пунктиком на кросс-платформенности, мимо.
#35 #518350
>>518338

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


Но ведь сосачеры (и ты тоже) как раз такими и являются. И в первую очередь программистишки.
Алсо, чисто для секса (не для семьи) какая разница, девственница или нет? Девственница даже хуже, ее труднее затащить в постель.
Сам встречаюсь с РСП, мне норм (жениться не собираюсь, конечно).
#36 #518359
Сап анонасы-анонасики. Вопрос о массивах объектов, которые не имеют конструктора по умолчанию. Короче, хуй ты их задашь, только массивом указателей.

Если понаделать этих дефолтный конструкторов, задать массив, нормой ли является тупорылое присвоение методам классов значений? До этого они передавались в конструктор. Это выглядит убого, на мой взгляд, но как-то по-другому не выходит. Вариант с инициализацией массива
Сl cl[2]
A::A():cl[0](1,2),cl[1](2,3){}
в конструкторе класса, содержащий массив объектов, не работает нихуя. Все способы, которые видел в инете, являются каким-то костылями.
#37 #518360
>>518142

>Реально ли без побочных эффектов начать учиться программировать с крестов?


Подвис.
#38 #518361
>>518360
Мимо-борщехлеб
sage #39 #518366
Начальник! Ебни порвашку.
#40 #518466
Бля, что с тредом? Ну як же тааак?
#41 #518473
>>518467
Причем виновата не баба, а долбоёбы у которых синдром тян не нужны.
64 Кб, 589x604
#42 #518487
Выручайте господа, изучаю c++. Была задачка по вводу 10 значений в массив значений short, и в случае если в массив вводится символ, а не цифра, попросить о повторном вводе числа. Пока, что ввод повторно числа не сделал, хотел простое прерывание ввода чисел сделать, если вводится число. Но как только ввожу число, все крашится с ошибкой:
Программа "[178944] test.exe: Машинный код" завершилась с кодом 3 (0x3).
Гуглил, говорят, что ошибка потока ввода.
Где-то говорили, что "код русской буквы не пренадлежит интервалу от -1 до 255" Но крашится, даже если я ввожу английские или русские литеры.

[code]

#include <iostream>
#include <string>
#include <conio.h>
#include <clocale>
#include <cctype>

using namespace std;

int main()
{
\tint number = new int;

\t
number = 10;

\tdouble _pojertvovaniya = new double[number];

\tfor (int i = 0; i < 10; i++)
\t{

\t\tcin >> (_pojertvovaniya + i); //можно как _pojertvovaniya
\t\tif (!isalpha(
(_pojertvovaniya + i))) //Проверка, а буква ли это?
\t\t\tcontinue;
\t\telse cin.clear(); break;
\t}

\tfor (int i = 0; i < 10; i++)

\t{
\t\tcout << (_pojertvovaniya + i);
\t\tif (!isalpha(
(_pojertvovaniya + i)))
\t\t\tcontinue;
\t\telse cin.clear(); break;
\t}

\tdelete number;
\tdelete[] _pojertvovaniya;

\tsystem("pause");
\treturn 0;
}
[/code]

Скажите, где копать, в чем ошибка.
64 Кб, 589x604
#42 #518487
Выручайте господа, изучаю c++. Была задачка по вводу 10 значений в массив значений short, и в случае если в массив вводится символ, а не цифра, попросить о повторном вводе числа. Пока, что ввод повторно числа не сделал, хотел простое прерывание ввода чисел сделать, если вводится число. Но как только ввожу число, все крашится с ошибкой:
Программа "[178944] test.exe: Машинный код" завершилась с кодом 3 (0x3).
Гуглил, говорят, что ошибка потока ввода.
Где-то говорили, что "код русской буквы не пренадлежит интервалу от -1 до 255" Но крашится, даже если я ввожу английские или русские литеры.

[code]

#include <iostream>
#include <string>
#include <conio.h>
#include <clocale>
#include <cctype>

using namespace std;

int main()
{
\tint number = new int;

\t
number = 10;

\tdouble _pojertvovaniya = new double[number];

\tfor (int i = 0; i < 10; i++)
\t{

\t\tcin >> (_pojertvovaniya + i); //можно как _pojertvovaniya
\t\tif (!isalpha(
(_pojertvovaniya + i))) //Проверка, а буква ли это?
\t\t\tcontinue;
\t\telse cin.clear(); break;
\t}

\tfor (int i = 0; i < 10; i++)

\t{
\t\tcout << (_pojertvovaniya + i);
\t\tif (!isalpha(
(_pojertvovaniya + i)))
\t\t\tcontinue;
\t\telse cin.clear(); break;
\t}

\tdelete number;
\tdelete[] _pojertvovaniya;

\tsystem("pause");
\treturn 0;
}
[/code]

Скажите, где копать, в чем ошибка.
#43 #518499
>>518487
скопируй на pastebin.com
#44 #518506
Просто хочу напомнить, что любой человек мужского пола, активно мониторящий и отписывающийся на этом сайте - что-то уровня червя-пидора или ниже.
Я не отрицаю, что адекватные мужчины иногда читают двачи, а изредко даже отписываются. Но те, кто сидит здесь на постоянной основе - очевидное дно, омежные сосачерские дебилы и выродки (не упомянула рф-чуханов, поскольку с ними все и так ясно).
Отвечать им, а тем более вступать в полемику - все равно что вступать в полемику с говном, на которое ты случайно наступила.
#46 #518521
>>518134
Бампусики вопросу
#47 #518525
>>518516
1. Ты забыл фигурные скобки и break у тебя выполняется всегда. Вообще пиши всегда if(){}else{}, и никогда if()...;. 2. ты записываешь вывод cin в double а потом проверяешь через isalpha - так это не работает. тебе нужно записать вывод cin в string (или char[]) и тестить строку, и если atof(..) срабатывает, то сохранять в массив.
#48 #518532
>>518146
Но ведь С++ это С и ООП. Если ты начинаешь С++ по книженциям и с самого начала, то ты будешь понимать все и без знания С.
#49 #518533
>>518187
Няш, ну я же уже отвечал тебе в одном из предыдущих тредов. Лена не идеальна, но лично я во времена ньюфажества нашел у нее в блоге много полезного, причем потратил на это немного времени из-за краткости статей. Более того, половина ее статей являются дословным переводами Саттера и других гуру, к которым претензий вообще никаких. Так что, я по-прежнему считаю, что ссылка на подобный блог в шапке должна быть. Если бомбит конкретно от Лены, предложи что-то лучше условия: на русском и кратко, чтобы был не учебник под маской блога, я с удовольствием поменяю тогда. Но просто удалять без замены и намеренно обеднять шапку только чтобы у кого-то не бомбило это не дело, верно же?
мимооп
#50 #518551
>>518525
1. Буду писать, как ты сказал.
2. Да я идиот, надо было в начале просто попробовать ввести в double массив значение типа char и убедится, что получается дребедень.
string не хочу пока, что использовать.
Почему я пытался ввести в массив double значение типа char?
Меня просто ввел в заблуждение код, который позволял проверять, вводится ли символ вместо double.
Вот этот код.
http://pastebin.com/tsXFkffc
Я так понимаю, что моя проблема в том, что я не до конца понимаю, как работает поток ввода cin.
cin это метод класса istream ?
#51 #518560
>>518532
C++ это не надмножество C, так то. Некоторые детали у них различаются, обратной совместимости нет.
#52 #518589
>>518532

> Но ведь С++ это С и ООП


Как там в 80-х?
#53 #518625
>>518551
cin - это экземляр класса. Какого - не помню. А работает он через перегрузку оператора >>. Блин, я не знаю, как объяснять кресты с нуля.
#54 #518636
>>518625

>я не знаю, как объяснять кресты с нуля.


Не стоит. Я прочту и разберусь сам.
Спасибо за предыдущие разъяснения.
sage #55 #518684
>>518589
>>518560
А разве нет, почаны? Неужели компилятор не закомпилит сишный код в формате cpp?
#56 #518686
>>518684
Сорян, в сажу по дороге вступил.
#57 #518702

>почаны


>Сорян

#58 #518709
>>518521
А в чём собственно вопрос? И где пастабин?

И... почему нельзя сделать это через указатель?
#59 #518714
>>518684
'a' в C будет int, а в C++ char. В C можно вызывать main явно, а в C++ нельзя. Ну и в таком ключе все.
#60 #518715
удалил этого полуёбка

--мм
#61 #518716
>>518715
Спасибо, командир. Добра тебе.
sage #62 #518717
>>518521
Я уже второй тред не могу понять, чё ты вообще за говнокод пихаешь. В твоём фиксе нихуя нет '\0', чё ты вообще от нас хочешь-то блядь.
#63 #518718
Товарищу, который постит переворот строки: велосипеды это конечно здорово поначалу, но реалии таковы, что использовать библиотечный std::reverse (std::begin (St), std::end (St)) будет заведомо быстрее и читабельнее, чем все, что ты напишешь. Такие дела.
sage #64 #518719
>>518533
А обязательно на русском? Если да, то

>Программирование. Принципы и практика использования C++



хотя сто лет в обед вышла вторая версия, которую никто ещё не перевёл с английского

>Stroustrup_Principles_and_Practice_Using_C++_2ed_2014



P.S. Уж не думал, что буду рекламировать Страуструпа, но если вы тут Алёне поклоняетесь, то Страуструп просто Бог для новичков.
sage #65 #518721
>>518625
Всё правильно ты ему объясняешь, проще и не объяснишь. Он поймёт, когда напишет свою первую функцию, использую объект типа istream по ссылке.
#66 #518829
Если я использую структуру как тип, то ее лучше держать вне или в классе?
#67 #518832
>>518719
Ну смари, мне-то без разницы, на каком языке. Но мы же говорим про ньюфагов, так что, думаю, тут что-то на ангельском использовать нельзя. Потом, книжки (и страуструпова в том числе) и так есть в шапке, но там же многобукаф и не все осилят. А нужен блог, чтобы отдельными маленькими статьями разбирались подводные камни, без синтаксиса и прочей хуйни. В идеале что-то типа HotW Саттера, который в шапке есть, но на русском.
#68 #518833
Const или constexpr для переменных? Какие различия?
#69 #518835
>>518829
Любая сущность должна иметь наименьшую возможную область видимости. Если никто, кроме твоего класса, использовать структуру не должен - объявляй ее внутри класса. Если используется только твоими классами - объявляй в собственном отдельном пространстве имен. Ну ты понел.
#70 #518846
>>518833
const можно присваивать любое значение, которое вычислится во время работы программы. constexpr должно быть известно на этапе компиляции, т.е. ты в общем случае можешь сделать constexpr int number = 1488, но не сможешь сделать constexpr Mamka tvoya_mamka = calculateMamka (). Чтобы было можно, нужно наложить на calculateMamka () дохуя ограничений, даже если она вычисляется на этапе компиляции. Правда, они ослабляются с каждым новым стандартом. В C++11 было необходимо делать тело из одного оператора return, сейчас уже их меньше, если не ошибаюсь. Ну и поддержка constexpr еще не везде полная есть.
#71 #518848
>>518832

>GotW


Быстрофикс.
sage #72 #518885
>>518832

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


>без синтаксиса


Я конечно извиняюсь, но ньюфагам во многом синтаксис и нужен.

>>518835
Вот не соглашусь здесь. Если структура используется как тип и только как тип, без единого метода (кроме быть может дефолтного конструктора), то целесообразно объявить её Struct() {} даже без private public, т.е. пусть будет публичной по умолчанию. Что, жалко, что ли? Откуда ты знаешь, как ты будешь использовать её потом?

Вся вот эта мания сделать всё приватным, а потом при необходимости налепить геттеров/сеттеров и/или друзей/наследников мне непонятна. Иногда структура это просто тип, считай двумерный или более тип. Использоваться может где угодно.

Мой любимый стракт это дабл + бул.
0 Кб, 348x62
#73 #518899
>>518521
Подсказка.
#74 #518935
Может в шапку что-то на тему IDE написать? Сам не знаю что, но надеюсь вы придумаете. А я в гугол изачать вопрос.
#75 #518961
>>518885

>Я конечно извиняюсь, но ньюфагам во многом синтаксис и нужен.


С моей скромной точки зрения, помимо написания кода на практике что, конечно, самое главное%, обучение языку складывается из изучения синтаксиса, библиотек и тому подобного и изучения "духа" языка - типовых проблем, хаков, паттернов, если угодно. В шапке первый раздел, грубо говоря, отвечает первому из этих пунктов книжки для ньюфагов, в основном, про синтаксис, если там и есть паттерны программирования, то самые простейшие, и их мало - поэтому прочтения книжек для ньюфагов недостаточно, хотя синтаксис они покрывают почти полностью%%. Второй раздел соответствует "духу", но тут проблема в том, что этих мелких деталей, которые в конечном счете определяют опыт погроммиста, очень много, в книжку они не влезают, да и формат не тот. Поэтому, например, Мейерс покрывает это только отчасти, а чтобы набирать опыт дальше, нужно кодить и решать какие-то повседневные задачи. А если просто кодить и не делать никаких выводов, то так и останешься говнокодером. Задумается ли ньюфаг после прочтения книги "C++ за 21 день", какой контейнер STL ему применить и почему? Да вряд ли, он будет хуярить везде vector и list, не задумываясь о деталях. Или какие-нибудь зубодробительные правила для выведения типов - об это энивей нужно обжечься сначала, или ты просто не поймешь, зачем вся эта скукота нужна. Ну и поэтому правильным мне кажется гуглить возникающие вопросы и смотреть, что на эту тему пишут на всяких stackoverflow, ну и в блогах, конечно. А заодно и почитывать блоги независимо, там формат как раз подходящий - небольшие, законченные статьи, каждая раскрывает свою тему. Никто не говорит, что блоги должны заменять книги, или тем более практику. Они не заменяют. Но и книги не заменяют блоги, хотя бы уже потому что блоги обновляются гораздо чаще, чем книги, а их количество больше.
#76 #518963
>>518935
Хорошая идея. Я могу детально расписать за Visual Studio, если кто-нибудь запилит гайд по настройке чего-нибудь никсового для нюфань, то будет совсем здорово.
#77 #518990
>>518560
Естественно отличаются, но можно начинать учить С++ и ты не будешь чувствовать нехватку знаний С.
#78 #518996
>>518709
Вопрос такой: прокатит ли такой ответ на собеседовании? Строка вводится как "абв", выводится как "вба". Условия задания соблюдены и мое решение гораздо проще и короче, чем у >>517661 . Вот твой гребаный пейстбин http://pastebin.com/Gyav00VF
#79 #519035
>>518996
char St[20] = {0};
cout << "Vvedite stroku" << "\n";
cin >> St;
for (int i = strlen(St); i > 0; cout << St[--i]);
cout << "\n" << "END";
#80 #519040
>>519035

> for (int i = strlen(St); i > 0; cout << St[--i]);


У нас во дворе за такое убивают нахуй.
std::reverse(st, st + strlen(s));
#81 #519055
>>519040
Какой strlen, ты охуел? std::begin/std::end
#82 #519057
>>519040

>std::reverse(st, st + strlen(s));


у нас за такую хуйню тоже нахуй убивают.
У меня за один проход по массиву выводится строка в обратной последовательности, у тебя - два прохода плюс изменение данных в памяти. Из-за таких вот мелочей потом прибегает заказчик с выпученными глазами и криком "Сука, почему у нас на продуктиве все тормозит?"
#83 #519062
>>519057
И ты такой делаешь быстро, заказчик доволен и не продляет договор на техподдержку продукта. Не маленький, пора бы уже знать.
#84 #519078
Как передать двумерный std::array в функцию по ссылке?
#85 #519130
>>519119
Как ни смешно это звучит, консольный vi.
Если хочется тёмной цветовой гаммы, см. Sublime.
#86 #519142
>>518963
Не люблю так делать, но я просто предложил, а как это сделать не знаю. Мои познания в иде это что ф9 запуск программы.
31 Кб, 378x331
18 Кб, 329x260
#87 #519176
Не понимаю смысл static_cast. Знает кто примеры где без него нельзя обойтись?
3 Кб, 500x191
#88 #519213
>>519176
гугли явное и неявное приведение типов
16 Кб, 286x254
#89 #519219
>>519213
Почитал. Что он делает понял. А зачем нет.
char ch=int(f);
char ch=static_cast<int>(f);

Это одно и тоже? В каких случаях они будут делать разное?
#90 #519220
>>519176

> Не понимаю смысл static_cast


Удобней искать в проекте. Тебе захотелось посмотреть где ты кастишь к инту - ищешь static_cast<int> - при других способах могут вылезти проблемы (ложные срабатывания). Ну и более заметная запись. Преимущества только в синтаксисе, никаких особых свойст у static_cast нет (по сравнению с старыми способами каста).
#91 #519222
>>519220
Спасибо. Это и хотел узнать.
#92 #519243
>>518004
Слушай, как в юзерскрипте отключить показ кода с pastebin и ideone?
#93 #519281
>>519142
Ну и ладно, тогда распишу за VS только. Все равно большинство нюфань под виндой.
#94 #519282
>>519243
Попробуй в .js заменить pastebin и ideone на что-то другое. Костыль уровня /pr.
#96 #519367
>>518004
Вопрос от нюфани: на каком этапе из оп-поста можно пытаться монетизировать знания и навыки полученные при прочтении книг и выполнении практических задач из них, путем устройства на работу или подфрилансить не много где-нибудь?
#97 #519368
>>519367
Алсо я пока только массивы в Лафоре читать закончил, но я твердо настроен выучить кресты и работать на них, пока что всю инфу схватывал не напрягаясь.
#98 #519371
>>519367
После второго пункта и пары самостоятельно написанных средних проектов тысяч на пять строк, которые решают не совсем искуственные задачи какие-нибудь игры, например ты будешь твердым джуниором. Дальше просто читать книги нет особого смысла, надо начинать работать над реальными проектами уже.
#99 #519384
>>519219
Тут одно и то же. Первое это приведение в стиле С, оставили для совместимости с этим языком. Второе уже чисто С++, Страуструп писал, что он специально создал такой уродский синтаксис, чтобы его не хотелось писать и легче было найти в коде.
#100 #519512
>>519055
Когда std::end начал работать с char*? Длину строки он подгружает из головы пользователя с помощью libastral.so?
>>519057
Обоссал обиженку. Ты знаешь, что за буйство внутри ostream::operator<<? Никто не использует стандартные потоки для ввода-вывода, кроме авторов laba2 вроде тебя, тем более поэлементно. Иди и померяй сколкьо твой "быстрый" вариант работает. Тормозят у вас на продуктиве только девелоперы.
#101 #519521
>>519512
std::end работает с char [] прекрасно.
#102 #519524
>>519521
Да, прекрасно, просто замечательно

> char c[] = "123\0\0\0";


> std::cout << "strlen = " << strlen(c); // 3


> std::reverse(std::begin(c), std::end(c));


> std::cout << "strlen = " << strlen(c); // 0


Даже не знаю, в кого ты такой осёл.
#103 #519539
>>519371
Спасибо за ответ.
#104 #519564
>>519524
algorithm требуют, чтобы в строках не было терминальных символов. И это правильно, потому что строки из терминальных символов практически никогда не нужны, а их отсутствие позволяет реализовать тот же reverse проще, чем с дополнительным расчетом длины. Так что твой пример по стандарту будет UB, и ничего удивительного в том, что все ломается.
#105 #519589
Знающие в QT, можно ли как то изменить внешне Qsystemtrayicon::Showmessage?
И ещё, ненемного непонял http://doc.qt.io/qt-5/qsystemtrayicon.html#showMessage 3го аргумента, как его задать?
sage #106 #519622
>>519589

>можно ли как то изменить внешне Qsystemtrayicon::Showmessage


Только если рисовать вручную. Короче, считай что нельзя.

>как его задать


Указав через запятую после второго. В чем проблема?
#107 #519626
>>519622
Очень жаль, людям не очень нравится обычный вид мэсэджа. :(

Я не могу понять в каком виде.
У меня есть что то типа:
trayIcon->showMessage("USER", fio);
Что дописать надо? Создать переменную:
MessageIcon icon;
и дописать:
trayIcon->showMessage("USER", fio, icon = QSystemTrayIcon::Information);
Или icon = 1?
Вместо QSystemTrayIcon::Information можно написать любой отсюда http://doc.qt.io/qt-5/qsystemtrayicon.html#MessageIcon-enum?
#108 #519628
>>519626
http://doc.qt.io/qt-5/qsystemtrayicon.html#MessageIcon-enum знак вопроса прицепился выше.
sage #109 #519636
>>519628
Может, для начала тебе стоит изучить основы языка C++? Почитай учебник, выполни задания, чтоб таких вопросов не возникало. Прата вполне подойдет.
#110 #519694
>>519564
Ты какой-то юродивый. Я там нули поставил, чтобы небе очевиднее было, что std::end предназначен для работы с массивами, а не со строками. Вот менее очевидный пример, где нули после литерала поставил компилятор, а не я сам.

> char c[] = "123";


> std::cout << "strlen = " << strlen(c); // 3


> std::reverse(std::begin(c), std::end(c));


> std::cout << "strlen = " << strlen(c); // 0


Он тоже не работает. И не будет работать. С буферами не будет работать. Со введёнными пользователем строками в эти буферы не будет работать. С литералами не будет работать. Ни с чем не будет работать. UB только у твоих папки с мамкой по пьяни было, когда он на гандоне воздух из спермоприёмника не выдавил.
47 Кб, 442x328
#111 #519696
Смотрите на меня и смейтесь.
Буду рад, если поможете.

Есть код программы. В ней вводятся с клавиатуры две переменные. Первая это переменная типа char символ, который будет напечатан N число раз. И переменная int, то самое кол-во раз.
Все работает хорошо. Но вот есть в этом коде место, которое я понять не могу. Меня смутила объявление указателя типа char и его дальнейшая инициализация
Прилогаю код, в нем закоментировал ход моих мыслей. Если где-то я не прав, поправьте пожалуйста.

http://pastebin.com/f35Mcpbi
#112 #519698
>>519696
Функция buildstr возвращает не массив а указатель на него. Пробей больше инфы про то как работают указатели и строки в C. Так ты нихуя не поймешь.
#113 #519702
>>519696
Присоединяюсь этому >>519698 джентльмену, массивы в плюсах это плохая штука, которая плодит долбоёбов вроде >>519564
Привыкай сразу работать с контейнерами, итераторами, указателями, референсами и почитай про сишные строки.

> while (n --> 0)


kek
#114 #519710
>>519636
Ясно.
#115 #519714
>>518134
Отличное решение. Не понимаю с чего вообще вы тут раскукаревались.
#116 #519715
>>519714
Раскукарекался тут очевидно, ты, там толстый вброс, который выводит одну и ту же строку несколько раз.
33 Кб, 805x227
#117 #519717
>>519715
Сам ты толстый. Просто небольшая ошибка. Нужно добавить и все будет работать.
#118 #519718
>>519698
>>519702
От как жопой чувствовал, что при изучении С++ придется С учить. Ну никак не хотелось.
Да простите, это у меня уже шарики за ролики едут, после чтения книги с 9 утра.
Как даже видно из прототипа функции
char buildstr(char c, int n)
ее возвращаемое значение это указатель. Массив это указатель, адресом которого является, адрес его первого элемента.
Меня смутило объявление указателя и сразу его инициализация через возвращаемое значение функции
char
ps = buildstr(ch, times);
Как я писал до этого, мне понятнее
char * ps = new char;
ps = buildstr(ch, times);
Благодарю за советы.
#119 #519720
>>519718
char * buildstr(char c, int n)
быстрофик
#120 #519724
>>519718
char buildstr(char c, int n)
а не
char buildstr(char c, int n)
и
char
ps = buildstr(ch, times);
а не
char ps = buildstr(ch, times);
Что-то символ * потерялся.
33 Кб, 805x227
#121 #519725
>>519724
char buildstr(char c, int n)
а не
char buildstr(char c, int n)
и
char ps = buildstr(ch, times);
а не
char ps = buildstr(ch, times);

a не

char buildstr(char c, int n)
а не
char buildstr(char c, int n)
и
char ps = buildstr(ch, times);
а не
char ps = buildstr(ch, times);
#122 #519726
>>519724
>>519725
Вакаба символ астериска съедает, ухожу, что бы не позорится.
#123 #519729
>>519718

> Меня смутило объявление указателя и сразу его инициализация через возвращаемое значение функции


И чем смутило?
#124 #519734
>>519729
Мне понятнее так
http://pastebin.com/bG8LaYhm

Я знал, что при объявлении массива его можно инициализировать. Но объявление
http://pastebin.com/P1jduxg5
в моем тупом мозгу ассоциировалось с разъименовывание указателя
*ps = pstr
(pstr - адрес указателя)
Просто субъективное восприятие, которое пришлось и приходится подавлять у себя в мозгу.
#125 #519740
>>519734
Но ведь «pstr» это тоже адресная переменная, нинада ни чего подовлять.
#126 #519763
>>519740
ps = pstr
ошибка:
значение типа "char
" нельзя присвоить сущности типа "char"
#127 #519764
>>519763
http://pastebin.com/mk5iWTnH
ошибка:
значение типа "char " нельзя присвоить сущности типа "char"
вакаба не ешь амперсанд, пожалуйста.
#129 #519771
>>519768
Скинь весь код программы которая выдает тебе эту ошибку.
#130 #519775
>>519771
Мне не выдает ошибку.
Вот код.
>>519696
Там где большой комментарий. Там происходит объявление и инициализация указателя значением, возвращаемым функцией buildstr.
Мной такой синтаксис не воспринимался. Мне понятнее было
http://pastebin.com/bG8LaYhm
Думаю хватит мне флудить и уделять этому вопросу много внимания. Я уже все понял и разобрался.
#131 #519777
>>519219

>Это одно и тоже?


Нет.
#132 #519780
>>519176

> Не понимаю смысл static_cast. Знает кто примеры где без него нельзя обойтись?


Да. Прочитал ты такой в std::string проксоренную строку. Строку проксорили — там есть char-ы с любым значением, от -127 до 128 (в случае дефолтных знаковых char-ов)

И хочешь произвести частотный анализ. Используешь символы из строки как индекс в массиве и вылетаешь за границы, т.к. знаковый отрицательный char превращается в отрицательный индекс.

Тут без каста никак.
#133 #519783
Вопрос местным плюсоманькам: чё это вы всё с char* пердолитесь? 21 век на дворе!
#134 #519785
>>519775
не понимаю почему тебе так было понятнее. Ты знаешь что делает new char? если ты так напишешь у тебя в памяти будет висеть неиспользуемая и недоступная переменная
#135 #519787
>>519783
Напиши программу для микроконтроллера на Java. Тогда поговорим.
#136 #519788
>>519787
При чём тут Java, я вообще не понял, ну да ладно.
#137 #519789
>>519787
Собственно, Java придумывалась для микроконтроллеров. Для микроволновок, холодильников, стиралок etc.
#138 #519798
>>519788
Ну не суть. Если тебе интерестно баловаться с данными. Создавать и изучать разные структуры данных и организации памяти, собственные устройства, тебе будет интересен C и C++. А если нужно обычное приложение подойдут и более простые языки.

>>519789
Только на самых ранних стадиях развития. Я говорю про сегоднящний день.
#139 #519799
>>519798

>C и C++


Это уже сильно разные языки.

Короче, я намякивал, что пора бы уже std::string везде. И забыть про new/delete.
#140 #519803
>>519799

>Это уже сильно разные языки.


Пока все что написано на C справедливо и для C++ я бы не назвал эти языки разными.

>>пора бы уже std::string везде


Для работы со строками конечно лучше использовать string. Как char* строки используют наверное только при обучении.

>забыть про new/delete


и как ты собираешься динамически работать с памятью?
#141 #519805
>>519803

>Пока все что написано на C справедливо и для C++


Допустим, вот функция
void f();
Какое число аргументов она принимает в C и какое в C++?

> и как ты собираешься динамически работать с памятью?


unique/shared_ptr или просто выделять на стеке и возвращать/передавать. Когда надо, компилятор или скопирует, или переместит значение.
#142 #519806
>>519803
Здраствуйте, поступила просьба ознакомить ньюфага с RAII. Такое дело вообщем, в с++ стековые переменные удаляются по выходу из скоупа епте, а для объектов вызывается даже деструктор. Именно так работает vector, он динамический, но delete же ты для него не используешь? Или как? Ну вообщем хуяришь все объекты в смартпоинтеры и забыл про delete.
#143 #519811
>>519806
Ну это уже более высокий уровень абстракции. Я имел в виду что для написания собственного контейнера, который будет динамически выделать память, без new/delete не обойтись. Потом конечно можно забыть про них. Но если изучать язык с нуля неплохо бы знать о них, вместо слепого использования уже готовых контейнеров.
#144 #519814
>>519811
Будем откровенны : если ты пишешь на плюсах или там джаве или шарпах, тебя вряд ли понадобится писать свои контейнеры. Если хочешь написать либу, есть C. Си это мощь и простота работы с памятью, с++ высокоуровневый язык для гуая и прочего такого. Это ад дебажить с++ код, активно использующий работу с памятью.
#145 #519904
>>519785

>Ты знаешь что делает new char?



Выделяет область памяти в куче под переменную указатель.
Затем эта переменная указатель инициализируется возвращаемым значением функции. Тот указатель (массив) что создается в функции, память под него удаляется, как только функция отработается.
#146 #519907
>>519734

> Мне понятнее так


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

> Тот указатель (массив) что создается в функции, память под него удаляется, как только функция отработается.


У тебя _очень_ плохое понимание времени жизни переменных.
50 Кб, 471x211
#147 #519910
>>519907

> у тебя в первом сниппете утечка памяти


Да new char выделяет память, но эта память ничем не инициализируется так?

> У тебя _очень_ плохое понимание времени жизни переменных.


Не пойму то ли я жопой читаю, то ли меня наебывают.
#148 #519927
>>519910
new выделяет память в куче. Неважно инициализировано она или нет. Память ты выделил, но не удалил.

>>отведенная под указатель pstr (НО НЕ ПОД САМУ СТРОКУ), освобождается


Когда ты пишешь char ps; под этот указатель выделяется память в стеке, она удалится по выходу из скоупа, но не то, на что она указывает.
Твой код равносилен этому:
char
ps;
new char; // утечка
ps = buildstr(ch, times);
#149 #519928
>>519927

>>char ps;


char* ps;
#150 #519930
>>519910
Освобождается память, отведённая под указатель, а не под саму строку, жопой читаешь, да.
#151 #519934
>>519927
Спасибо, не знал, что так можно использовать new.
И не знал, что можно объявлять указатель, без его инициализации.
Это многое объясняет.

>Освобождается память, отведённая под указатель, а не под саму строку, жопой читаешь, да


Вопрос тогда в том, как удалить память выделенную под строку?
#152 #519935
>>519934
когда уже нет необходимости в строке, или использовать string или смарт поинтеры.
#153 #519995
>>519910

> Да new char выделяет память, но эта память ничем не инициализируется так?


Да, так и что дальше? Утечка никуда не делась.

> Не пойму то ли я жопой читаю, то ли меня наебывают.


Жопой читаешь. Посчитай на листочке, сколько памяти выделено, и сколько освобождено.
>>519934
Блядь, как ты не знал? Ты читал учебник? Многое ему объясняет. Там где есть new, там должен быть delete. Запомни простое правило.
#154 #520001
>>519995
Я не корректно выразился.
Я не знал, что так можно выделить память под указатель, как было описано в посте >>519927
То, что память выделенную, надо отчищать при помощи delete это я знаю.
В учебнике всегда давали такой синтаксис, при выделении памяти.
Там объявляется указатель, и сразу же инициализируется выделенной памятью.
Затем память отчищается с помощью delete.
http://pastebin.com/w3gicxSN
#155 #520047
>>519694
Оу. Вот это я обосрался. Этот джентльмен абсолютно прав, а я раньше не задумывался над этим и всегда на автомате считал, что end у c-like строк укажет на терминальный нуль и меня спасло только то, что я никогда не переворачивал c-like строки, а использовал string. Вот я хуиная голова, лол.
31 Кб, 386x365
#156 #520121
>>518004
Антоши, поясните за полиморфизм. Как я могу получить доступ к длинне хуя?
#157 #520130
>>520121
ты чё делаешь, наркоман?

```
Man pacan = new Man;
```

ну или делай
```
((Man
)pacan)->
```
#158 #520131
>>520121
Так полиморфизм в этом и состоит что у твоего men какбы вроде и нет хуя (хотя на самом деле ечть). Объект класса Men выглядит полностью как объект класса Human (тоесть без хуя), хотя на самом деле является объектом класса Men (тоесть с хуем).
#159 #520132
>>520130
Он спрашивает про полиморфизм, а ты ему типы советуешь поменять.
49 Кб, 448x615
#160 #520136
>>520130
Ну хорошо. В таком случае работает. А что если мне нужно сделать массив людей? Все равно же нужен будет указатель на Human?
#161 #520137
>>520132
а он точно уверен, что знает что такое полиморфизм?

>>520121
Делай виртуальный метод int my_score() у Human и

[CODE]
void draw_my_score(){
std::cout << this->my_score() << std::endl;
}
[/CODE]

У мужика делай int my_score(){return this->dlinnaHuja;}

Делай бабу, у неё не хуй, а сиськи и она переопределяет my_score как return breast_size;

Создавай в main()
[CODE]
Man male = new Man();
male->draw_my_score();
Woman
female = new Woman();
female->draw_my_score();
[/CODE]
#162 #520138
>>520121
Никак? Потому что как Human у тебя может быть Woman, у которой параметра dlinnaHuja нет.

мимопроходил
49 Кб, 448x615
#163 #520140
>>520131
Так как мне увидеть хуй?
#164 #520142
#165 #520143
>>520140
полиморфизм, друг мой, это не про "а как получает методы наследников", а про "а как наследник, вызывает метод, определенный в предке, который в свою очередь вызывает метод ПЕРЕОПРЕДЕЛЁННЫЙ наследником"

Полиморфизм это доступ к переопределенным твоими наследниками методам
#166 #520144
>>520140
Хуй может быть только у Man. Чтобы его увидеть ты должен Human скаставать к Man, как тебе и говорили.
#167 #520145
>>520001
Не путай указатели и ссылки.
#168 #520146
>>520140
Определить в Human virtual getHujOrBufera()=0; и переопределить в наследниках, возвращая соответствующее. Крайне тупой пример в любом случае.
63 Кб, 464x680
#169 #520147
>>520137
Ну так то понятно, а есть способ сделать функцию видимой только для одного наследуемого объекта? Допустим вот с таким способом у меня баба может увидеть функцию getDlinnaHuja(), которая ей нахуй не всралсь.
#170 #520148
>>520146
Бля я хочу просто getHui().
#171 #520151
>>520147

> видимой только для одного наследуемого объекта


нет. если ты хочешь такое, ты неправильно понял всё наследование
#172 #520153
>>520148
Если ты хочешь getHui, значит ты заранее знаешь, что у тебя лежит в массиве (мужик), а значит полиморфизм тебе не нужен.
#173 #520156
>>520151
Короче ясно. Выходит что у всех наследуемых объектов прототипы функций должны быть идентичными?
#174 #520157
>>520156
лол, конечно нет
#175 #520158
>>520147
И каким образом ты узнаешь кто у тебя находится в katka[1]? Скажем в товем примере это ясно, но в другом случае в katka[1] может оказатся как Man так и Woman и получится обосрамс. Ты хуйней занимаешся с такими массивами. Такое делать не рекомендуют. Если у тебя есть масив Human то работай с ними как с массивом Human.
#176 #520159
>>520156
баба может вертеть сиськами, а мужик - вертеть хуем. Причем "Human" может не содержать этих методов
#177 #520160
>>520158
Я пытаюсь сделать чтото вроде game of life только с разными животными. Мне нужен именно массив родительских объектов.
#178 #520162
>>520159
А как тогда вызвать эти функции? В случае если мы инициализируем бабу и мужика через указатель на Human.
#179 #520163
>>520160
Чем тебе не нравится вариант с кастом?
#180 #520165
>>520162
Никак. В этом и прикол. НИКАК. Ты не можешь обращаться к конкретным методам, не зная, что перед тобой находится. А ты не знаешь.
#181 #520167
>>520165
Ну на самом деле можно, добавить int tag в Human и кастить при использовании, только это настолько хуево, что пиздец.
#182 #520169
>>520167
это опять нарушает парадигму
#183 #520170
>>520147
скажи что ты хочешь сделать, и я скажу как надо сделать правильно.
Не КАК, а ЧТО
63 Кб, 535x665
#184 #520171
>>520165
Бля я так и не попробывал так сделать. Теперь все заебись. Спасибо за помощь.
#185 #520172
блядь поцаны, скажите как сделать таймер нормальный?
На форумах постоянно обсуждается SetTimer, но он не катит, т.к у меня нет хендла окна или че он там требует обязательно. А без него собсна KillTimer не работает. Пробовал выносить в отдельный поток CreateThread, но ваще какая-то хуйня выходит. Подскажите че нибудь, спасибо. (Sleep не катит, сразу говорю)
#186 #520173
>>520170
-> >>520160
Допустим у меня есть класс лиса который хранит количество сожранных зайцев. Но я не хочу чтобы из зайца, который зайцев не ест, у меня была доступна эта переменная.
#187 #520175
>>520173
Делаешь в animal виртуальный метод getRabbitEatenCount(), определяешь его только в лисе. У остальных - не определяешь
#188 #520176
>>520175
если у меня будет массив из Animal*, getRabbitEatenCount() будет виден и в зайце.
#189 #520177
>>520163
-> >>520171
промахнулся
#190 #520178
>>520121
Это называется downcasting. Используй dynamic_cast. Подробнее https://www.tutorialcup.com/cplusplus/upcasting-downcasting.htm
#191 #520179
>>520167

>Ну на самом деле можно, добавить int tag в Human и кастить при использовании


Откуда вы берётесь, идиоты? Тег добавить, кастить при использовании. Вообще охуеть.
Есть стандартный механизм — dynamic_cast. Который проверяет что надо
#192 #520181
>>520171
Не стоит использовать C-style касты в плюсах.
#193 #520183
>>520172

>SetTimer, но он не катит, т.к у меня нет хендла окна


Хендл окна ненужен, можно ноль передавать.
#194 #520184
>>520183
я говорю, что тогда KillTimer не работает.
То есть не убивается созданный таймер, т.к без хендла не работает второй параметр, то есть id того самого таймера.
#195 #520187
>>520172
>>520183
>>520184
Вам std::chrono завезли, а вы в ублюдочное WinAPI лезете. Совсем поехали?
#196 #520189
>>520184

> без хендла не работает второй параметр, то есть id того самого таймера.


Чёт ты гонишь.

uIDEvent [in]

Type: UINT_PTR

The timer to be destroyed. If the window handle passed to SetTimer is valid, this parameter must be the same as the nIDEvent value passed to SetTimer. If the application calls SetTimer with hWnd set to NULL, this parameter must be the timer identifier returned by SetTimer

Так или иначе, юзай std::chrono
32 Кб, 434x443
#197 #520192
Поясните пжалуйста, как это вызывается конструктор без создания объекта?(после throw)
Можно так просто взять и вызвать конструктор без нихуя?(
#198 #520193
>>520192
Вызов конструктора это и есть создание объекта.
#199 #520202
>>520192
Сам то понял че спросил? после throw как раз и создается объект
#200 #520204
>>520192
Ты имеешь в виду как вызывается конструктор без объявления переменной? Ну, типа, вот так и вызвается.
#201 #520239
>>520153
Можно просто в реализации хумана для getHui возвращать nullptr, а в реализации мужика переопределить на возврат указателя на хуй. Только потом надо лепить проверки, что не nullptr, но как вариант.
#202 #520272
>>520239
Да это все хуйня. Я хотел чтобы нигде кроме мужика эта функция вообще не была видна. Downcasting отлично подходит.
#203 #520278
>>520272
Вот очередной программист лишился анальной девственности, введя себе в жопу динамическую дилду.
323 Кб, 1000x1536
#204 #520283
Здравствуйте, господа.
Подстажите, как Qt Creator указать аргументы командной строки.
#205 #520321
>>520283
if (argc=0) гг
#206 #520322
>>520321

>==


Ну да похуй
#207 #520374
Чуваки, я тут вчера по таймеру ныл, мол нихуя не выходит и вы мне посоветовали std::chrono. Окей, я никогда с ним не работал, поэтому начались проблемы нубские.
Хочу, допустим, сделать, чтобы таймер выполнялся в отдельном потоке, да, ну чтоб не фризило саму программу.
Делаю так, но все равно фризит:
[code lang="c++"]
int main()
{
\tstd::thread thread(timer);
\tthread.join();
}

void timer()
{
\tstd::this_thread::sleep_for(std::chrono::seconds(5));
}
[/code]
sage #208 #520378
>>520374
Читай документацию по вызываемым тобой методам.
#209 #520383
>>520378
хорошо, ща пойду гуглить.
А то, что я написал это совсем полнейший бред?
17 Кб, 701x180
#210 #520404
>>520378
Нашел на SO такой пост (пик). В мой пост не добавлялся текст якобы какое-то слово из спам-листа.

То есть sleep_for не подходит и придется как-то изъебываться, чтобы не фризило саму программу, а текущий поток?
#211 #520410
>>520374
Что ты хочешь сделать, расскажи.
#212 #520411
>>520410
Говорю, чтобы не фризило всю программу, а текущий поток. Или от дальнейших действий зависит реализация таймера?
#213 #520413
>>520411
Опиши задачу, а не способы, которые ты ищешь.

Например, вызвать какой-то код по истечению таймера, при этом не блокируя тред.
#214 #520415
>>520413
да хотябы самое элементарное, чтобы по истечению таймера выводило в консоль/на экран сообщение, вооот. Мол прошло столько времени.
#216 #520419
>>520415
офк понятно, что можно и с зависанием основного окна, но это не круто, хотелось бы научиться по-нормальному делать.
#217 #520421
>>520415
>>520418
Ну или просто вызови .detach() вместо .join() тут: >>520374
14 Кб, 472x315
#218 #520527
Правильно ли я понимаю, что здесь класс MainWindow наследуется от QMainWindow, но тогда вопрос - что такое выделено красным?
#219 #520530
>>520527
Создаётся новый объект типа UI::MainWIndow и присваивается указателю ui
#220 #520531
>>520527
>>520530
См. этот http://stackoverflow.com/q/2785612 вопрос и все дубликаты
#222 #520537
>>520527
>>520530
>>520532
>>520531
Ого!
Значит тут происходит инициализация поля ui в классе MainWindow ДО вызова конструктора MainWindow. Верно?
#223 #520538
>>520537
Не до вызова конструктора, а до выполнения тела конструктора.
#224 #520839
тест
#225 #520840
Мне кажется у меня психологические проблемы, мне страшно начинать кодить.
#226 #520841
>>520840
Ты работаешь кодером? Учишься (официально) на кодера?
#227 #520842
>>520841
Сам обучаюсь.
#228 #520843
>>520842
Может тебе просто неинтересно.
#229 #520844
>>520843
Интересно, но, почему-то, откладываю на потом, думаю что ничего не смогу, что я хуйло и так далее.
#230 #520845
>>520844
К психологу сходи я серьёзно
#231 #520846
>>520845
Но зачем?
#232 #520847
>>520846

> я хуйло

#233 #520848
>>520847
Ладно, завтра попробую целый день уделить крестам.
#234 #520849
>>520848
Будешь чувствовать себя лутше?
#235 #520852
>>520849
В смысле? Попробую кодить на С++, а самооценка у меня перманентно плохая.
#236 #520978
Странно, вроде популярный и крутой язык, а в треде перекати поле.
106 Кб, 300x300
#237 #520980
>>520978

> популярный и крутой язык

#238 #520981
>>520980
Я что, его зря начал учить?
#239 #521007
>>520981
скорее всего да, С++ потихоньку перекатывается в специфичные области, где для нормальной работы требуется знания этих областей: сети, математика, электроника, телеком и тд.
#240 #521013
>>521007
А разработка игр?
Мне везде пишут что для этого надо С++ учить.
#241 #521022
>>521013
а ну еще это таки да. Ну все равно специфичная область.
#242 #521023
>>521022
А ну ок, продолжу читать Страуступа дальше вступления.
Хочу написать свою игру, у меня тонна идей.
#243 #521025
>>521023
А юнити не рассматривал?
#244 #521026
>>521025
Там же C#?
Да и у меня не в графике суть.
#245 #521030
>>520978
Заморочек много. После Java выглядит дико.
#246 #521056
>>521023
На самом деле С++ относительно сложный язык и что бы качественно на нем писать надо убить кучу времени. Если у тебя просто идея которая не требует еба графики или еба вычислений, то все таки лучше делай на питоне или на джаве тут даже под андроид сможешь запилить.
>>521030
Да не пизди, нормальный язык просто у него есть своя специфика. Java это легко в изучении и трудей выстрелить в ногу, но расплачиваешься ресурсами что в 21 веке не так уж и важно чаще всего.
#247 #521057
>>521023
не читай Страуструпа. Возьми Прату или еще кого нибудь, но только не Стауструпа.
#248 #521060
Аноны, недавно вкатился в C++, читаю книжку в электроном виде. Порекомендуйте наиболее годный справочник
#249 #521075
>>521056

>но расплачиваешься ресурсами что в 21 веке не так уж и важно чаще всего.


То ли дело QT: к экзешнику на 3 мб прикладываешь либы на 40 мб.
JRE весит 28 мб установочный файл.
#250 #521076
>>521075
ты не умеешь собирать.
#252 #521081
>>521076
Расскажи как правильно.
#253 #521128
Зачем в C++ ставится амперсанд (&) здесь?
void MainWindow::onDataReceived(const QByteArray &array)
#254 #521129
>>521128
Чтоб передавалась ссылка
#255 #521133
>>521129
Если не будет const - смогу ли я изменить этот массив через эту ссылку?
sage #256 #521147
#257 #521273
поцаны, гуглил я как-то про std::thread.
Мне, например, не нужно, чтобы он(поток) постоянно что-то там выполнял, а только при вызове делал свою работу и завершался.
Вот, и хотелось бы узнать у вас, в основном все пишут, что потоки убивать не рекомендуется. А нормального ответа так и не увидел почему? Подскажите как быть.
#258 #521288
>>521273
потому что создание и завершение потока - относительно трудоёмкая операция, лучше иметь определённое количество запущенных потоков и вести для них очередь (или отдельные очереди) задач на выполнение - гугли по thread pool
sage #259 #521290
>>521273
Их дорого потом создавать, вот и всё. Просто не убивай его, пусть хуи пинает, пока снова не пригодится.
#260 #521311
>>521288
>>521290
Окей, поцаны, а если мне, допустим, нужно будет выгрузить dll из процесса, а в этой дллке как раз создается поток, что тогда?
#261 #521345
>>521311
Тогда убивай, а то распидорасит. Загрузка-выгрузка dll ещё дороже создания треда.
#262 #521466
>>521391
MVS 12/13/15
#263 #521481
Репощу с закрепленного ньюфаг треда, надеюсь, что вы меня тут не обоссыте. (совсем не умею с классами работать пока что)

[code lang="c++"]
class Token {
public:
char kind; // вид лексемы
double value; // для чисел: значение
Token(char ch) // создает объект класса Token
// из переменной типа char
:kind(ch), value(0) { }
Token(char ch, double val) // создает объект класса Token
:kind(ch), value(val) { } // из переменных типа
// char и double
};
[/code]

Получается, допустим, я делаю так:
[code lang="c++"]
Token t('+');
t('8', 15);
[/code]

Вот и выходит, что эти два объекта будут записаны? (знак плюс и число) или же произойдет перезапись. Просто я не понимаю, перевод ли такой или я просто туплю.
#264 #521502
>>521481

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


Конструктор класса можно вызвать лишь один раз при создании экземпляра.
#265 #521513
Чтобы перезапустить QThread, требуется ли создать новый объект?
sage #266 #521534
>>521513
Не требуется.
#267 #521543
>>521502
то есть, то что я написал во второй раз это дцп?
все, спасибо, я понял.
#268 #521753
>>521707
Visual studio. Rutracker
63 Кб, 420x292
#269 #521827
Антоша, реанимируй свои воспоминания о WinAPI. У меня возник вопрос: при обработке события WM_PAINT есть возможность перерисовывать не целое окно, а только определенный регион. Вот, к примеру, у меня окно с кнопками, списками, текстом и т.д.. Как мне перерисовать только заданную область?
#271 #521863
>>521861
http://www.cs.colorado.edu/~main/bgi/dev-c++/

для bcc55 пришлось чуть хидер подправить
#272 #521866
>>521865

>почему?


Потому что ты его дважды инициализируешь. В одной строчке даже.
#273 #521867
>>521865
давно у меня дело было, хидеры подправь, там что типа заменить
func(int right, int top, int right, int bottom)
на
func(int left, int top, int right, int bottom)
#274 #521868
>>521865
ёпта, да у тебя все на пике видно
int right=INT_MAX
замени все на
int left=INT_MAX
#275 #521871
>>521870
Что тут объяснять-то? Не может в одной области видимости быть две переменных с одинаковыми именами.
#276 #521896
>>521847
Эту функцию я знаю, проблема не в этом, а в том, как перерисовывать. Вот как перерисовать половину буквы или кнопки?
#277 #522073
поцаны, насколько адекватно было бы начинать читать перевод Майерса 2000-х годов, там же по сути информация различаться будет сильно от оригинала (2015 г.), так ведь? Подскажите просто, читать ли перевод или же превозмогать и пытаться понимать инглиш версию?
#278 #522076
>>522073

> превозмогать и пытаться понимать инглиш версию?


Думать нечего, плюсы 1990-х и плюсы 2010-х это два разных языка с тем же названием
#279 #522080
>>522073
Язык довольно сильно поменялся с тех пор, сразу новую версию будет лучше. В принципе можно прочитать старую а потом отдельно про новые фичи, но зачем? Хочешь быть программистом (не на 1c/php) - умей свободно читать технический английский. Без него ты говно ненужное.
#280 #522318
На чем пилить мокрые письки под сперму, какие фреймворки использовать? MFC - для этого предназначено?
#281 #522323
>>522318
что именно нужно зделать?
#282 #522329
>>522318
Для этого, но писать на нем - то еще удовольствие, да и говно мамонта. Юзай либо Qt (если хочется стильно, модно, не пугает порог вхождения), либо какие-нибудь wxWidgets (если надо попроще и без лишних заебок).
#283 #522331
>>522329
не получится стильно модно на Qt - все приложения на Qt выглядят как говно (кроме приложений типа 2Gis, где допустим полностью нестандартный UI)
#284 #522341
>>522331
Какие-то у тебя странные приложения, у меня все норм выглядит.
Ну и вообще, если задача несложная - лучшим вариантом может быть выучить шарп. Раз уже знаешь плюсы, начать клепать формочки там можно буквально за пару дней. Ты не подумай, я не фанат шарпа, но более простого и без сюрпризов формошлепства пока не видел.
#285 #522344
>>522341

>у меня все норм выглядит.


хоть одно приложение в пример приведи
#286 #522360
>>522344
Если верить википедии, из того, что я использовал за последние пару лет, Qt Creator, Octave, KeePass, VirtualBox и клиент близзардовский юзают Qt.
Никакого недовольства внешним видом этих программ я не испытывал. Хотя мне обычно в принципе похуй, если не совсем как говно выглядит, это да.
#287 #522367
>>522360
ясно всё с твоим вкусом... у всех этих программ интерфейс выглядит так же парашно, как у какого-нибудь LibreOffice
#288 #522368
>>522367
Да это даже не дело вкуса, просто насрать. Шрифты читаются, интерфейс более-менее понятный, кислотных цветов нет, лейблы за границы окна не вылезают - значит все норм.
116 Кб, 906x675
#289 #522409
>>518004
Я сейчас ебанусь. Что за дерьмо мне возвращается вместо моего инта? И каждый раз разное.
#290 #522414
>>522409
Преобразуй инт к инту.
#291 #522416
>>522414
return (int)b; так?
Ничего не изменилось.
#292 #522417
>>522416
так только в cout
#293 #522419
Может изза рекурсии?
#294 #522420
>>522417

>cout << (int)result << " <- returned b =/" << endl;


Тоже самое.
#295 #522423
>>521391
g++ 5.2, scan-build, ctags, vim, cmake — мой IDE.
#296 #522431
>>522409
Пляши от последнего присваивания b. Хз че добавить.
#297 #522432
>>522420
Погугли состояния потока. тогда. Поставь так чтобы цифры как цифры выводились.
#298 #522434
>>522431
>>522432
Я походу допер. Окончательный результат у меня возвращается гдето в дебрях рекурсии. А функция которая была вызвана первой вообще по сути не имеет вывода, сейчас буду ковырять.
#299 #522435
>>522409
Все. Разобрался. Нужно было в конце не просто рекурсивно вызывать функцию но и сразу возвращять всю эту хуйню.

>return calculate(expr);

46 Кб, 325x420
#300 #522481
>>522367
Внешний вид интерфейса программы в первую очередь зависит от того, кто его проектирует и делает, а не от того, какая библиотека для этого используется, исключая, конечно, всякие крайние случаи. Плюс надо, чтоб он не тормозил.
Были времена, когда все юзали или WinAPI или MFC, а программы выходили как с хорошим интерфейсом, так и с говеным.
А раз ты такой эстет, то поведай нам интерфейс каких программ ты считаешь очень хорошим.
#301 #522535
Какой компилятор для c/с++ стабильнее всего работает с NetBeans?
#302 #522550
>>522481
я имел в виду нативный интерфейс и только
посмотри на microsoft office, visual studio и т.п. - насколько они органичнее смотрятся в системе, чем говноподелия на qt
#303 #522551
>>522535
он с чем-то кроме gcc умеет работать?
sage #304 #522564
>>522550
Хорошая попытка, спермоклоун.
28 Кб, 565x375
#305 #522584
>>522564
А - аргументация
sage #306 #522593
>>522584
Какая тебе еще нужна аргументация кроме твоей некомпетентности? Qt уже давно может в нативный look and feel, внутри него используется (кто бы мог подумать?!) винапи.
#307 #522799
>>521827

> Как мне перерисовать только заданную область?


http://stackoverflow.com/a/1781030 says:

> Call GetUpdateRect() to get a rectangle that bounds the region to be updated. This information is also included in the PAINTSTRUCT (as the rcPaint field) passed to BeginPaint()



MSDN says:

> The BeginPaint function automatically sets the clipping region of the device context to exclude any area outside the update region.



Берёшь и перерисовываешь. Всё, что не попадёт в рект, отбросится.
34 Кб, 587x347
#308 #522876
>>522423
Максимум прыщепетух
Ну CMAKE ещё шло-брело-ехало
#309 #522884
>>522876
Неосилятора порвало.
Съеби со своим батхёртом в /s/
189 Кб, 358x480
#310 #522954
>>522884
Ну давай, разъясни мне преимущества обоссанного g++ в сравнении с icpc, обоссаного vim в сравнении со студией/clion
Кукареку через 3... 2... 1...
#311 #523072
>>522954

>>обоссаного vim в сравнении со студией/clion


Ты хотел сказать божественного vim + grep + find. Такое чувство, что на плюсах писать не умеешь, эти хуилы не могут нормально шаблоны индексировать. А без этого vim + ctags + egrep + find хватает более чем. А учитывая, что студия ещё и не всегда всю иерархию вызовов показывает...
А если ещё scan-build к этому, то все IDE просто сосут хуй.
Ты сам-то чем пользуешься?

>>обоссанного g++


https://gcc.gnu.org/projects/cxx1y.html
Ну ты понел.
#312 #523142
>>522593
хуле он там может? выше примеры программ приводили - говно все, то там панелька как из windows 95, то там тулбар жопный
особенно весело про спермоклоуна - я-то давно уже перекатился на мак, винда только в виртуалочке
#313 #523146
>>522954
плиз ... не сравнивай тормозящее говноподелие от jetbrains со студией
#314 #523194
>>523142
Ну и при чем тут Qt то? То, что хуесосы не могут нормальный интерфейс склепать - проблемы их, а не фреймворка. У меня нормально все получается, нативно, хоть я и не особо уделяю этому внимание.
#315 #523311
>>518004 (OP)
Как заполнить поля static const struct по дефолту?
#316 #523316
>>523311
[code lang="c++"]struct Yoba
{
int x;
int y;
};
static const Yoba peka = {9000, 100500};[/code]
#317 #523391
>>523316
Спос
61 Кб, 325x681
#318 #523464
>>522593

>кроме твоей некомпетентности


>внутри него используется (кто бы мог подумать?!) винапи.


Ну охуеть теперь, а что, в программе для windows можно как-то не пользоваться WinAPI?
Вопрос в том, везде-ли он используется и на сколько грамотно, но судя по тому какие выходят программы используется он далеко не идеально.

>>523194

>Ну и при чем тут Qt то? То, что хуесосы не могут нормальный интерфейс склепать - проблемы их, а не фреймворка


Правильно, сначала напиши хуйню, а потом говори то, что только до этого >>522481
написали.
#319 #523509
>>523464
Ты заебал, манька. Ты гонишь на инструмент, когда проблема не в нем, я тебе поясняю, что проблема в спермоклоунах, не могущих в этот инструмент. Что тебе еще не нравится? Съеби в ужасе, блять.
#320 #523531
>>523316>>523423
Блжад, не могу объявить в .h файле константу-структуру, я чё и спрашивал, не работает нихуя.
#321 #523534
Пагни, компилятор ругается ошибкой
||=== Build: Debug in winsock (compiler: GNU GCC Compiler) ===|
ld.exe||cannot find -lws2_32.lib|
||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

Начало кода:
#include <stdio.h>
#include <winsock2.h>
#include <windows.h>
Среда CodeBlocks. Библиотеку в настройках линкера подключил. Ну то есть lws2_32.lib эту. ЧЯДНТ?
#322 #523535
Ёбаный на хуй си.
#323 #523541
>>523535
Соси.
#324 #523542
>>523541
Ты объясни мне как ёбаную константу объявить лучше.
#325 #523544
>>523534

-------------- Clean: Debug in winsock (compiler: GNU GCC Compiler)---------------

Cleaned "winsock - Debug"

-------------- Build: Debug in winsock (compiler: GNU GCC Compiler)---------------

mingw32-g++.exe -Wall -fexceptions -g -c E:\termophisx\Sourses(pc)\C++\internet\winsock\main.cpp -o obj\Debug\main.o
E:\termophisx\Sourses(pc)\C++\internet\winsock\main.cpp: In function 'int main(int, char)':
E:\termophisx\Sourses(pc)\C++\internet\winsock\main.cpp:129:40: warning: passing NULL to non-pointer argument 2 of 'void CreateThread(LPSECURITY_ATTRIBUTES, DWORD, LPTHREAD_START_ROUTINE, PVOID, DWORD, PDWORD)' [-Wconversion-null]
&client_socket,NULL,&thID);
^
E:\termophisx\Sourses(pc)\C++\internet\winsock\main.cpp:129:40: warning: passing NULL to non-pointer argument 5 of 'void
CreateThread(LPSECURITY_ATTRIBUTES, DWORD, LPTHREAD_START_ROUTINE, PVOID, DWORD, PDWORD)' [-Wconversion-null]
mingw32-g++.exe -o bin\Debug\winsock.exe obj\Debug\main.o -l ws2_32 "..\..\..\..\..\Program Files\CodeBlocks\MinGW\lib\libws2_32.a" "..\..\..\..\..\Program Files\CodeBlocks\MinGW\lib\libwsock32.a" "..\..\..\..\..\Program Files\CodeBlocks\MinGW\lib\libws2_32.a" -lws2_32.lib "E:\Program Files\CodeBlocks\MinGW\lib\libws2_32.a"
e:/program files/codeblocks/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot find -lws2_32.lib
collect2.exe: error: ld returned 1 exit status
Process terminated with status 1 (0 minute(s), 6 second(s))
1 error(s), 2 warning(s) (0 minute(s), 6 second(s))

Вот все что вываливается
#326 #523551
>>523542
>>523542
Все просто, скажи "на сцене - константа!".
#327 #523552
>>523544

>Вот все что вываливается


Лол, ты как твой батя говоришь. Он кстати это говорил когда твоя мама вернулась из тура по Грузии)
#328 #523554
>>523551
Блджадь я делаю он пишет неправильно, 4 ошибки, скобочки не там то то не тут то.
#329 #523556
>>523544
Кодь в MVS бесплатном или быдлере, нехуй всякую еботу заместо иде использовать.
#330 #523576
>>523534
Code::Blocks славится своими глюками.
Либо из консоли ебашь, либо MS Visual Studio Express
40 Кб, 800x454
#331 #523652
Есть софт, который мне составит хит-парад самых длинных методов/функций среди моих C++-исходников?

Гугл выдаёт хуйню. Самому писать лень, пока не убедился, что нет такого.
#332 #523658
>>523656
Потому что твоя мать шлюха
#333 #523659
>>523556
Цлион же
#334 #523669
>>523534
В настройках проекта, где либу подключать
В первой колонке:
ws2_32
Во второй: -static

Мимокрокрдил, когда то на лабах было такое
108 Кб, 604x604
#335 #523844
Здарова, парни. У меня к вам вопрос, можно ли после Страуструпа "Принципы и практика программирования на C++" идти изучать WinAPI и все остальное Рихтера? Просто уже хочется чето попилить, интересно же. Или лучше Майерса сначала читнуть придется? А можно ли совместить? Короче, добрые аноны, нужна ваша помощь, спасибо.
#336 #523855
Сильно не пинайте, но что насчет IDEs? После жабы очень неудобно переименовывать переменные и функции: там такой хуяк, refactor-rename и все везде переименовалось, а тут в один раз в классе переименовал, а потом бегай в методах руками опять снова все переименовывай.
MSVS2010EE
#337 #523864
#338 #523865
>>523864
че да
#339 #523916
>>523855
Visual Assist X / JetBrains ReSharper for c++
#340 #523918
>>523916
Оба платные, VS Express Edition не может в расширения.
#341 #523920
Нужно написать пару тройку гуевых программ, которые будут обмениваться инфой по COM порту и отображать всякую инфу.
Что лучше выбрать:
1. QT
2. C++ Builder
Кроссплатформенность не нужна, достаточно винды.
#342 #523922
>>523865
У тебя во рту елда.
sage #343 #523923
>>523920
Delphi 6.
#344 #523924
>>523923
С Delphi не сталкивался никогда, да и не хочется.
#345 #523925
>>523855
Resharper for C++
#346 #523926
>>523920
C#, WPF или Windows Forms
33 Кб, 598x432
#347 #523942
>>523922
я вопрос как-то неправильно задал или ты пес на суете?
#348 #523946
>>523926
С шарпом проблема - нельзя доп. либы тянуть.
sage #349 #523947
>>523922
С подливой.
#350 #523952
>>523946
Т.е. не доп либы, а дотнятинку.
#351 #523954
Кто пробовал, тяжело ли или долго обучиться c# ,если знаешь основы c++?
#352 #523961
>>523954
Не сложно.
#353 #523962
Поясните, я изучаю основы С++, не совсем понял что я неправильно написал:
while ((friend_sex != 'm') || (friend_sex != 'f'))
{
cin >> friend_sex;
}
Хочу сделать проверку - если friend_sex != 'm' или friend_sex != 'f', то чтобы я вводил его, пока я не введу f или m. Но в моём случае даже если я ввожу f или m - всё равно не продолжается скрипт.
#354 #523964
>>523961
А сколько по времени? Весь день свободный. Вместе с ООП. Хочется на юнити что-нибудь сделать.
#355 #523967
>>523962
Именно тут вроде все впорядке. Попробуй отладчик,если в MVS
#356 #523969
>>523967
Вот код, программа запускается - пик, но не работает.
#358 #523973
>>523970
одинарные кавычки на двойные замени в проверках.
881 Кб, 2048x1152
#359 #523976
>>523970
Все перепробовал,это заработало.
#360 #523979
>>523976
Можно без привязки к типе чар
17 Кб, 596x489
#361 #523988
>>523973
В этом случае у меня вылетает ошибка - пик.

>>523976
Спасибо, так работает, но почему? У нас же одинаковые выражения, просто, в твоём случае не вынесено на скобки?
Кстати, ты что, монитор фоткал?
#362 #523995
>>523988
Потому что тут ты сравниваешь не char, а char*. А на прошлом пике было char, из-за этого и работает. Узнай разницу между 'm' и "m".
#363 #523996

>Спасибо, так работает, но почему? У нас же одинаковые выражения, просто, в твоём случае не вынесено на скобки?


>Кстати, ты что, монитор фоткал?



>>523988
Скорее всего вся лабуда в приоритетах операций. Да,сижу через 2ч браузер на ведре.
#364 #523997
>>523996
Aide на ведре уже умеет крестовые хеллоу ворлды компилировать.
#365 #523998
>>523995
Может он пока указатели не изучил.
#366 #524000
>>523995
Не совсем понял?
Мне в задании написали:

>Объявите переменную типа char


Я пробовал в одинарные ковычки ставить чар, мне писало ту ошибку - вроде одинарные ковычки меняют тип чара во что-то другое?
Я сам изучал несколько лет назад пхп и неплохо его знаю, помню что в двойных работает код, в одинарных нет.
#367 #524001
>>523998
http://pastebin.com/WMcm0zqp
Лень разбираться с js плагином для двощей, так что вот пастбин.
#368 #524003
>>524001 -> >>524000
Не туда зареферил, сорь.
#369 #524007
>>524000
Да и вообще присмотрись в своей же код. У тебя внизу if корректный идет.
#370 #524010
>>524007
Я знаю, просто, я хотел вайлом сделать так, чтобы если кто-то ввёл не ф или м, то надо было заново вводить.
#371 #524011
>>524010
Я имею в виду сравнение корректное. У тебя внизу вон и вайл закоменчен правильный. Короче поменяй на одинарные ковычки.
#372 #524012
>>524011
Закомментированный вайл тут: >>523970?
С ним не работает.
#373 #524013
>>524012
Там не || должно быть, а &&. Я, как обычно, сперва не заметил. Олсо если ты сравниваешь с std::string, то работай с "m", да.
#374 #524014
>>523970
У тебя условие заведомо всегда выполняется. Потому что либо пол не равен m, либо пол не равен f, либо не равен обоим. Поменяй || на &&.
#375 #524015
>>523844
але
#376 #524016
>>523976
А вот здесь всё правильно.
!(a||b) = (!a)&&(!b)
#377 #524017
>>524015
Тю, что за странный вопрос. Если хочется что-то делать, то возьми и делай.
#378 #524018
>>524017
Он не знает что делать, но хочет что-то сделать.
#379 #524019
>>524018
Ну пущай возьмет да начнет пилить гуйцы там, или хрень какую с сокетами, или с базами, или с gpu. Просто возьми интересующую тебя тему, придумай таск и вперед.
#380 #524043
>>523844

>2015


>WinAPI

#381 #524045
>>523926
А реально ли заюзать WPF или Windows Forms в mingw, и есть ли примеры?
39 Кб, 600x425
#382 #524046
>>523964
Я хочу от дома дойти до Германии, весь день свободный, сколько времени это займет? Хочу стать немцем.
#383 #524049
Анон, как правильно пользоваться ебучей функцией CreateFont? Я хочу просто получить 14 размер шрифта, и что я вижу:
int fontHeight = -MulDiv(Size, pixelsPerInch, 72);
int SetMapMode(HDC hdc, int fnMapMode);
логические единицы и т.д.
что все это за хуйня?
#384 #524066
>>523964
В юнити сложность не в самом знании языка, там надо знать саму среду. То есть можно знать основы шарпа и js, и просто искать готовые скрипты и исходя из них уже делать что то свое.
sage #385 #524067
>>523976
Что это за черненькая IDE на пике?
#386 #524068
>>524000

>вроде одинарные ковычки меняют тип чара во что-то другое?



'а' это переменная типа char, а не чаровский массив, который строка. только 1 символ может быть в ' '
"a" это уже строка типа char *, потому что в си нет стрингов, и строки там работают через указатели на элементы чаровского массива.
#387 #524069
>>524067
студия
#388 #524093
>>523964
1 год ушел на JAVA, если в ООП хорошо шаришь, то напишешь свою первую игру за день.
#389 #524094
>>524000
char a1 = 'a';
char* a2 = "a" // Это на самом деле массив, содержащий 2 чара: 'a' и '\0'
#390 #524147
Что-нибудь для работы с rdp есть? На msdn ясно ровно нихуя для c# похоже, а ставить c++ builder это уж слишком костыльно.
#391 #524157
#392 #524173
>>524043
а че ты советуешь?
ничего плохого не вижу в том, чтобы начать с винапи.
#393 #524252
Сап плюсаны. Дошел вот в книжке до главы, посвященной перегрузке стандартных операций. Не пойму, в чем косяк в одном из упражнений. Надо сделать класс Time и перегрузить для него операции "++" и "--" в префиксной и постфиксной форме. Вот листинг: http://pastebin.com/wTd9F25N
Почему-то не работает постфиксная форма, хотя сделал как написано в книжке, путем добавления (int) в конец строки с ключевым словом operator.
Результат работы проги:

>Задаем значение объекта t1


13:15:45

>Задаем значение объекта t2


12:21:8

>Результат сложения t3 = t1 + t2


1:36:53

>Результат ++t1


13:15:46

>Вычисляем t3 = t1++, выводим t1 (верное значение)


13:15:47

>Выводим t3 (неверное значение, должно быть 13:15:46, т.к. типа постфиксная форма "++" в присваивании


13:15:47

>Результат --t2


12:21:7

>Вычисляем t3 = t2--, выводим t2 (верное значение)


12:21:6

>Выводим t3 (неверное значение, должно быть 12:21:7, т.к. типа постфиксная форма "--" в присваивании


12:21:6

Никак не пойму, где косяк?
Batya #394 #524255
>>524252
Я не пойму твой код)
#395 #524270
>>524255
А что именно непонятно?
Объект класса Time это типа время, три поля: часы-минуты-секунды. Для операций над этим объектом время преобразуется в одно значение -- секунды, к нему че-нить прибавляется или отнимается, потом обратно преобразуется в часы-минуты-секунды.
#396 #524280
Царь Сбез плюсов здесь следующие пару дней, задавайте вопросы. Стандарты, синтаксис - вот. Но не хлестайте сильно прутьями
#397 #524284
Какие есть способы упаковки QT приложения, так, чтобы оно не весило ~40 мб?
#398 #524285
>>524284
Сжать свой анус. Что, эта хуета строго линкуется при компиляции? Или это: графен - тут размер не важен.
#399 #524287
>>524252
Я вроде разобрался, но, честно, не ожидал, что можно сделать так по-ебанутому.
Посмотрев на другие примеры и на решения других аффтаров этого упражения, я пришел к выводу, что если мы хотим перегружать именно постфиксную форму, то надо в коде перегруженного оператора использовать постфиксные выражения инкрементирования.
Т.е., сука, надо писать не i = i + 1, return(i); а именно , сука, return(i++);
Честно, у меня просто нет слов от этой ебанутой логики. До сего момента я понимал, в целом, всю инфу, касательно языка-синтаксиса. А просто в ахуе.
#400 #524288
>>524287
* теперь просто в ахуе
Быстрофикс.
#401 #524292
>>524285
Никакого особенного гуя нет - гуй нативный на вид.
#402 #524310
>>524287

>надо писать не надо писать не i = i + 1, return(i); а именно , сука, return(i++);; а именно , сука, return(i++);



Потому что i = i + 1, return(i); это тоже самое что и return(++i);
#403 #524360
>>524310
Я еще раз разобрался, после того, как в первый раз разобрался, лол.
В общем, стал жертвой своей невнимательности.
Хороший урок на будущее.
#404 #524380
>>524280
Отличаются ли чем-нибудь с практической точки зрения (кроме наличия/отсутствия деструктора) thread_local указатель и thread specific storage (функции tss_… в c11 и pthread_key_… в posix)? Для чего вообще в стандарт добавили tss_... , если есть thread_local? Что лучше использовать?
#405 #524381
Нужно нарисовать форму со своими кнопками свернуть/развернуть/закрыть, т.е. переделать их вид типо как в aimp или winamp сделано. Как это можно сделать с помощью QML?
#406 #524390
>>524287
Как ты собрался перегружать инкремент объекта класса просто написав i++ к одной переменной?

>надо писать не i = i + 1, return(i); а именно , сука, return(i++);



Это вообще разные вещи.
i = i + 1;
return i;
это префиксный инкремент. А
return i++;
постфиксный
#407 #524439
>>524280
Как его лучшее всего учить не трогая кресты? Только K&R знаю.
#408 #524440
>>524390
Мне непонятно, почему "префиксность" и "постфиксность" перегруженной операции завязаны на "префиксность" и "постфиксность" кода оператора. Нахуя так делать? Вот же есть ключевое слово (int), пусть оно и указывает на форму инкремента, независимо от того, что там в коде оператора. Я так полагал, что это самое (int) указывает, что надо сперва присвоить значение переменной/объекту слевы от знака "=", а потом уже проводить вычисления над инкрементируемой переменной/объектом. Либо я что-то не до конца понимаю, либо это какой-то пиздец.
#409 #524442
>>524440
Если ты перегружаешь постфиксный/префиксный оператор, то логично, что и код должен быть соответственный?
#410 #524447
>>524440
Ты запутался. Дело не в форме кода оператора. (int) указывает на то что перегружен постфиксный оператор, больше нихуя он не делает. Если в коде встречается ++t то вызывается operator++ если t++ то operator++(int), все. Постфиксный оператор должен возвращать неизмененное значение . Выражения i = i + 1, return(i); и return(i++); не равноценны. Первое возвращает увеличеное на 1 число. Второе возвращает неизмененное число (и увеличивает его на один). В коде постфиксного оператора инкремента нужно сохранить старое значение, увеличить на еденицу, и вернуть сохраненное сторое значение. Твой operator++(int) должен выглядеть примерно как:
Time operator++(int) {
\t Time temp(h,m,s);
int seconds = (h 3600) + (m 60) + s;
seconds++;
h = seconds / 3600;
m = (seconds - (h 3600)) / 60;
s = seconds - (h
3600) - (m * 60);
if (h > 24) { h -= 24; }

return temp;
}
#411 #524460
>>524440

>Мне непонятно, почему "префиксность" и "постфиксность" перегруженной операции завязаны на "префиксность" и "постфиксность" кода оператора. Нахуя так делать?


Блять потому что это логично? Нет? А если ты перегружаешь, к примеру, оператор == тебя не будет смущать что он же будет использоваться в коде перегрузки?

>Вот же есть ключевое слово (int), пусть оно и указывает на форму инкремента, независимо от того, что там в коде оператора.


Так и есть. Если ты хочешь можешь сделать чтобы префиксный инкремент добавлял к переменной 1 а постфиксный 2. Да вообще все что угодно можешь туда написать.
90 Кб, 387x362
#412 #524533
Поцаны, а где можно почитать про сетевую часть?
Никогда в жизни не работал с сетью на крестах, но очень хочется.
Сокеты там, http и всякие свистелки. Подскажите, пожалста, где можно найти статьи, а может даже есть какая книга по всему этому делу?
#413 #524535
>>524533
нашел вот такую книгу - "Boost.Asio C++ Network Programming" John Torjo. Как она ваще?
#414 #524538
Есть тут кто? Я нуб, есть вопрос.
Изучаю по Страуструпу, начинаю делать 1 задания, но у меня возникает ошибка, или, скорее я не знаю как сделать:
Я хотел сделать так, что если вводишь что-то кроме f или m, то выдавало бы ошибку.
Я сделал такую конструкцию:

while ( (friend_sex != 'm') && (friend_sex != 'f') )
{
cin >> friend_sex;
cout << "Enter f or m: ";
}

Но! В этом случае если я верно - идёт следующий шаг, но cout всё равно выводит "Enter f or m: ", что я не так сделал? Ввёл f например, а конструкция выводится. Номер 1 на пике.
Кстати, если ввести слово, то выводится столько этих конструкций, сколько символов в фразе.

Код: https://ideone.com/X6yDih
314 Кб, 1899x1106
#415 #524540
>>524538
Пик забыл.
#416 #524542
>>524540
>>524538
А всё, решил так:
while ( (friend_sex != 'm') && (friend_sex != 'f') )
{
cin >> friend_sex;
if ( (friend_sex != 'f') && (friend_sex != 'm') )
{
cout << "Enter f or m: ";
}
}
#417 #524575
>>524538
do { } while(); используй.
#418 #524611
>>524533
ну поцаны)
#419 #524639
>>524447
Большое спасибо за развернутый ответ, так стало намного понятнее. Добра тебе.

>>524442
>>524460
Ну, сам я не допер, а в книжке этот нюанс разжеван не был. В некоторых вещах, бывает, начнешь думать в одном направлении, не замечая другого и упираешься.
76 Кб, 1011x746
#420 #524651
Поясните, что я не так делаю?
Когда нажимаю любую клавишу то начинается спам текстом.
Хотя, вроде не должно, даже если нажимаю k or m.
#421 #524655
>>524651
Ну ты смотри, вводишь то перед циклом символ и если он не k || m, то начинает тупо флудить cout'ом, разве это не очевидно?
#422 #524657
>>524651
Зачем тебе вообще там цикл? Почитай внимательно что у тебя написано в while. Там будет true что бы ты не нажал. Поэтому и получается бесконечный цикл.
#423 #524658
>>524651
>>524657
Точно, вписал цин внутрь цикла и заработало. Просто, я еще не совсем понял как всё работает.
59 Кб, 1304x726
#424 #524670
Поясните опять что я не так делаю? Я уже всё испробовал и посмотрел свою прошлую программу - всё должно работать: почему после ввода k программа не выводит - введите сколько километров т.д.? А просто мигает пустым символом ввода?
#425 #524676
>>524670
используй дебаггер, люк
#426 #524678
Пишу реализацию очереди с приоритетами.
Хедер: https://ideone.com/tnWS3d
Сорец: https://ideone.com/8bbz5v

Правильно ли я начал реализовывать методы шаблонного класса? Что я делаю не так в последнем методе? Ошибка:

error C2664: Item::Item(const Item &): невозможно преобразовать параметр 1 из "Item " в "const Item &"
1> Причина: невозможно преобразовать "Item
" в "const Item"
1> Ни один конструктор не смог принять исходный тип, либо разрешение перегрузки конструктора неоднозначно
#427 #524679
>>524670
или вместо и
#428 #524681
>>524676
Как им пользоваться?

>>524679
Если юзаю или, то там на 1 строчке всё застревает.
#429 #524702
>>524670

Сделай вот так:

char a;

\twhile (1){
\t\tcin >> a;
\t\tif (a == 'k' || a == 'm') break;
\t\tcout << "Vvedite k libo m!" << endl;
\t}
17 Кб, 549x235
#430 #524703
>>524670
Ебанутая доска.
#431 #524705
>>524681
Ставишь брейкпойнт, запускаешь в режиме дебага, когда программа останавливается, идешь построчно и мониторишь значения переменных
#432 #524715
В чистом С ведь нет ООП, но можно сделать псевдо ООП помещая в структуру не функцию, а указатель на неё или ещё какими либо способами. Тогда Можно написать структуру в которой функция. Прогнать через какой-то волшебный персер который превратит её в указатель. А потом получившийся исходник скомпилировать на чистом С. Значит таким образом можно и перегрузку имён сделать и повысить уровень языка ме потеряв в скорости т.к. используется компилятор С. Это можно считать новым языком? Что-то похожее ведь сделали. Как это называется и почему оно ещё не вытесняло С?
#433 #524719
>>524718
Можешь запустить экзэшник из консоли и перенаправить вывод в файл? Хуй знает что у тебя за проблема. Это у тебя консольная графика должна быть из книги лафоре?
#434 #524721
Скопипащу из ньюфаг треда вопрос сюда. Там уже овер 800 постов. Скоро должен утонуть.

http://aliev.me/runestone/index.html
Отличное оглавление. Есть точно такое же чтобы и с разбором алгоритма решения и с реализацией только для С++?

Есть книга для самых основ алгоритмов? Чтобы если ничего не знаю с нуля мог изучать эти алгоритмы. Только чтобы обязательно были решения на С++.
#435 #524731
>>524725

>Через cmd?


Да.

>А это как?


В винде это вроде делается так. file.exe>file.txt Перед этим зайди в папку с экзэшником. Если не сработает попробуй .exe убрать и/или start в начале приписать.

Это скорее всего не поможет. Просто интересно будет ли такая ошибка если консоль не трогать и как консольная графика ведёт себя с файлами.
#436 #524733
>>524731

> >


Всё таки надо 2 таких символа.
>>
#437 #524741
>>524715

> Что-то похожее ведь сделали


Да.

> Как это называется


С++ и Objective-C (старые трансляторы)

> почему оно ещё не вытесняло С


Там где используется С ООП нинужно. Там где нужно ООП можно навернуть джаву или шарп.
#438 #524752
>>524741
Ты С знаешь? Пока ты тут ответь ещё и на этот вопрос. >>524439
Какие отличия Objective-C от обычного С? Слышал про Swift это что похожее?
#439 #524763
>>524752

> Какие отличия Objective-C


Отличия минимальные, добавлена только работа с объектами (определение объекта, посылка ему сообщений, протоколы и категории). Правда большинство кода как раз и состоит из ебли объектов, по-этому objC код мало похож на сишный. Ну и там по мелочи есть импорт, литералы. Добавлены блоки (лямбда/замыкания) - но это эпловское расширение языка С. И все. А swift он по синтаксису ближе к С но в общем дальше ушел, так как более современный.
#440 #524788
Как Передать в функцию адрес элемента матрицы?
5 Кб, 177x530
#442 #524882
Я всё никак не могу решить свою задачку про километры. Я тут расписал булеан, всё правильно?
Т.е. в случае ИЛИ - если есть хоть 1 ТРУ, то команда проходит. Не проходит только если все ФАЛС.
В случае И - если хоть 1 ФАЛС, то автоматом не проходит команда.
Так?
59 Кб, 1133x953
#443 #524884
>>524882
Сам нагуглил как работают команды типа вайла или ифа, вычислил как работает булеан методом проб и ошибок, потом перенёс и заменил значения как бы это работало в программу... И всё заработало как надо!
кун->>524670
#444 #524961
Подскажите, я решил сделать так, что в зависимости от введённой буквы брался бы и тип переменной:
if (symbols_select == 'd')
{
double val1;
double val2;
}
if (symbols_select == 'i')
{
int val1;
int val2;
}
val1 = 0;
val2 = 0;

Но в этом случае пишет что там где val1 = 0; что она не объявлена еще на стадии запуска программы.
Но у меня дальнейший код настроен так, чтобы работать и с даблом или с интеджером.
Получается мне его 2 раза копировать и каждый в свой ИФ кинуть?
#445 #524972
>>524961
Почитай про области видимости. То что ты хочешь сделать можно только классом навернуть, ну или в зависимости для чего может юнион еще подойдет.
#446 #524991
Программка со сравнением 3х чисел, вроде верно: https://ideone.com/DB2N6X
#447 #525034
Хм... Поясните, почему если у интеджера, который на 1 больше чётного числа взять % остаток от деления, он мне всегда выдаёт: 1952805748
#448 #525035
>>525034
Ой, немного не так, в общем такой код:
balance = num % 2;
if (balance != 0)
{
cout << "test";
}
Если тест в одиночных кавычках, то выдавало это число.
#449 #525036
>>525034
>>525035
Ты ебнутый?
#450 #525037
>>525036
Нет, почему?
#451 #525038
>>525037
Какие нахуй строки в одинарных кавычках?
#452 #525040
>>525038
Я понял что вы мне поясняли в прошлый раз - в двойных кавычках получается как массив чара, в одиночных - 1 символ, так?
Я, просто, не совсем понял как это работает - т.е. ковычки ВСЕГДА чар?
#453 #525045
>>525035
Чот в голосину с тебя. Тебе в варнингах ничего не выдали? cout конечно умный, но не настолько, чтобы ты разбрасывался кавычками как тебе угодно.
#454 #525063
>>525040
' ' - один char
" " - строка
#455 #525067
>>525063

>" " - строка


string?
Я гуглил, показывало что это char* (char array)
#456 #525070
>>525067
Учебник почитай, хуесос
#457 #525072
>>525070
Я как раз читаю, но не оскорбляй меня - все профессионалы начинали когда-то. К тому же лучше глупый вопрос, чем вообще ничего.
#458 #525075
>>525072
Лучше читать учебник, хуесос. Ты задаёшь не глупые вопросы, ты просишь пересказать учебник. Гугли что такое литерал, строковой литерал и.т.п.

Вон из профессии
#459 #525081
>>525067
Ну так а чем по твоему является строка?
43 Кб, 741x349
#460 #525087
Как работает это ебанутый for в 19-той строке? Так можно только с вектором или у for есть другой способ использования?
#461 #525122
>>524804

>Что делать?


Попробуй другой компилятор.
#462 #525126
>>524763
Спасибо. Последний вопрос. Что нужно почитать/освоить чтобы на программировании контроллеров на С можно было зарабатывать?
#463 #525130
>>525087
Работает со всем, для чего определены std::begin и std::end, возвращающие хотя бы forward-итераторы.
#464 #525133
>>525126
Разбираться в электронике и ЦОС.
Знать, как работает периферия в М.П.
Задача сделать FSK модем на 16/32 битном М.П. с исправлением ошибок тебя не должна пугать. Это высокий уровень.
#465 #525136
>>525133
И что лучше почитать если уже освоил С++ за 21 день?
#466 #525137
>>525136
easyelectronics.ru
Начинай с 8-ми битных AVR.
Далее переходи на STM32.
Далее пытайся выполнять заказы с electronix.ru
#467 #525139
>>525136
>>525137
И да, язык здесь - последнее дело. Знаешь С - тебе хватит этого на пару лет.
#468 #525140
>>525137

>Начинай с 8-ми битных AVR.


>Далее переходи на STM32.


Есть способ этому учиться не покупая этих железячек?

>>525139
А что надо перед практикой почитать?
#469 #525143
>>525140

>Есть способ этому учиться не покупая этих железячек?


Невозможно. Заказчик тебе пришлет макет, под который надо прошивку сделать - а ты проц впервые видишь и не понимаешь куда припаять вот это туда. Готовь деньги, паяльник и прямые руки. Сэкономить на отладочных платах сложно, но можно.
Хорошая плата для STM32 стоит 100€. Для AVR дешевле существенно.
А в принципе всё это копейки.

Имеет смысл пощупать процы MSP430.
#470 #525146
>>525143
Жаль. Тогда на чём можно зарабатывать зная С++? QT выучу и можно на фриланс/работу потом?
#471 #525148
>>525146
Можно и на кутях.
Занимайся тем, что тебе нравится.
Хоть в энтерпрайз на джаве, хотя это очень уныло.
#472 #525157
Создал я объекты:
{
Object object1(67);
Object *object2 = new Object(67);
}
Какие из них будут удалены после выхода за область видимости?
#473 #525205
>>525157
Первый. Второй потеряешь но память будет занимать. Если у класса нет деструктра первый пропадёт?
#474 #525215
>>525157
Первый создастся на стеке и будет удален по выходу из функции.
Во втором случае на стеке создан будет указатель, а сам объект в куче. Указатель по выходу из функции так же будет утерян.
#475 #525216
>>525215
Ага! А памяти таки нажремся во втором случае?
#476 #525218
>>525215
Диструктор нужно для класса писать?
#477 #525227
Посоны, никак не могу ждать до бамплимита, который, видимо, будет ночью, так что вот вам
НОВЫЙ ТРЕД
http://2ch.pm/pr/res/525225.html
http://2ch.pm/pr/res/525225.html
http://2ch.pm/pr/res/525225.html
#478 #525250
>>525216
Конечно.
#479 #526241
Для начала подойдет.
http://www.youtube.com/watch?v=CF5YMeW0SSw
#480 #538907
Бамп.
sage #481 #539000
[code lang="programming_laugnage"] %your code% [/code]
sage #482 #539002
[code lang="programming_laugnage"] %your code% [/code]
sage #483 #539003
[code lang="programming_laugnage"] %your code% [/code]
sage #484 #539004
[code] %your code% [/code]
sage #485 #539007
[code]
Just some text.
Nothing is highlighted, it is just kept monospace, preserving the
spaces and special symbols.
[/code]
#486 #539019
>>526241
Нихуя не пойдет. Пиздец какой-то.
Тред утонул или удален.
Это копия, сохраненная 27 сентября 2015 года.

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

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