Этого треда уже нет.
Это копия, сохраненная 22 апреля 2020 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
2 1598514
>>598511 (OP)
Прошлый тред:
>>1576737 (OP) (OP)
1581443682533.PNG67 Кб, 279x353
3 1598557
Аноны, подскажите, а сколько максимум оттенков цветов можно использовать в карте высот при 24 битном RGB? "В карте высот" означает, что цвета должны переходить друг в друга плавно, без рывков. Сколько максимум может быть таких переходов, которые может выводить обычный 24-битный моник?
В градациях серого максимум можно выжать 256 оттенков. А в RGB?
4 1598624
Карочи, поцики, задача такая.

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

В общем, я хочу чтоб у меня код лежал на основной машине, а компилировался в чём-то ещё.

Как это лучше всего достигнуть? Vagrant?
5 1598676
>>598624
Тв хочешь запускать программу на разных системах или крутить ее в виртуалке (контейнере)?
6 1598699
Подскажите, как реализовать алгоритм обхода всего лабиринта, есть список вершин и смежных с ними:
std::vector<int> list[V];
Надо обойти все вершины и записать в вектор путь, при этом чтобы не ходить кругами и это не работало оче долго на 200-300 вершинах.
7 1598709
>>598676
Да мне не принципиально. Мне нужно проверять собираемось и работу на разных системах.
8 1598726
>>598699
DFS (поиск в глубину).
9 1599178
>>598511 (OP)

Схуяли я этого четырехглазого головастика второй тред подряд должен лицезреть? Хуевый перекат, переделывай
10 1599222
>>599178
Ты че ты че сука!
11 1599232
Прошел сегодня своё первое собеседование на джуна С++. Задавайте вопросы.
12 1599246
>>599232
Хуи или бочка?
Молодец, не забудь свалить оттуда через год
13 1599257
>>599246
Если еще устроят
14 1599331
>>599232
Какая вилка, что спрашивали? Гитхаб покажешь?
15 1599345
>>599232
Все рассказывай. Сколько длилось собеседование, какие вопросы задавали ( с примерами ), кто вел интервью, как он вел интервью итд.
16 1599357
>>599331
HR дала тесты, все вопросы кроме последнего видимо для отсеивания совсем унтеров, в последнем надо было отрефакторить код и прокомментировать.

В целом код был не сложный. Хорошо, что я когда-то прочитал пару глав параллельного погромирования на С++, иначе я бы сразу слился на слове мьютекс

А вот ожидаемых мною move семантики и перфект форвардинга не было, даже ни одной rvalue ссылки. Да и вообще много чего не было, что я бы засунул, если бы делал тесты для джунов

>>599345

>Все рассказывай


Уважаемый сотрудник компании *, перелогиньтесь пожалуйста
17 1599364
>>599357
Вилка то какая? Личного собеса не было чтоль?
18 1599367
>>599364
Был и личный, вилка не обсуждалась
19 1599370
>>599367
Ну а на личном что? Кому интересны эти тесты от эйчарш, они для того чтобы совсем ебланов отсеять и нужны. Нормальный собес всегда лично проводят.
20 1599392
>>599370
Рассказывал о проектах всяких, обсуждали последнюю задачу из теста, где я проебался, что не учел. Вынес следующее, пользоваться git'ом - значит не только уметь писать пуш и коммит (ну и мердж). В прикладных технологиях по факту я не разбираюсь, так как не имел целью до этого изучать что-то кроме чистых языков и алгоритмов с матаном. Считаю их тем, что можно наверстать за пару недель, но вот не наверстал. привет qt
Пойду учить техналогии крч, а так хотелось сикп дочитать
21 1599408
>>599392
Так что в итоге то, мы вам перезвоним?
22 1599412
>>599408
Типо того
23 1599416
>>599408
А че в идеале должны сказать?
24 1599494
>>599416
Вы приняты. Проходите, присаживайтесь, угощайтесь.
25 1599573
Почему итераторы так не красиво реализованы в C++? Я имею в виду вот такое:
std::find(arr.begin(), arr.end(), abc)
Почему нельзя просто без begin и end вот так бы: find(arr, abc), как в других языках? Ведь std::vector и другие контейнеры и так знают где их конец. Нет ли такого шаблона?
26 1599586
>>599573
Потому что с итераторами в таком виде можно творить много разной интересной хуйни.
Для работы в том виде как ты хочешь в 20 стандарте добавили рейнджи, если не завезли в твой компилятор можешь пользовать ranges-v3 на которой стандарт и основан.
27 1599599
>>598557

>сколько


>при 24 битном RGB


>24-битный


Ты троллишь? Если да, то тебе почти удалось.
28 1599600
>>599586
Сейчас ,s в 2к19 использовать стандарт 20 года
29 1599604
>>599586
Интересно, спасибо. Оффициально C++20 еще не вышел?
30 1599605
>>599600
Ват.
Энивей фичи часто появляются в компиляторах до официального принятия стандарта.
31 1599606
>>599604
В 20 году выйдет
32 1599624
С новым, C++20-ым годом.
33 1599626
>>599605
Так-то да. В нашем проекте перешли на цпп20 ещё в ноябре. И никого кроме статического анализатора даже насмерть не уебало.
34 1599646
>>598557
Если ты имеешь в виду карту высот в качестве текстуры в игре, по которой генерируется геометрия/ландшафт. То в основном используют однуканальную 16-битовую текстуру. То есть она черно-белая с 65536 отенками, потому что 216
35 1599652
>>598511 (OP)
Аноны, а правда, что после 45 я не смогу в программирование как мог в 20-30? Якобы мой мозг начнёт тупеть и т. д. и тп

А как же куча дедов из cs, хотя бы тот, что в оп посте?
36 1599664
Аноны, помогите найти утечку
https://ideone.com/0QuA5N
37 1599671
>>599652
Если всю жизнь много думать и напрягать мозг, поддерживая его в тонусе, как те деды, то вероятность развития деменции намного меньше. А смирившись с рутиной и не развиваясь, и в 30 стать маразматиком недалеко.
38 1599675
>>599600
Ренжи же валяются на гитхабе чертову кучу лет, и даже отдельный вариант для мсвц.
39 1599678
>>599664
Строки 37-39, выделяется память для tmp, но не освобождается.
40 1599687
>>599678
Точно, анончик. Благодарю

А вообще какие замечания по говнокоду будут?
41 1599691
>>599687
Хз, я не крестовик и не знаю, что здесь считается хорошим тоном.
42 1599693
>>599691
А на чем работаешь?
43 1599704
>>599693
На жабе.
44 1599710
>>599704
Надо в нее вкатываться, буду таким же крутым как ты.
45 1599712
>>599710
Я не пример для подражания, лучше будь как нвидия-кун.
46 1599713
>>599687
std::string_view
47 1599714
>>599712

>будь как нвидия-кун


Вниманиеблядствовать и неймфажить?
48 1599721
>>599714
отвечать на кучу вопросов в треде и просвящать народ в метапрограммировании?
49 1599729
Visual Studio 2019 лучша IDE для C++! Кто так не считает, какие ваши аргументы?
50 1599749
>>599729
Как мне её в линупсе запустить?
51 1599752
>>599729
Лучше vim + gcc.
52 1599753
Нвидия-кун, нвидия-кун! Как эту штуковину расширить на неопределенное количество std::tuple?
>>1598426 →
53 1599756
>>599606
Уже 20 год, календарь проверь.
54 1599757
>>599573
Сделай функцию обертку. В чем проблема?
55 1599762
>>599752
Сын свиньи!
56 1599763
>>599753
tuple_cat же все умеет. Посмотри как там реализовано.
57 1599766
>>599752
vim это детектор того, что ты профнепригодный дебил для командной разработки
sage 58 1599769
>>599729

>2020


>2019

59 1599776
>>599763
Return type получается std::tuple<std::tuple<...>, ...>
60 1599797
>>599712
А кто это?
61 1599806
>>599763
>>599776
В общем-то удалось кастрировать std:: tuple_cat
[code]
template <class Tuple, class...>
struct tuple_concat_helper
{
using type = Tuple
};
template <class... T1, class... T2, class ... Rest>
struct tuple_concat_helper<std::tuple<T1...>, std::tuple<T2...>, Rest...> :
tuple_concat_helper<std::tuple<T1..., T2...>, Rest...>
{};
template <class... Tuples>
using tuple_concat_t = typename tuple_concat_helper<Tuples...>::type;
[/code]
62 1599809
>>599797
Сеньор-помидор из нвидии, сидящий здесь. Полистай прошлые треды, найдёшь. Да и здесь скоро объявится, если не уже.
63 1599849
Анон, нахуя мне, в 2к20, делить понятия float и double? А где triple, где пониженная точность? Почему не изобретут уже какое-то общий тип и политику точности? Это же совершено не абстрактно.
Мне нравится size_t, заебись, придумано сразу для дела, чтобы блядь не придумывать unsigned int, или может unsigned long long будет массивчик твой.
Короче сейчас я везде пишу typename T в любой функции/классе, а константы собственно пишу как T(2), или T(M_PI). Не нравится правда то, что шаблонная магия подгружает очень визуальную студию, и работает она хуево.

Алсо, видел конструкции типа auto res = foo.typename func<Type1>(); Нахуя такое страшное явное указание типа, есть от него польза?
64 1599865
>>599849
Всё просто. Всегда используй double.
65 1599880
>>599849

>Анон, нахуя мне, в 2к20, делить понятия float и double?


Видюхи считают float в несколько раз медленнее. Музыкальной софт считает во флоат, потому что точности не нужны, экономия по памяти в два раза. Вообще #define double float это простой способ проверить алгоритм на численную устойчивость

>А где triple, где пониженная точность?


На современных видюхах есть float16. Triple нету, а вот класс четверной точности ты можешь найти или написать сам, вооружившись Кнутом

>Почему не изобретут уже какое-то общий тип и политику точности


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

>Короче сейчас я везде пишу typename T в любой функции/классе


И это оверинжиниринг. Покури травы, попустись, и пиши нормальный код
66 1599883
>>599880

>Видюхи считают float в несколько раз медленнее.


Наоборот они float быстрее чем double считают.
67 1599889
>>599883
Написал неправильно, спать пора уже
68 1599897
>>599865
Че за бред? Разве что в лабах.

>>599880
Флоат быстрее и меньше памяти занимает.
69 1599904
>>599849
Тебе понравятся типы
int8_t
int16_t
int32_t
int64_t
uint8_t
uint16_t
uint32_t
uint64_t
70 1599941
>>599849
Легаси, они же в железе есть. Все эти IEEE стандарты.
71 1599975
>>599849
Представь себе что у тебя есть матрица 10000х10000 и тебе с ней нужно что-нибудь сделать. Ну там определитель посчитать.

Если использовать float, то это будет сильно быстрее и потребует вдвое меньше памяти. А точности может и хватить.
72 1600037
>>599865
>>599880
>>599904
>>599941
>>599975
Я прекрасно знаю типы и ассемблер. Я говорю про то, что с++ не си, в нем много абстракций, не супер приветствуются касты разных типов (даже про это Страуструп глворил). А ворох целых типов напрямую отсылает нас к архитектуре проца. А дробные вообще пиздос конечно, какое-то распутье между точностью. Зачем мне это знать на высоком уровне, когда тебе похуй, на старом ГПУ будет просчет, или на цп?

Типы с разрядностью никуда не уйдут, они как минимум связывают нас с максимальной разрядностью числа (хотя это повлияет только в инверсии и сложении с переполнением, битовым операциям похуй на длину), а вот наличие short, long, double в современном языке мне не понятно вообще, это сишный архаизм.
73 1600038
>>600037

>Зачем мне это знать на высоком уровне


Затем, что если писать код с учетом особенностей железа, то он будет выполняться быстрее. А ты со своим "высокоуровневым языком" отправишься круды сосать.
74 1600044
>>600037
Молодой чемодан, вы мимо жс треда промахнулись.
75 1600046
>>600038
>>600044
А вы мимо си и асмы, деды. Чеж вы блядь тогда сами память не аллоцируете, если так хочется с байтами поебаться?

Короче, я ожидаю в крестах типы, близкие к алгебре, а не к архитектуре проца. Чтобы был например целый тип, дробный, булев, иррациональный там и проч., и оперировать на этом уровне. И у этих типов, при необходимости, задавать всякие политики по точности, разрядности и всякое такое.
Мне кажется, что язык именно туда и развивается, сейчас в современном коде все меньше встретишь явно указанных скалярных типов в пользу шаблонов и всяких авто.
76 1600048
>>600046
Так ебашь в матлабе/вольфраме/итд
77 1600050
>>600037

>Зачем мне это знать на высоком уровне, когда тебе похуй, на старом ГПУ будет просчет, или на цп?


Нет не похуй, байтоебство один из плюсов C++. Ты походу не тот язык выбрал.
78 1600056
79 1600059
>>600046

> я ожидаю крестах типы, приближенные к алгебре


Тогда тебе нужны не кресты, а фортран. Или питонячий sagemath.
80 1600066
>>600046
Плюсы предоставляют выбор - ебаться или нет, а ты на этот выбор жалуешься. Левак чтоли?
81 1600079
>>600066
Где выбор "не ебаться с размером целого положительного числа"?
82 1600092
Хочу попробовать линукс. VS Code так же удобен, как студия? Есть какие-то у него подводные? Или может на линуксе лучше использовать какую-то другую IDE?
S00213-103902.jpg98 Кб, 720x1440
83 1600101
Сап программач, есть одна проблема, бьюсь над ней вторые сутки

cpp.sh/6zlgm

Это функция расшифровки текста (RSA), при имеющихся данных, на выходе должно получаться 111111. Пишу по примеру на пике
ЧЯДНТ??
84 1600112
>>600079
Unsigned int, а сколько там бит решает компилятор.
85 1600115
>>600092

> Visual Studio


> C++


> удобство

86 1600119
>>600115
Меня все устраивает, но я ничего кроме ВС и не пробовал на самом деле. Только DevC++ лет эдак дохуя назад трогал, когда вообще только узнал про программирование.
87 1600121
>>600101
long long вмещает ~20 десятичных цифр.

pow (4051753, 61)
= 11 647 177 754 002 222 607 592 206 347 827 694 020 583 955 739 413 592 628 453 274 536 545 962 544 437 086 473 675 703 004 405 621 170 904 519 721 648 296 205 067 379 162 333 154 029 165 878 621 624 636 465 230 741 055 278 330 205 268 522 465 475 225 031 948 679 262 727 651 894 346 645 090 382 814 771 613 262 404 834 259 091 710 231 996 015 580 572 990 920 081 302 429 892 218 002 991 056 042 524 888 839 188 599 134 324 190 673 145 411 791 017 147 744 840 122 837 675 865 704 173 639 758 437 311 534 559 191 821 910 270 748 802 681 353

А ты хочешь возвести не в 61, а в 6111579 ...
88 1600127
>>600121
За что ты его так прикладываешь, лол?

>>600101
Там даже в тексте ниже написано, что основную проблему вызывает вычисление степени с модулем и потому дальше идёт ссылка на статью:
https://ru.wikipedia.org/wiki/Алгоритмы_быстрого_возведения_в_степень
Мог бы и перечитать на вторые сутки. И дальше ещё идёт ссылка на "Китайскую теорема об остатках".
90 1600132
>>600127
Я же не прикладывал, а только подсказал, думал он сам догадается что следующий шаг - совместить возведение с остатком.
91 1600135
>>600101
Тут вообще всё просто
int x = 4051753
int y = 6111579
int n = 9173503
int res = 111111;
cout << x << '^' << y << "mod(" << n << ") = " << res;
92 1600136
>>600135
Я так тесты пишу.
93 1600137
>>600132
Я уже совмещал, на выходе всё равно хуйня получалась
>>600128
Спасибо, изучу
>>600127
Да, стоило бы и перечитать, просто был занят расширенным алгоритмом Евклида для поиска секретного ключа, спасибо
94 1600244
>>600092
VS Code против VS 2019, это как петушок против дракона. А вообще смотря что пишешь. Вот тут туториал есть, как настроить конфиг в VS Code для C++ https://code.visualstudio.com/docs/languages/cpp
95 1600259
>>600115
А вы на чем пишете, господин?
96 1600276
97 1600407
>>600115
Все так, да.
15750466977260.png596 Кб, 900x506
98 1600416
Вчера был на своем первом собесе на джуна(которого я не ожидал, думал это будет просто пред собес с хр по скайпу, а там в конфе был тимлид), разволновался и наговорил хуйни, даже названия некоторых операторов забыл, ещё сказал, что std::map это хеш таблица, вообщем завалил 100% этот собес, мне даже отписывать не стали, что не берут. Надеюсь хоть в черный список хр-ов за тупость не кинут.
99 1600441
>>600416
Добро пожаловать в волшебный мир поиска работы.
Надеюсь, что ты запомнил все вопросы, и выдрочил каждый из них так, чтобы отлетало от зубов.

На третью-четвертую попытку все получится.
100 1600485
>>598511 (OP)
Кем лучше работать, программистом или шлюхой на трассе?
101 1600506
Сап, двощ, студент 3-го курса.
Летом будет практика, нужно искать место.
Начал мониторить вакансии джунов, отсылать резюме, но меня везде динамят, иногда даже не отвечая.
Только одна компания выслала тестовое задание, от которого я ахуел.
Это было совсем не то, чего я ожидал,после рассказов про написание стека на собеседовании и т. д.
Кое как сделал, скинул.
Через два дня приходил ответ, что я не реализовал корректный ввод данных просто запутался в одном месте, думал, что данные даны сразу и их вводить не нужно и то, что у меня слабый исходный код.
Как вообще можно стать джуном студенту?
Где искать места, если почти все сразу шлют отказ даже без ТЗ или собеседования?
102 1600514
>>600506

> у меня слабый исходный код


Омг да тебя просто разводят на цифру в зарплате
103 1600517
>>600514
Так меня нахуй послали и не взяли, лол
104 1600519
>>600517
А ты с какого города?
105 1600520
>>600519
С Бульбостана, искал/ищу место в Минске
106 1600536
>>600506
а что за тестовое?
107 1600538
>>600520
Я почему-то так и подумал, лол. А что за контора тебя так опрокинула?
108 1600551
>>600538
>>600536
Блин, не особо хочется такую инфу говорить,уж извините.
Тестовое задание - есть тарифы стоимостей, есть список действий, нужно минимизировать стоимость.
Решилне до конца, небольшие ошибки были, но это из-за того, что не разобрался с предметной областью задачи, а спрашивать у HR по эмейлу не хотелось с помощью динамического программирования, но получил бан за то, что не предусмотрел ввод тарифов с файла (а у тарифа (sic!) словесное описание блжад).
109 1600555
>>600037

> Я прекрасно знаю типы и ассемблер


Ну так ты современные наборы инструкций видел вообще? Зачем тогда тупые вопросы задаешь? Дабл и флоат это разные типы использующие разные наборы инструкций и регистры, а ты их объединить собрался.
110 1600572
>>600551

> Тестовое задание - есть тарифы стоимостей, есть список действий, нужно минимизировать стоимость.


Звучит не сложно.

> Блин, не особо хочется такую инфу говорить,уж извините.


Тебя ведь не взяли по какой-то надуманной причине, поделись хоть названием конторы, чтобы Минский анон я не тратил своё время в будущем
111 1600577
>>600441
Ну я пока не особо расстраиваюсь, раз уж меня позвали на техсобес, то мое тестовое не слишком говном оказалось.
112 1600585
>>600572
Тарифы могут быть вообще не похожими друг на друга
А-ля "100р за сигну" на уровне "300к/ннск за вдох", не понимаю, про какой ввод тарифов может идти речь
113 1600588
>>600572
Его не взяли потому что он не понял задание и написал плохой код, что ты тут фантазируешь.
114 1600591
>>600046
Такое в бложеке хорошо писать, а ирл это не работает и никогда не будет работать.
115 1600597
>>600588
Задание было понятно, предметная область не до конца понял
Само решение работает
Хотя спорить не буду, видимо, не справился с написанием кода
116 1600600
>>600597
У тебя все впереди.
117 1600607
>>600046
Возможно контракты помогут.
Т.е. будешь писать что то вроде
myInt x; [[expects: x>= INT_MIN && x <= INT_MAX]]
118 1600609
ПАЦАНЫ, Я КОРОЧЕ ШЕЛ СЕГОДНЯ ПО ОФИСУ И УВИДЕЛ ПРОГЕРА В МАЙКЕ "С# IS THE FUTURE", НУ Я ПОДСКОЧИЛ К ЕГО КОМПУ И РЕЗКО НАПИСАЛ "std::cout << std::endl;" И ПОЯСНИЛ ЭТО ОДНОСТРОЧНЫМ КОММЕНТОМ, ПОТОМУ ЧТО Я УГОРЕЛ ПО ПЛЮСАМ, ПАЦАНЫ ДУХ ООП ЖИВЕТ ТОЛЬКО В МНОЖЕСТВЕННОМ НАСЛЕДОВАНИИ, ГДЕ В ПЕРЕГРУЗКЕ ОПЕРАТОРОВ НА ОДИН ПАРАМЕТР МЕНЬШЕ, ГДЕ ЕБАШАТСЯ ПО СТАТИЧЕСКИМ МАССИВАМ, ГДЕ ПАЦАНЫ ЖИВУТ УКАЗАТЕЛЯМИ, ЧИСЛЕННЫМИ ЗНАЧЕНИЯМИ В УСЛОВИЯХ И ЕБУТ СБОРЩИКИ МУСОРА В РОТ! ТОЛЬКО С++, ТОЛЬКО ХАРДКОР!!! СТРАУСТРУП ХАРДКОР С++!!! пацаны ебашьте дельфикодеров, шарперов, пехапешников, жаверов, угорайте на компиляции в машинный код, любите Страуструпа, плюсокодеров и IDE! ГОВОРИТЕ ОТКРЫТО И СМЕЛО ПРЯМО В ЛИЦО! С++!
119 1600627
>>600506
Я тоже недавно искал место для практики, наткнулся на контору которая якобы набирает на стажировку. Отписал им, скинули тестовое, решил в тот же день, отправил, сказали что отправили на проверку и тупо неделя игнора. Потом я им повторно отписал мол, ну как там мое задание? Мне ответили, что чето ваш файл в письме не открывается))0. Закинул на файлообменник, отправил, сказали что через 3 дня ответят. В итоге через 2 недели написали, что не подхожу(без объяснений почему). Хотя я там все по красоте сделал, с auto, лямбдами, юзая только std.
120 1600631
>>600416
Я на своём первом собесе от волнения сломал ручку. Не мою. Не взяли.
121 1600639
>>600627
Лол, какие тогда требования к джуну в 2020 году на C++?
Я не понимаю, даже брат с Польши, овердохуя успешный программист, сказал, что они ебанулись такое студентам давать
Как, кстати, закончились поиски?
122 1600646
>>600639

>Как, кстати, закончились поиски?


Никак, в итоге пошел проходить практику куда вуз направил(веб макакой).
123 1600655
>>600646
Бля, пиздец
У тебя ещё хоть вуз, видимо, не такой плохой как мой
Если сам не найду, то прямая дорога на завод
124 1600665
>>600627
>>600506
Вот кстати то тестовое с моим решением если кому интересно https://ideone.com/dPlnQC. В ideone С++17 нет, поэтому не компилит
125 1600682
>>598511 (OP)
Анонасы выручайте, есть класс комплексное число. Как сделать гетер на весь класс? Т.е.
getComplex(float re, float im)
{
return ???
}
126 1600683
>>600665
Да уж.
Смотрю на твой вывод массива, на сплит строки и на чтение файла построчно и охуеваю. Потому тебя и не взяли, лол.
127 1600689
>>600682
return *this;
Возвращаемый тип, соответственно - сам класс.
128 1600692
>>600607 спасибо. Пробежался по фичам с++20 - мне нравится, куда развивается язык, найс, идут разговоры об обобщенных типах. В c++20 поднялся вопрос о том, нахуй unsigned int в доп коде, на "радость" дедам-байтоебам. Почему бы не в обратном число хранить, ммм?
129 1600697
>>600689
Нало еще над типом подумать. Возвращать константную ссылку?
130 1600703
>>600692
Что означает "доп код" и "в обратном"?
131 1600707
>>600683

>Вывод массива


Ну давай, расскажи как его надо было правильно выводить

>Чтение файла построчно


Это не олимпиадная задача и пара миллисекунд тут некритичны. Я предпочел простоту и краткость кода перед производительностью.
132 1600711
>>600689
Выдает что можно использовать только в нестатической функции-члена.
Вообще в .h выглядит так getComplex(float &re, float &im);
взято из примера препода, по этому лучше так и делать
А как реализовать в .cpp?
Если можно загрузи на pastebin решение.
133 1600712
>>600683
Мне достаточно было пробежаться глазами, чтобы понять, что это не жулик, а ты его просто на минималку разводишь.
134 1600715
>>600697
Тип в примере препода не указан у этого метода, просто getComplex(float &re, float &im);
Вот это тоже не понял почему так, толи опечатка и там какой нить float должен стоять, либо еще что то. При том студия выдает ошибку, что без типа.
135 1600724
>>600715

>getComplex(float &re, float &im);


>float &


У "&" в с++ какое-то другое значение? Что вообще обозначает конструкция "float &"?
мимо из с
136 1600726
>>600724
Ссылка.
137 1600728
>>600692

>unsigned int в доп коде,


wut
138 1600729
>>600724
Указатель, только пишется через & и называется ссылкой.
139 1600731
>>600726
>>600729
Ага, спасибо. Где мне в двух абзацах прочитать про это?
140 1600736
>>600731
https://metanit.com/cpp/tutorial/2.14.php
Сейчас меня пошлют нахуй
141 1600741
>>600736
Ещё её можно передать в функцию. Работает как указатель, но разыменовывать не нужно.
142 1600743
>>600736
Пошел на хуй.
143 1600745
>>600736
>>600741
Понял, спасибо. Назвали бы лучше alias его.
144 1600747
>>600741
Ещё нельзя возвращать ссылку на объект, чей срок жизни ограничен функцией. Объекту пиздарики, а ссылка останется.
И ещё есть типа исключение, когда ссылка инициализируется временным объектом (результатом функции). Тогда срок жизни временного объекта продлевается до срока жизни ссылки.
145 1600749
>>600747
Константная ссылка инициализруется временным обьектом. Важное уточнение
146 1600751
>>600745
Этот термин из других языков пришёл. Но ссылки в плюсах отличаются от ссылок в других языках тем, что после инициализации заставить ссылку указывать на другой объект нельзя. Как константный указатель.
147 1600754
>>600749
Точно, забыл.

>>600751
Вроде причиной введения стало то, что при перегрузке операторов неудобно было бы передавать адреса переменных, каждый раз явно писать типа &a = &b + &c.
148 1600755
А ещё есть &&lvalue-ссылки. В общем, с ссылками в плюсах всё очень сложно, как, впрочем, и со всем остальным.
149 1600757
>>600755

>всё очень сложно


нет, просто надо разобраться
150 1600760
>>600707

> Ну давай, расскажи как его надо было правильно выводить


std::istream_iterator + std::copy

> Это не олимпиадная задача и пара миллисекунд тут некритичны. Я предпочел простоту и краткость кода перед производительностью.


Это не краткий код. Краткий код - std::ifstream::read.
У тебя цикл с постоянными реаллокациями строки, хотя ты мог считать сразу весь файл одним обращением к диску в строку, так как размер через std:: filesystem::file_size тебе заранее известен.

Да и сплит строки можно было бы сделать проще через std::stringstream + способ из первого пункта.
151 1600762
>>600755

>(there are no references to references)


Хех, ну хоть что-то.
152 1600765
>>600755
Может быть, rvalue?
153 1600769
>>600712
Действительно. Парень знает про 17 стандарт откуда-то, а пишет код уровня laba03.cpp. Может, лучше ему сразу указать на ошибку, а не "сыночка, ты у меня самый красивый и умный, не слушай их"?

Я сам писал такой же хуевый код, когда делал диплом, потому что никаких книжек не читал и не интересовался.
154 1600780
>>600682
Анонасы выручайте же
155 1600782
>>600765
Да, я проебался.
156 1600784
>>600780
Возвращай true.
157 1600785
>>600682
std::pair<float, float> ?
158 1600793
>>600785
Думаю что это не одобрит.
159 1600805
>>600793
я просто не вкупаю, что и зачем.

Если брать за референс std::complex - там 2 геттера на каждое поле.
Если тебе надо копировать - сделай оператор\конструктор.

Если ты ебанутый, сделай
Complex getComplex() { return ЗВЕЗДОЧКА this; }
160 1600812
>>600697
>>600711
Я не пойму, чего ты хочешь сделать, и зачем вообще такой странный метод.
const Complex &getComplex(float re, float im)
{
return *this;
}
161 1600820
>>600805
>>600812
https://pastebin.com/06vZWkC9
Вот анонасики. 2 геттера на отдельно вещественную и мнимую сделал, но надо сделать геттер на весь класс.
162 1600824
>>600820
что такое геттер на весь класс? Что он возвращать должен?
163 1600833
>>600824
Я даже не представляю, проебланил в свое время, теперь пытаюсь нагнать, в примере у нее так написано.
getComplex(float &re, float &im);
Думаю это гетер на весь complex.
164 1600840
>>600824
Я очень сильно сомневаюсь в этом, но могу предположить, что от анона хотят фабричный метод.
image.png75 Кб, 1120x576
165 1600846
>>600760

>Да и сплит строки можно было бы сделать проще через std::stringstream + способ из первого пункта.


Не понял чем тебе не понравился сплит. Он работает в 1 проход по строке без каких либо аллокаций. Как его еще можно улучшить?

>std::istream_iterator + std::copy


Эта хуйня генерирует точно такой же код если что. Так что тут уже ты обосрался со своим лишним переусложнением кода. Верхняя часть скрина это std::copy(A.begin(), A.end(), std::ostream_iterator<int>(std::cout, " ")); нижняя через цикл. Как видно и то и то генерирует по 2 вызова вывода.
166 1600852
>>600840
Да рукописный, не из библиотеки std или еще откуда. Задача реализовать класс комплексное число. Скинул же в pastebin что да как.
167 1600857
>>600840
я думаю, что челик сам не понимает, что он делает. Ему написали и геттер уже, и хуеттер.
168 1600864
>>600846
30 строк с какими-то условиями вместо одного оператора >> в цикле, действительно.

Мы говорим о переусложнении кода, генерируемого компилятором или кода, написанного программистом?
Ебашь тогда ассемблерный код, хули.
169 1600868
>>600864
Цикл поймет любой чел который даже не знает С++, а эту залупу с istream_iterator нет. Я лично до твоего поста про него не знал и пришлось гуглить что и как он делает .
170 1600877
>>600665
Ахуеть. Какой пиздец. И это на джуна надо знать? Какие то кривые Безье, сортировки. Нахуя блять!?
171 1600879
>>600868
То есть плюсовики должны подстаиваться под тех, кто плюсы не знает?
172 1600881
>>600877
Это не на джуна, а на неоплачиваему стажировку на неполный рабочий день))0
173 1600886
>>600868
Блядь, ну ты и речи задвигаешь.
Зачем тогда ты 17 стандарт используешь, пиши на C++99, а то не все поймут, придется читать документацию к языку, охуеть.
174 1600889
>>600703
>>600728
Он, наверное, про signed.
Обычно отрицательные числа хранятся как -X = 2N-X (-1 = 1111 1111b). Но есть и другие способы, например со знаком. (-1 = 1000 0001b, где первая 1 означает минус), дает некоторые плюшки, такие как -X = X^10000000b
175 1600891
>>600877
А что надо знать джуну?
176 1600895
>>600846

>Без аллокаций


operator+= для std::string в коде - и без реаллокаций.
А ты хорош мы вам перезвоним.
177 1600897
>>600833
Именно поэтому в примере и не написано какого типа, поскольку это и было твоим заданием.
Тебе же написали геттер на весь класс
>>600812
178 1600900
>>600891
Без понятия. Это надо у нвидия-куна спрашивать.
179 1600907
>>600895
Где ты там видишь += для строк? Там есть 2 выделения памяти под вектор для строк и собственно самой подстроки.
180 1600908
>>600897
>>600812
В таком случае, спасибо Вам анонасы и всем кто помогал!
181 1600913
>>600879
Заядлый плюсовик посмотрит на твою залупу и перепишет так как деды писали 10 лет назад.
182 1600914
>>600907
Да, проебался, += в другом задании, но можно было бы избежать, заменив getline на read.

А в сплите реаллокации есть, смотри второй пикрил.
183 1600915
>>600908
Не за что. Конкретизируй задание, помощи будет больше.
184 1600922
>>600914
Можно тогда лист заюзать и не будет реаллокаций. А про чтение файла, да можно хуево и не оптимизированно (зато просто и понятно), но нахуя потеть над этим в тестовом задании?
185 1600926
>>600922
Сука, какой потеть, блядь
Узнать размер файла, резервнуть строку нужного размера, считать ее одним read, блядь, ты о чем?
186 1600931
>>600915
Еще тогда вопросик. В .h у нас описание методов, в .cpp реализация. А что в данном случае делать? Т.е. вот берем из примера сеттер Re.
В .h:
float setRe(float re);
в .cpp реализуем это метод:
void Complex::setRe(float re)
{
Re = re;
}
А как тут разделить? Или если не делиться, то куда его запихнуть? Ну и последнее, зачем const?
187 1600934
>>600931

>как тут


Имеется виду решение этого анона >>600812
188 1600936
>>600931

> А как тут разделить?


У тебя и так всё разделено же.

> зачем const


Не нужен, я забыл его снести, когда сначала написал одну версию кода, а затем передумал и переписал.
image.png15 Кб, 691x174
189 1600945
>>600926
Ну хуй знает, что проще, в 3 строки через getline или идти гуглить как же мне получить размер файла когда у fstream ПОЧЕМУТО такого метода нет. В итоге видишь, что для этого надо заюзать tellg, пиздец это что такое? Сказать букву г или что?
Никогда не понимал этих уебков из стандарта, почему я должен вот такую хуйню писать вместо того чтобы просто написать file.ReadAsString() как в любом другом языке? Так же и со сплитом, где сука метод Split в классе string? Почему я должен сам его реализовывать когда в других языках это из коробки?
190 1600948
>>600936

>У тебя и так всё разделено же.


Если ты имеешь ввиду, что в .h:

getComplex(float& re, float& im);

А в .cpp:

Complex &getComplex(float re, float im)
{
return *this;
}

То не работает это, куча ошибок.
191 1600949
>>600948
Так у тебя прототип отличается от реализации. Ты рекламируешь квадратные окна, а продаёшь круглые.
192 1600950
>>600926
Мы вам перезвоним. read может вернуть не всю строку, а выставить бит фейла, так что тебе придется крутить цикл или молиться что файл не изменили в промежутке как ты узнавал его размер, а кстати чем? filesystem у нас только c++17, ты уверен что его разрешат тащить?
193 1600952
>>600949
Так а как должно то быть анонче? Не могу понять. И желательно конечно чтобы в .h описание так и осталось. но не обязательно
194 1600953
>>600931
Все очень просто.
В .h return_type func_name(parameters)
В .cpp return_type ClassName::func_name(parameters)
Ты даже в этом посте void с float напутал.
const гарантирует что геттер не поменяет ничего при вызове.
195 1600954
>>600952
Прототип в .h должен показывать, как использовать функцию, даже если ты не знаешь, что там внутри .cpp. Показывать, какие аргументы ей подавать, и что она выдаст в ответ.
196 1600959
>>600926

>резервнуть строку нужного размера,


В тз размер строки неограничен, программа должна работать с терабайтными инпутами, на этом и ты и он проебались.
мимо
197 1600972
>>600953

>В .h return_type func_name(parameters)


Т.е. это опечатка, что в примере у меня просто getComplex(), без типа?
>>600954
Так я и не понимаю, что должен вернуть это геттер. т.е. если делать самому
Раз вы понимаете, м.б. просто напишите
.h:

код


.cpp:

код


Потому что как тут сделать

>В .h return_type func_name(parameters)


В .cpp return_type ClassName::func_name(parameters)
т.е. даже как тип возращаемых значения, а уж тем более реализацию в .cpp не понимаю/не осилю.

В том же файле например в .cpp:
void Complex:: setComplex(float re, float im)
{
///реализация
}

Т.е. в .h д.б:
void getComplex(float re, float im)
Но тогда как сделать реализацию? Выручайте анонасы, для вам раз плюнуть, а меня спасете.
197 1600972
>>600953

>В .h return_type func_name(parameters)


Т.е. это опечатка, что в примере у меня просто getComplex(), без типа?
>>600954
Так я и не понимаю, что должен вернуть это геттер. т.е. если делать самому
Раз вы понимаете, м.б. просто напишите
.h:

код


.cpp:

код


Потому что как тут сделать

>В .h return_type func_name(parameters)


В .cpp return_type ClassName::func_name(parameters)
т.е. даже как тип возращаемых значения, а уж тем более реализацию в .cpp не понимаю/не осилю.

В том же файле например в .cpp:
void Complex:: setComplex(float re, float im)
{
///реализация
}

Т.е. в .h д.б:
void getComplex(float re, float im)
Но тогда как сделать реализацию? Выручайте анонасы, для вам раз плюнуть, а меня спасете.
198 1600973
>>600972

>даже как тип возращаемых значения


Какой тип*

>в том же файле


Файле преподавателя
199 1600977
>>600972

>В том же файле например в .cpp:


>void Complex:: setComplex(float re, float im)


Не понятно почему в том же файле в .h:
void getComplex(float &re, float &im)
re и im уже по ссылкам, они же должны совпадать вроде.
200 1601001
>>600506
>>600506

>Как вообще можно стать джуном студенту?


Вкатился пол года назад на джуна по плюсам. тоже 3 курса. Развивай гидхаб, делай проекты. Я например, делал проекты по конкретным тематикам: патерны ООП, OpenGL, QT, DX, базовые нейронки, свои велосипеды дефолтных конструкций языка по типу своей стрингии т.д. Проектами закрепляешь теорию и создаешь себе витрину, главное не в тупую переписывать проекты из интернета, а быть способным пояснить за каждую свою строчку в коде. Думаю, когда на собесе показывал свои проекты с гидхаба, много вопросов сразу отпало.

Вопросы и тестовые могут быть от хэллоу ворда до хай лвл инженерии, тут никогда не угадать. на первом собесе был дроч с указателями ссылками и массивам указателей на char, расписывал форвард лист на листочке, деревья, решение задачи с использованием комбинаций из контейнеров STL'a, устройство вектора, справился ~80%, через час так уже заеблся что сам начал запутываться в банальных вещах не перезвонили офк.

Пару раз решал тестовое. Одно из самых ебанутых было задание написать API для построения в 3х-мерном пространстве различных 3D фигур и кривых, пришлось полистать пару дней учебник по начертательной геометрии. После того как я отправил, пару недель вообще никто не отвечал, не помню уже, но вроде сам фидбек просил, ответ был дефолтный по типу "Качества кода ниже ожидаемого, реализация не удовлетворяет требованием в задании", по факту - пиздеж полнейший, каждый пункт был выполнен, даже не обязательные, фигуры били геометрически правильные, я все проверял перед отправкой. Разве что я не стал замарачиваться с графической визуализации 3д, так как в задании не было указано, и у одной из кривых не смог посчитать производную вдоль кривой, но глобально это хуйня.

Ну и самый ебанутый вопрос, точно не помню, на интервью вроде было еще замороченей написано, что то типу: какой будет аутпут arr:
char arr[] = {'1','2','3','4','5','6','7','8','9'};
int ptr = (int )arr+1;
ptr[0]='0';
201 1601008
>>601001
fix
int(указатель) ptr = (int (указатель))arr+1;
202 1601011
>>601008

На, пользуйся.
203 1601013
>>601011
✭✭✭✭✭
204 1601019
>>601013
Так какой ответ-то будет? {'1','2','3','4','0','0','0','0','9'};?
205 1601023
>>601008
1 2 3 4 0 ? Типо дальше 3 терминальных нуля и 9.
206 1601025
>>601023
Это же не строчка, какая разница, терминальные нули или нет?
207 1601028
>>601019
>>601023
ну да, привидения к указателю на инт и смещение на +1, сместит на 4 байта, и соответственно изменит 4 байта информации, ну или как то так.
208 1601030
>>601001
>>600506 - кун
Развиваю гитхаб как-могу.
Даже есть пару интересный проектов (автоматический бекапер с пересылкой файлов на сервер на Qt, TCP, многопоточность, etc и облачный проигрыватель под ведроид), ну и просто решение интересных задач.
С тех пор, как начал откликаться на вакансии, один раз какой-то репозиторий посмотрели и все, лол
Чаще всего просто получаю отказы без объяснений, ну или просто отклики висят, а на них не отвечают
209 1601032
>>601025
'0' и '\0' отличаются по коду символа. Если потом этот массив в printf закинуть то выведет до терминального ноля 12340
210 1601033
>>601023
>>601028

>на 4 байта


А вот и нет, int же платформозависимый.
Может вернуть и '1' '2' '0' \0 '5' '6'...
211 1601038
>>601033
А если ещё и порядок битов другой... Ух бля
212 1601039
>>601028
Могли бы хоть ответ тебе сказать.

>>601032
Это понятно, но откуда у тебя тогда берётся '0' вообще? int 0 получается состоит из "\0\0\0\0"

>>601033
Мы, естественно, исходим из допущения, что инт четырёхчаровый. Это можно оговорить, но тут интересна сама стратегия.
213 1601040
>>601039
Там у него же ptr[0] = '0' а не = 0
214 1601041
>>601030

> один раз какой-то репозиторий посмотрели и все, лол


Там отклики hr'ы чекают, им твой гидхаб не сильно интересен. Светить гидхабом стоит только на очных сабесах, когда есть типы шарющие, что у тебя там вообще происходит на экране.
215 1601043
>>600977
В сеттер передают по значению. И они присваиваются полям.
А в геттер передают ссылки на переменные. Поэтому он сам может ничего не возврашать. Его можно использовать так
float r, i;
someComplex.getComplex(&r, &i)
Соответственно, ты можешь сделать
void getComplex(Complex &c) { ... }
Содержимое догадаешься как сделать?
Чтобы можно было использовать
Complex c;
someComplex..getComplex(&c)
216 1601044
>>601040
int('0') будет выглядеть как [x41 00 00 00]
217 1601045
>>601039
ну и так ответил, только не додумался что изменится больше 1 значения. Чел сказал, что этот метод широко используется для оптимизаций в коде гугла, лол конечно
218 1601047
>>601040
Действительно. А в какой момент он сделает тайпкаст? С++ вообще делает имплисид тайпкаст?

>>601044

>int('0') будет выглядеть как [x41 00 00 00]


Точно не [00 00 00 x41]?
219 1601048
>>601041
Ну, мне до собеседования, оказывается, еще далеко.
220 1601052
>>601047
Я про x86 конечно... Про расположение в памяти, в массив число пойдет раньше нулей же.
221 1601055
>>600945

>у fstream ПОЧЕМУТО такого метода нет


А почему он должен быть? Какой размер у /dev/zero?
Всю жизнь размер файла доставали fstat, но недавно завезли std::filesystem::file_size

http://insanecoding.blogspot.com/2011/11/how-to-read-in-file-in-c.html - 6 способок, включая в одну строчку
222 1601064
>>601055
Потому что во всех остальных языках высокого уровня такие методы есть. В том же c# хочешь прочитать файл как строку? Пожалуйста File.ReadAllText. Хочешь как массив байтов. Хорошо, вот тебе File.ReadAllBytes. И только в плюсах для этого надо юзать кучу функций с неинформативными названиями.
224 1601066
>>601052
Короче, очень много оговорок, вот что я скажу.
225 1601076
>>601066
Угу, а потом скажут - а вы знаете, там на самом деле UB
226 1601077
>>601065
Что мешало добавить это в качестве метода fstream, и если вызвать его на на невалидном файле(типо твоего дев/Зиро) просто кидать исключение? Почему он вообще в абсолютно другом хедере?
227 1601078
>>601064
Ага. Ты мне зубы тут не заговаривай. File и FileStream разные вещи хоть в C#, хоть в джаве, хоть в плюсах.
228 1601084
>>601077
Зачем мне исключения в прошивке без исключений, которая читает файл до нулевого байта, и не хранит нигде размер файла?
229 1601117
Что если на собеседовании поинтересовались моей анальной девственностью?
230 1601122
>>601117
Ротируйся в гейшлюхи не раздумывая.
231 1601134
Есть ли у меня шанс за ~1.5 года вкатиться в плюсы до уровня джуна, если я до этого примерно столько же был жс/питон фуллстеком?
232 1601137
>>600631

> Не взяли


А НЕХУЙ РУЧКИ ЛОМАТЬ МРАЗЬ!
233 1601149
>>600945
Тогда тебе в C#/Kotlin тред, если тебе нужны такие методы из коробки.

>>600950
Берешь и открываешь в rw режиме.
Если не дадут использовать 17 стандарт - то <dirent.h> в помощь. Или способ через tellg.

>>600959
В ТЗ такое условие скорее для того, чтобы соискатель не сделал char buf[MAX], чем для очень больших файлов.
234 1601153
>>601149
Причем тут rw режим? read просто не обязан возвращать столько символов, столько ты запросил. Нормальную обработку ошибок пилить там целый экран уйдет.
235 1601191
>>601043

>Содержимое догадаешься как сделать?


Лучше, чтобы ты помог. В любом случае всем спасибо ща помощь!
236 1601228
>>601137
Тимлид, который меня собеседовал, ты?
237 1601278
>>601065
>>600914
Если есть .csv файл (Размер не указан, может быть большим), а мне нужно его прочитать и спарсить построчно, ifstream + getfile - это адекватно или лучше как-то иначе?
238 1601282
>>598511 (OP)
Анон, свеженькая обновленная студия очень хуево парсит синтаксис некоторых файлов, где шаблонные классы и вяские вложенные типы. Периодически вылетает ошибка какого-то сервиса VS, что он завршился с ошибкой. Директорию .vs удалял.

Щто делать, может как-то более явно расписывать шаблоны?
240 1601285
>>601282
Выключить Intellisense и поставить resharper c++
или ты думаешь они просто так существуют?
241 1601288
>>601285

>resharper c++


Он же не бесплатный?
242 1601295
>>601153
Предположу, что rw для того чтобы файл никто не смог изменить пока ты его не закроешь.
243 1601327
>>601285
Спасибо, помогло
244 1601340
>>601285
Эта хуйня тоже хуево парсит, сложные макросы не раскрывает, тогда как интелисенс норм работает.
245 1601351
>>601340

>макросы


Зачем тебе в 2020 макросы?
246 1601354
>>601351
Потому что в 2020 сука году до сих пор нет никакого стандартного способа пробежаться по метаданным класса. Т.е. любая сериализация вынуждает пилить костыли из макросов.
247 1601355
>>601284
Бомбит с даунов, которые const квалификатор на конце пишут
248 1601362
>>598511 (OP)
Анончики, как вы думаете, оправданно ли C++ такой overly complicated, позволяет ли это с минимальными затратами использовать блага высоких абстракциий и ООП, или же это просто построенная на легаси говне залупа, и тот же раст проигрывает только по причине того, что бизнес на нем исторически так крепко не завязан?
249 1601369
>>601354

Блядь, у вас байтоебля, и мемкопи-сайзоф во все поля. нахуй вам ебаться с сериализацией?
250 1601370
>>601369
Ну да, если это структура с парой числовых полей то можно и так сделать, а если это сложный класс с кучей полей разных типов и динамической аллокацией?
251 1601374
>>601355
Но для константного указателя тебе нужно const вконце писать.
int * const
252 1601380
>>601374

>int * const


АХУЕТЬ НЕ ЗНАЛ
253 1601386
>>601355
Как можно заметить, правильно писать справа, потому что читается справа налево.
int const const const - конст. указатель на конст. указатель на конст. инт.
А здесь получается что все справа, а самый умный слева написал.
const int const const
254 1601400
>>601386
Чет призадумался, а получается, что реально, если все справа писать, то будет логично читаться, без исключений, то есть сначала то к чему, а потом что
255 1601491
>>601284
Чтобы не путаться с const, мне помогало делить в голове выражение на две половины -- всё до звёздочки, и всё после. "До" относится к типу, на который указываем, а "после" относится к самому указателю. Ну а дальше уже без разницы, "const int" там, или "int const", и куда звёздочка прижата -- к типу, или к переменной, всё это пофиг.
256 1601498
Ньюфаги холиварят за east/west const, классика.
1497056458181.png61 Кб, 1058x794
257 1601504
>>601284
Тут кому то может быть неочевидно, почему спираль, если все слева. Так это потому, что справа будут скобочки )))
258 1601514
>>601362
А что, rust не overly complicated что ли? Имхо это какое-то фундаментальное свойство вселенной, начиная с какого-то количества фишек все равно наступает комбинаторный взрыв сочетаний фич, хоть на лиспе пиши, хоть на плюсах.
259 1601532
>>601504
Oh yeah, I got a hard boner!
260 1601555
Нахуй постоянно писать std::cout например, если можно хуйнуть using namespace std и писать без лишней ебли с символами?
261 1601584
make_ Для смарт поинтеров уже не актуальны же?
262 1601588
>>601584
Актуальны из-за exception safety и микрооптимизации шаред поинтеров

>>601555
https://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-bad-practice
263 1601616
>>601584
make функции всегда и везде актуальны.
264 1601641
>>601504
Кому нужно это сишное говно?
using proc = function<void()>;
using procs =vector<proc>;
и все понятно.
265 1601655
Правильно я понимаю, что если вызову move для сырого указателя, то просто скопирую?
266 1601656
void VSSetConstantBuffers(
UINT StartSlot,
UINT NumBuffers,
ID3D11Buffer *const *ppConstantBuffers
);
А вот этот параметр как понять? Указатель на константный указатель на ID3D11Buffer? То есть аргумент должен быть адрес константого указателя.

ID3D11Buffer *buffer;
VSSetConstantBuffers(0, 1, &buffer);

Тогда почему оно так работает, ведь буффер у меня не конст?
267 1601663
>>601656
Типо гарантия того что buffee у тебя не изменится. Если до этого buffer = &zalupa то и после вызова он будет содержать адрес залупы.
268 1601680
>>601656

>*


А добавьте символ в следующую шапку что ли. Регулярно тут эта проблема возникает в треде с разметкой.

>А вот этот параметр как понять?


Просто перепиши мусорку через using, если сразу не понятно. Сразу станет всё понятно.
https://ideone.com/iY8iOm
269 1601710
>>601663
>>601680
Всё, понял, спасибо. Вообще-то логично, а то я что-то тупанул.
270 1601732
Есть ли у меня шанс за ~1.5 года вкатиться в плюсы до уровня джуна, если я до этого примерно столько же был жс/питон фуллстеком?
271 1601749
>>601732
Если ты хорошо освоил жс/питон, то шанс есть.
272 1601769
>>601732
Раз есть опыт на чём-то, вкатишься даже быстрее.
273 1601800
>>601584
make_ тебе сконструирует сразу умный указатель с нужным содержимым, а если делать auto sp = std::shared_pointer<int>{new int{42}}, то сначала выделится память под инт, а потом переместится в участок памяти, который выделится под умный указатель, вроде так.
274 1601857
>>600682
Геттер - это метод, возвращающий поле класса, как правило, без аргументов, например getImage() или getReal() в твоём случае.
То, что ты пытаешься сделать скорее ближе к конструктору, но он возвращать ничего не должен.
275 1601874
>>598511 (OP)
Вкатываюсь с платиной.
Что в 2020 должен знать толковый плюсовый джун?
276 1601900
>>601874
все, о чем пишет Скотт Майерс в своих книгах.
277 1601901
>>601874
Сколько раз задавал этот вопрос итт, никто не отвечает. Я уже блять начинаю думать, что шутки про джуна плюсовка это нихуя не шутки и их реально не существует.
278 1601911
>>601901
Я существую, правда безработный
279 1601913
>>601874

>Что в 2020 должен знать


Что в провинции работу хуй найдешь.
280 1601917
>>601901
Ну так здесь одни пидоры сидят, которые реально всё знают, но никогда ничего не рассказывают. Поэтому приходится выяснять всё самому.
281 1601920
>>601288

> Он же не бесплатный?


Ну а ты ведь не фантики зарабатываешь?
>>601340

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


Приведи пример. У меня пока что опыт был в точности наоборот.
282 1601921
>>601901
ну так у разных контор разные понимания о джуне.

Так то спектр знаний простой, в неопределенном порядке:
Стандартные контейнеры + итераторы. Понимание реаллокций, инвалидаций итераторов, всяких там сложностей операций, знание категорий итераторов.

Понимание лоулевел пердолинга памяти, арифметика указателей, касты между типами указателями, выравнивание, и прочее.

Классы как таковые - перегрузки операторов, конструкторы\деструкторы\хуюторы. Что такое this. Public\Private.

3 кита ООП, перекрытие виртуальных функций, зачем ваще нужно. Зачем нужна инкапсуляция. Наследование без виртуальных функций, порядок вызова конструкторов\деструкторов. Почему в конструкторе надо внимательно думать перед вызовом виртуального метода. Что такое Protected.

RAII - чтобы от зубов отлетало понимание, а не как у шизиков, которые считают его не нужным.

Эксепшены - как кидать, как ловить, кто кидает в стандартной библиотеке, почему их никто не использует, как их использовать. Нюансы кидания эксепшенов из конструкторов\деструкторов\мув конструкторов(операторов).

Как происходит компиляция и линковка, что такое #include, что такое ODR, дефинишен\декларейшен. Почему статик переменные в хедере это совсем не то, чего ожидаешь. Extern "C"

static_cast\dynamic_cast\reinterpet_cast\const_cast\сишный каст, который всё сразу.

Опционально: системное си-говно, opaque указатели(handle, FILE), всякие говномакросы, побитовая дрисня.

Опционально: Работа с файлами. fopen\fstream. Бинарные файлы против текстовых файлов.
283 1601925
>>601874

C
ООП
STL
выведение типов
деструкторы, конструкторы и прочая поебота
множественное наследование
виртуальные классы
параллелизм
метапрограммирование на шаблонах
умные ссылки, weak ptr
move семантика
perfect forwarding
rvalue, lvalue
вызываемые объекты
лямбда
284 1601926
>>601921

>Как происходит компиляция и линковка


Нахуя мне это знать?
285 1601929
>>601926

> ШЕФ ПОСМОТРИ ПОЧЕМУ У МЕНЯ UNRESOLVED REFERENCE


> В ТРУДОВУЮ СЕБЕ ПОСМОТРИ, ТАМ НЕПРОШЕДШИЙ ИСПЫТАТЕЛЬНЫЙ СРОК

286 1601932
>>601925
>>601921
Предлагаю еще накидывать - скомпилируем общим разумом и запилим в FAQ потом.
287 1601933
>>601921
То есть по фасту устроить карьеру на С++ не выдет, надо дрочить по полной и потом не факт что примут?
288 1601938
>>601933
Если тебе надо по фасту - то веб обезьяной.
289 1601939
>>601929
UNRESOLVED REFERENCE значит не находит функцию/глобальную переменную и это легко фиксится. Если это изза либы то достаточно в студии ссылку на либу добавить или pragma comment( lib, "libname.lib" ) и все работает само. Так зачем мне знать как оно там работает?
290 1601941
>>601939
а если это твой собственный код, и никакую либу не добавить?
291 1601943
>>601925
А в идеале нужно знать, что это такое и когда применять? Ну то есть я могу за 3-4 предложения объяснить каждый из пунктов, но целую лекцию не проведу
292 1601947
>>601941
Чтоб такая хуйня в своем коде вылезла это надо с extern где-то обосратся ну или глобальную переменную не inline объявить.
293 1601948
>>601932
>>601925
>>601921
Для ньюфагов (обощение того, что вам надо знать, чтобы стать программистами):
https://sharpc.livejournal.com/67583.html
294 1601950
>>601947
__dllexport/import
295 1601953
>>601913
У меня в 600к мухосрани на весь город 2 вакансии по плюсам, на которых МАКСИМУМ для архитектора/тех.руководителя 70-120к. При том что там пиздец работенка, анализ изображений, анализ видео, короче софт для камер.
296 1601954
>>601921
И это не говоря о предметной области
297 1601956
>>601925
Блять ну толстота же, ТОЛСТОТА. Это буквально весь С++.
298 1601961
>>601925
+агрегатные классы
+тривиальные функции
299 1601962
>>601921
Как по мне это все бред и формальности. Джун должен знать:
1. Английский
2. Уметь читать документацию
3. Уметь гуглить
4. Базу в виде пары книжек по С/C++
5. Базу по архитектуре ОС
300 1601963
>>601956
Это начало кроличьей норы
301 1601964
>>601962
Пригласишь на собес?
302 1601965
>>601962

>Базу по архитектуре ОС


Есть рекомендации, как подтянуть вот это вот? Навернуть Танненбаума и поковырять немного винапи в качестве практики достаточно?
303 1601967
>>601965
Есть топовая книжка
"Цифровая схемотехника и архитектура компьютера"
Харрис

От вентилей до С
304 1601968
>>601967
а после нее таненбаум
305 1601971
>>601965
Вот крепкая база под винду.
Windows via C/C++
Windows 10 System Programming
Windows Internals
Курс на степике по осям
Любой курс на ютубе по осям
306 1601972
>>601971
Под эту говноось еще что-то пишут кроме игр?
307 1601988
>>601972
проиграл от студента
308 1601991
>>601921

>Эксепшены


>почему их никто не использует


Кстати, а почему? Во всех книгах по крестам пишут, что эксепшены охуенно гибкие, мощные и удобные, не то что сишные возвращаемые коды ошибок.
309 1602002
>>601857
Вот и выросло поколение.
310 1602004
Стоит ли вкатываться в плюсы вебмакаке? Что на них интересного пишут кроме игор?
311 1602006
>>601991

Исключения это
1. Медленно
2. Сложно работать в многопоточной среде

Те каждая контора сама решает, в каком стиле писать, но обычно придерживаются подхода ошибка-как-значение.
312 1602007
>>601962

>это все бред и формальности


> Базу в виде пары книжек по С/C++


Проиграл.
313 1602008
>>601926
А как ты собираешься работать? Просто нажимать магическую кнопочку МАГИЯ? Или все таки писать всякие cmake
image.png1 Кб, 160x49
314 1602009
>>602008
Жму сюда и все работает
315 1602025
Ебать вас в рот! Во какая заваруха! lvalue и rvalue как бы понятны. А остальные-то зачем? Они часто встречаются?
316 1602048
>>602025
Остальные забудь, это чисто для формальной теории, чтобы не запутаться, тебе они не понадобятся
317 1602050
>>602007
Кстати у меня кореш 4 курс так устроился, 60к, я тож прихуел мальца
318 1602052
>>602025
Если упрощенно,
glvalue это то, что слева, чему можно присвоить, переменная.
prvalue это то, что справа, некий объект или значение.
xvalue это сорт оф временный объект.
rvalue и lvalue это устаревшая хуйня.
319 1602054
>>602050
Я к тому что в "паре книжек" по c++ будет побольше чем в посте на дваче.
320 1602057
>>602052
>>602052

>------------------


int&& a = 5
a - lvalue
5 - rvalue

>------------------


vector<govno> f();
auto g = f();

g - lvalue
f() - ??? эм... rvalue

>------------------


int&& f()
int& g()

f() - lvalue
g() - rvalue

>-------------------


Где тут (x, gl, pr)value?
321 1602058
>>602057
g() - rvalue
быстро фикс
322 1602059
>>602054
На джуна книжек 4-5 и столько же пет проектов от двух килострок
323 1602061
>>602058
g() - lvalue
блять фикс
324 1602075
>>602009
Один ты безработный :(
325 1602098
>>602052
Уф, сложнааа (((
Вроде, прочитал Страуструпа, но всё равно каждый раз, когда захожу в этот тред, узнаю много нового.
326 1602146
>>602098
Так Страуструп сам признался, что современные кресты не полностью знает.
327 1602154
>>602057
Я то откуда знаю? Мне это вообще не нужно.
1575837795644.png63 Кб, 612x289
328 1602180
Вкатываю для просвещения
329 1602187
>>601967
А где брать практику по сабжу?
330 1602269
Почему в этой программе
https://ideone.com/b7pssu
при попытке заменить
Shape::createShape(T);
на
Shape a; и a.createShape(T);
компилятор выдаёт ошибку? В обратном случае то же самое. Я так и не нашёл нормального объяснения того, какую конкретно роль выполняет ::, и что может быть эквивалентом :: в моём случает.
331 1602282
>>602269
И ещё, я никак не могу понять строку
Shape* Shape::createShape(char cd)
332 1602290
>>602269
Потому что Shape::createShape() статический метод. Он не привязан к конкретному экземпляру класса, а один общий на всех.
>>602282
Чё там непонятного? Там же написано. Это реализация паттерна проектирования "Фабричный метод"
333 1602294
>>602006
Это разве ещё актуально?
Медленно оно, наверное, только в каком-нибудь микроконтроллере, но там и new сделать лишний раз медленно.
А для многопоточки добавили возможность сохранять исключения, и перебрасывать в другой поток.
334 1602356
>>602290

>Потому что Shape::createShape() статический метод


Его все равно можно вызывать для объектов.
>>602269
У тебя абстрактный класс Shape (есть pure virtual функция), его нельзя инстанциировать.
335 1602590
>>602282
У класса Shape:: есть метод createShape. Он возвращает указатель на Shape.
336 1602638
>>601991
Очень много кода течет как говно, потому-что RAII не используют. Где не используют RAII - эксепшены противопоказаны. Это, собстно, причина почему гугл их не использует.

Эксепшены дают скрытый контрол флоу, что часто не ясно вообще. По хорошему нужны аннотации, что функция кидает\не кидает. Они есть (ноэксепт) но этим никто не пользуется кроме девелоперов СТЛ\Буста.

Ну и люди часто не понимают, что они делают в коде вместо обработки ошибок, recoverable ошибка или нет, много нюансов короче.

Я для своих новых проектов вообще везде использую эксепшены. На работе пишу без них. Вот как-то так
337 1602658
>>602638
Зачем вообще писать на C++, если не использовать RAII? С тем же успехом можно и чистом C писать.
338 1602677
>>602638
>>602658
Кстати почему под RAII нет никакого блока типо using? Из-за чего приходится делать костыль с if и перегрузкой оператора bool, при чем нужно ОБЯЗАТЕЛЬНО в этом блоке присвоить этот RAII какой-нибудь переменной иначе этот RAII сразу же уничтожается.
339 1602701
>>602658
Спроси у шизиков, которые тут с обострением прибегают иногда.

>>602677
Твой конкретный юзкейс очень хорошо ложится на использование эксепшенов, кстати.
340 1602714
>>602658

>С тем же успехом можно и чистом C писать


А вот и любители си с классами прилетели.
341 1602718
>>602677
Ты что вообще хочешь сделать?
342 1602747
>>602677
Лол, просто открывай скоуп.
{
Raii()
}
343 1602750
>>602677
ну и да, если уж на то пошло, то

if (auto v = Raii(); v) {
...
}

https://www.tutorialspoint.com/cplusplus17-if-statement-with-initializer
344 1602760
>>602750
Пиздец, даже такое есть. C++ по количеству фич походу самый богатый язык.
345 1602774
>>602718
Ну типо почему в 1 варианте компилятор сразу же вызывает деструктор, а во втором работает как надо?
346 1602801
347 1602802
>>602774
Переменная v живет до конца ифа, а в первом случае rvalue уничтожается сразу после скобок.
348 1602826
>>602760

>походу

349 1602828
>>602750
Пиздец, развели тут гошку
350 1602830
>>602760

>Пиздец, даже такое есть


С разморозкой!
Это хорошо работает с structured bulding кстати, типа:
if (auto [success, x, y] = do_something(); success)
{
/ work with x & y/
}
351 1602835
>>602828
Вы си тредом промахнулись.
umP0qke.jpg911 Кб, 2160x1440
352 1602860

>This was the largest C++ committee meeting ever - 252 people attended!

353 1602883
>>602860
Норм такой комитет, чо.
354 1602902
>>602860
Почему там так мало тяночек и чёрнокожих? Почему того чёрнокожего рядомсидящая белая сука не держит за ручку и не прижимается к нему?! Куда смотрел фотограф?!!!
355 1602903
>>602830
Какое же говнище.
356 1602920
>>602860
Лол, что это за подвал. Выглядит как будто только полчаса назад со стен пентаграммы стерли.
357 1602930
>>602860
Мне так понравился пик, что я захотел продолжить писать на плюсах.
358 1602938
>>602930
Одни токсичные старики и всего 10 тян на 242 куна.
1431350146264.jpg11 Кб, 480x360
359 1602963
>>602920
Напомнило Рим из Джона Уика 2.
360 1602980
>>602938
Ты специально сидел и считал, угнетатель?
Костница-6.jpg218 Кб, 797x1200
361 1602993
>>602920

>Выглядит как будто только полчаса назад со стен пентаграммы стерли.


Прага, сэр.
362 1603000
>>602938
Тян не могут прогать на плюсах. Слишком сложно. Я еще не видел ни одну сеньор С++ тян.
sage 363 1603004
>>603000
Ой бля, сейчас опять начнётся.
364 1603006
>>602860
11 сестер всего. Кажется, хуемрази оборзели и им требуется живительная инъекция пересмотра CoC и квот на URM.
365 1603009
>>603000
99% кунов тоже.
366 1603035
>>603000
Алёна.
367 1603037
>>603035
Я тоже её вспомнил.
мимо
368 1603038
101
369 1603042
>>603037
Root-ковская еще.
edit.png132 Кб, 300x300
370 1603146
Кто вот эти два господина?
371 1603157
>>603146
Слева Guy J Davidson (@hatcat01)
372 1603203
>>603146
Справа Евгений Петросян
373 1603315
>>602860
Найдите Страуструпа на фотке.
374 1603341
Сап, аноны. Кто лочит мьютексы на собеседованиях, почему не бывает, когда два прогера приходят на собес в одно и то же время?
image.jpg14 Кб, 430x431
375 1603346
>>603341
Потому что операция записи на собес обёрнута мьютексом?
376 1603380
Почему компилятор доёбывается со своим "invalid conversion from ‘unsigned char’ to ‘char’"? Можно ли в такой ситуации обойтись без преобразований типов, что-бы компилятор сам додумывался преобразовывать?
377 1603388
>>603380
static cast ёбни
378 1603424
>>603000
знаю как минимум 4 тни могущих в плюсы.
3 из них шарят в MIPS'овом ассемблере и разрабатывали под embedded.
4-я знает все сорта асма, использующиеся на винде, тк читает корки её ядра чаще, чем ты просто читаешь хоть что-нибудь
так то там всего два сорта, но из-за солянки в calling convention, без веществ это не прочитаешь

так что выковыряй подзалупный творожок, помойся, постригись и выйди из комнаты уже наконец. может увидишь, что твой манямир и реальный мир значительно различаются
379 1603428
>>602860
просто адекватные люди, которым есть чем заняться по жизни, на такие сборища не ходят
нахуй не надо
380 1603432
>>603424

>манямир и реальный мир значительно различаются


Дружок, посмотри на эту фотографию. Видишь ли ты тут девушку, или женщину? Нет? Посмотри внимательнее, приглядись. Да, вот так, молодец, ну что, увидел? Увидел? А теперь внимательно её рассмотри. Можешь ли ты представить себе, как какой-то мужчина плачет и набирает дрожащими пальцами телефон этой бляди, чтобы рассказать о своих чувствах к ней? Веет ли от нее молодостью, романтизмом, свежа ли она и красива?
1446611355600.png5,6 Мб, 2160x1440
381 1603433
382 1603434
>>603424

> 4-я знает все сорта асма, использующиеся на винде, тк читает корки её ядра чаще, чем ты просто читаешь хоть что-нибудь


Вот здесь ты обосрался.
383 1603438
>>603432
Зарепортил.
384 1603454
>>603424
Няшные?
image.png1 Мб, 842x1200
385 1603529
Хорошая книга, рикаминдую, не то что его старый кирпич. И новая.
386 1603557
>>603146
Шафутинский и Петросян
387 1603608
>>602714
Я так-то наоборот.
Screenshot2020-02-16.png82 Кб, 697x782
388 1603612
>>603428
Что блять? На фото комитет, который разрабатывает стандарт C++. У них по три раза в год такие встречи. Как по-твоему блять обсуждать новые фичи, проводить голосования, подводить итоги? В конфе в дискорде?
389 1603662
>>603428
для большей части этих людей - комитет это хобби и тусовка с друзьями.
390 1603728
>>603612

>В конфе в дискорде?


А почему нет?
391 1603761
Как это работает?
https://ideone.com/7sdRm3
Находит наибольшую общую подпоследовательность
lcs( "abcdef", "abc" ) => "abc"
lcs( "abcdef", "acf" ) => "acf"
lcs( "132535365", "123456789" ) => "12356"
lcs( "abcdefghijklmnopq", "apcdefghijklmnobq" ) => "acdefghijklmnoq"
392 1603863
>>603761

>vector<vector<string>>


>Как это работает


Надеюсь что никак.
393 1603872
Gv
394 1604065
>>603863
Что тебя смутило?
395 1604085
Программач, кто-нибудь работал с Qml? Как можно улучшить качество картинок, если сжимать их через Item.scale?
По дефолту они получаются пиздецового качества
396 1604124
>>603761

>typedef


>if (x.length() == 0 || y.length() == 0)


> vvs (n + 1, vs (m + 1, ""));


>return ""


>int n = x.length()


Ухх ёбана, снимай штаны, буду жопу бить
397 1604137
>>604124

> if (x.length() == 0 || y.length() == 0)


Что тут не так?
398 1604139
>>604137
string::empty()
399 1604163
>>604124
Это даже не мой код. Ты бы лучше пояснил как оно работает
400 1604165
>>604124

>vvs (n + 1, vs (m + 1, ""));


Как надо?
401 1604184
>>598511 (OP)
Я охуел, когда узнал, что через шаблоны можно наследовать класс от типа-параметра.
template <typename T>
class Derived : public T { };

Держу в курсе.
402 1604191
Привет, анон. Дело такое, я учусь не на программиста, но изучаю с++. Мне нужно сделать лабу, и код мб я бы и написал, но дело в том что я не понимаю что от меня хотят, не могли бы объяснить в чём суть?
Задание : Найти максимальный элемент в массиве ai (i=1, , n), используя соотношение (деления пополам) max(a1,, an) = max[max(a1,, an/2), max(an/2+1, , an)].
Обычная и рекурсивная функция.
Мне типо надо постоянно делить массив? Или просто разбить его на 2 части и в каждой найти мксимальное?
403 1604245
>>604184
Variadic тоже наследуются, чтоб все охуели как ты можешь.

https://ideone.com/eRQjFw
404 1604247
>>604191
Ну смотри, у тебя есть массив [1, 6, 8, 2, 0, -1], обозначу его "mass".

1) Делим пополам
max(mass) =
max( max([1, 6, 8]), max([2, 0, -1])) =
max( max (max([1, 6]), max([8])), max( max([2, 0]), max([-1])) )

Дальше сам
405 1604274
>>604191
>>604247
Освятил тред

(define (max array)
(define (slice i j array)
(cond ((= i j) nil)
((> i 0) (slice (- i 1) (- j 1) (cdr array)))
(else (cons (car array) (slice i (- j 1) (cdr array))))))

(define (first-half array)
(slice 0 (floor (/ (length array) 2)) array))

(define (second-half array)
(slice (floor (/ (length array) 2)) (length array) array))

(if (= (length array) 1)
(car array)
(let ((a (max (first-half array)))
(b (max (second-half array))))
(if (> a b) a b))))
15592113336280.jpg12 Кб, 355x309
406 1604278
>>604274

>))


>)))


>))))))))))

1538634087425.png5 Кб, 376x232
407 1604311
>>604065
В си-стайле это делается тупо на двух указателях на char, без всяких аллокаций и сложений строк.
>>604163
Погугли longest common substring
image.png1 Кб, 335x279
408 1604338
Программач, мне нужно, чтобы при вводе текста в консоли при вводе пустой строке или просто нажатия энтера не создавалась новая строка.

Иными словами, чтобы вместо пика у меня в одной строке была только >>, куда пользователь что-то вводит, а если вводит что-то не то, то строка просто очищается и ввод продолжается в эту строку.

Как такое можно сделать? Я ещё совсем зелёный, не бейте.
409 1604344
>>604338
conio.h - перехватывать нажатие энтера, не выводя на экран
Чтобы очистить строку, можно напечатать символ возврата каретки \r, вывести несколько пробелов и опять \r.
410 1604374
>>604247
max( max (max([1, 6]), max([8])), max( max([2, 0]), max([-1])) )
А зачем эта строчка? Я не могу просто из 3 максимальное найти? Или это обязательное условие?
411 1604375
>>604274
Чёт нихуя не понял, не забывай, я тупой
412 1604381
>>604374
А нах усложнять? Тебе нах не надо ничего оптимизировать, тебе нужно реализовать алгоритм в чистом виде, то есть он тупой. У него одно действие - рекурсивное деление пополам и когда зайдет оч глубоко и у него останется одно (или два, как хочешь) числа он просто их возвращает и рекурсия схлопывается
image.png58 Кб, 468x593
413 1604399
Привет анонче.

Хряпнул пивка, накатаю портянку.

В 25 лет я грустил сидя в своем кабинете. Я только что пришел из цеха и руки мои были по локоть в блядском масле и техническом говне. Не смотря на то, что работаю инженером, когда что-угодно перестает работать нужно идти и разъебываться. Тогда меня че-то переклинило и я решил, что хватит уже заниматься этой хуйней. Я начал учить(повторять) математику и физику с 7ого класса. После изучения школьной программы я подумал, а почему бы не поступить в универ?
Я поглядывал на айти курсы, но они все на тот момент стоили 120к++ (сейчас не знаю), а заочный универчик стоит че-то в районе 250к за 4 года(но деньги из меня он сосет порционно, а не все сразу). Плюс может быть бумажку дадут, а может и на работу пристроят. Кароче, сейчас я успешная второкурсота, помимо этого я зашарил, что на курсере можно просить мат. помощь и на халяву проходить курсы. Прошел пару с++ курсов.

Сейчас я чувствую, что за полтора года меня все эти учебные задания аля : “ Создайте шаблонный класс с публичным методом пизда и приватным методом хуй” начинают подзаебывать. Подскажи анонче, чего бы такого запилить на крестах красивого и не сильно сложного.
Проблема в том, что я вообще не хуя не понимаю, что писать на крестах.
Джавапетухи делают приложения, питонодети вобще всем чем угодно занимаются, Сишарперы игрули делают, 1сники бухам кнопки рисуют. А на крестах то че сделать, за что зацепиться?)

В универчике лабы на с/c++ говно, но я сюда и не за языком пришел, а за мат.частью.

Думаю запилить гуи считающий интегралы, не сильно интересно, но хоть что-то уже осязаемое.
414 1604400
>>604381
double r1 = maxs(a, n / 2);
double r2 = maxs(a + n / 2 + 1, n-1);
if (r1 >= r2) { return r1; }
else { return r2; }
Вот так?
415 1604407
>>604400
Спиздил с киберфорума чтоль?
416 1604411
>>604399
какая-то ебанистическая пикча приклеилась.
417 1604423
>>604399
На плюсах можно сделать все. Игру, игровой движок. Парсер сайтов. Сами сайты через емскриптен. Какую нибудь системную утилиту, драйвер, кликалку мышью например.
1516467565981Programmingchallenge1,6 Мб, 3840x2160
418 1604434
>>604399
Возьми
419 1604442
420 1604527
421 1604537
>>604434

>отсчет не с 0


Triggered.
422 1604548
423 1604550
>>604434
рол
424 1604726
>>604085
Используй параметр smooth: true
425 1604727
>>604375
Это язык Lisp пидрский
426 1604732
>>604274
Как это дерьмо вообще читать можно
1453910160939.png75 Кб, 708x366
427 1604734
>>604732
Двач формат похерил, так то это нормально читается, даже проще плюсов
428 1604737
>>604734
Зачем из петушиного загона вылез? Брысь отсюда.
429 1604738
>>604734
Разноцветные скобки - это так мило :3
Это схема?
430 1604739
>>604737

>говнокодерка порвало



>>604738
Она самая
431 1604753
>>604734
уже сильно читаемее, но все равно пиздец какой-то.
432 1604768
>>604732
Просто представь себе что это такой специфический JSON.
433 1604772
434 1604781
>>604726
Слишком мыльно получается
435 1604808
>>604537
Только позёры считают с нуля.
436 1604844
прет сяшники
Как эффективно реализовать листенер (без библиотек)? Цикл, который срабатывает n наносекунд - единственный способ?
Нужно не в качестве паттерна программирования.
437 1604855
>>604844
Эффективно? Средствами ос. Чтобы инит слушал, а твоя программа только обрабатывала.
438 1604868
>>604855
Поподробнее. Название функции?
Думаешь, ОС будет детектировать это, как-то курируя изменения в памяти?
В идеале так выглядит: я даю винапи указатель на адрес и на мой каллбек (да, не линуксы), он его зовёт при наличии изменений.
439 1604873
>>604844

>Как эффективно реализовать листенер (без библиотек)? Цикл, который срабатывает n наносекунд - единственный способ?


На прерывание повесить, иди в асм тред.
440 1604875
>>604844

>Цикл, который срабатывает n наносекунд


А расскажи как это сделать, а? Очень нужно. Точности в микросекунду будет достаточно, впрочем.
442 1604880
>>604875
Ставь ОС реального времени. Обычные винда/линукс не прокатят.
443 1604883
>>604875
Элементарно.
https://stackoverflow.com/questions/158585/how-do-you-add-a-timed-delay-to-a-c-program

По софтварным прерываниям инфа так не гуглится. Знаю эту фичу ещё по дурачеству в ollydbg, но как самому сделать в обычном main.c (пусть даже инлайном ассемблера) - хз.
444 1604888
>>604844
Есть еще один вариант. Если ты знаешь какая функция пишет в память, ты можешь хукнуть эту функцию, вставив трамплин, грубо говоря заменить часть инструкций в программе на прыжок в твою функцию, а в ней анализировать.
445 1604922
>>604883

>Sleep


Я до микросекунд просил.

Пока что использую бесконечный цикл с asm("nop;nop;nop;nop;nop;nop;... ) в потоке с приоритетом реального времени, где проверяю счётчик тактов и мне это всё очень не нравится.
448 1605065
>>604844
>>604868
Ставишь VEH обработчик и меняешь защиту памяти на PAGE_READONLY допустим, при обращении на запись в нее вылетит исключение которое ловит твой обработчик. И да, это будет работать на всю страницу памяти, а не на одну переменную так что это тоже надо учитывать.
449 1605167
>>604880
насколько я помню из когда то прочитаного windows internals в винде есть таки некие расширения реального времени, возможно придется написать драйвер, в котором и будет происходить настолько быстрая обработка по таймеру без запаздывания
но я не знаю точно, просто смутные воспоминания
450 1605169
>>605065
Все таки пейджфолты сильно ударят по производительности. Мне кажется вариант через debug register быстрее будет.
https://www.codeproject.com/Articles/28071/Toggle-hardware-data-read-execute-breakpoints-prog
451 1605170
>>604399
Если напишешь программу, вычисляющую любые интегралы, то можешь сразу в гугл на сеньора стучаться.
452 1605183
>>605167
Ну хз, мы обычно ставим интервалзеровский RTX, он крутится паралельно винде на своих процессорных ядрах. На нем риал тайм, на винде интерфейс.
453 1605186
>>605170
Опиши поподробнее как стучаться? Вот мой гитхаб с одним проектом, возьмите к себе?
454 1605193
>>605170

>программу, вычисляющую любые интегралы


ВольфрамАльфа?
455 1605196
>>605170
Как будто сеньор имеет какое-то отношение к науки и интеллекту
456 1605198
>>605196
науке*
фикс
457 1605213
>>605170
формула Симпсона?
458 1605225
>>605170
double integral(double a, double b, int n){
double step = (b - a) / n; // width of each small rectangle
double area = 0.0; // signed area
for (int i = 0; i < n; i ++) {
area += exp(cos(a + (i + 0.5) step)) step; // sum up each small rectangle
}
return area;
}
459 1605241
>>605225
А теперь на лиспе
460 1605319
>>605065
Тогда уж guard page, именно так стэк и работает, кстати. Лучшим способом будет установка железячного бряка через отладочный регистр, контроля больше, нет проблем синхронизации.
461 1605329
Ну что, БАЙТОСЛЕСАРИ, как вам работается на ЗАВОДЕ? С премией за отлизывание ануса в совковому деду-пердеду в месяц чистыми хоть 500$ выходит?

А мы тут вашего залетного КУЗЬМИЧА в кружок отпепетушили, принимайте пополнениезабирайте назад.

>>1605269 →
>>1605259 →
>>1605243 →
462 1605342
https://ru.coursera.org/specializations/c-plus-plus-modern-development

Искал инфу по одному конкретному вопросу и наткнулся на это. Стоит проходить для закрепления после Майерса и т.д.? Всегда плевался в сторону подобного, но тут вроде содержание действительно неплохое.

вот-вот джун
463 1605375
>>605342
Если ты "почти джун" - то смысла нет. Лучше иди еще наверни Херба Саттера, или там Александреску какого
464 1605380
>>605193
Закинул рандомный пример из Бермана, вольфрам жидко пукнул и выдал поеботу
465 1605384
>>605213
>>605225
Имелась ввиду нахождение первообразной, ясен хуй.
466 1605397
>>605319
С регистром есть проблема в том, что он ставится на конкретный поток, а если программа постоянно срет новые потоки то что делать?
467 1605482
>>605397
Перехватывать создание потока и ставить новый бряк.
468 1605634
Я напесал threadsafe_cout
https://rentry.co/2r75g
469 1605653
Круто да?
470 1605724
double pi = 3.14159, npi = -3.14159;
cout << fixed << setprecision(1) << pi <<" "<<npi<<endl;

Сука, что это за хуйня? Почему нельзя pi.setprecision(1)? Мне всего-то нужно безопасно версии проверять.
471 1605744
>>605724
Стоп, тупанул. Разница будет только если два куска кода на разных архитектурах запустятся.
472 1605769
>>605724
версии во флоате?
473 1605827
>>605724

> pi.setprecision(1)


Потому что это функция потока, а не числа?
474 1605846
>>605827
На си вроде так можно, мне препод показывал
475 1605850
Ток я не помню как включить поток на си
476 1605872
>>605769
Так удобнее. Я читаю чужую версию, возврат в строке, проще конвертить во флоат, чем свою интовую нотацию сочинять.
477 1605873
>>605846
Нельзя, на си вообще нет такого.
478 1605876
>>605872
...а если не конвертится, ловим invalid_argument и продолжаем работать. Очень удобно.
479 1605909
>>605397
>>605482
Например, перехват NtCreateThread/Ex, устанавливаешь флаг suspended, выполняешь системный вызов, далее устанавливаешь контекст и возобновляешь поток. Или другой способ, на мой взгляд более правильный в теории, сам я не пробовал так делать, перехват LdrInitializeThunk, вызывается в контексте созданного потока, 1 или 2 аргументом будет указатель на структуру CONTEXT, редачишь отладочные регистры и передаешь управление загрузчику, который установит начальный контекст потока сразу с твоими брекпоинтами.
15743301641080.png1 Мб, 677x960
480 1605944
Короче анон. Я тут решился вкотиться в погроммирование и именно в плюсы, потому что мощный и быстрый, делал сортировки всякие. Но у меня есть проблема: я хз что писать дальше, чтобы как-то прокачать скилл.
Блокнот? Свою маленькую игру закодить? Калькулятор? Сажусь за компьютер и ничего не решаюсь сделать. Есть ли какой-то список задач для практики? И чтобы была сложность разная, на подобии: определение разряда числа<калькулятор<вселенная?

Есть конечно идея для приложения: приложение для лиги легенд, которое на стадии пика, будет искать профили игроков в op.gg и выводить их статистику, сыгранные матчи, кого мейнят и тд., ибо самого заёбывает каждый раз ctrlC + ctrlV делать. Подходит ли c++ для этой задачи?

добра
481 1605950
>>605944
Вот блять --> >>604434
Роллишь и пишешь, молча
482 1605951
>>605944

> Подходит ли c++ для этой задачи?



Скорее всего тебя забанят как за бота.
15761851222870.jpg85 Кб, 735x474
483 1605953
>>605950
Бля, анон, дико извиняюсь за свою слепоту, я тред не читал даже. Большое спасибо
>>605951
Так нет, я видел уже такие программы, просто они показывают статистику уже когда игра загружается, а не когда ты выбираешь персонажа. Да и как бота распознать нельзя, ибо какой тут бот? Я просто смотрю статистику игроков, тем более беру статистику не с riot games, а с op.gg/
484 1605978
>>605953

>Да и как бота распознать нельзя, ибо какой тут бот?


Ты будешь как то взаимодействовать с игрой, чтобы прочитать с экрана ник игрока. А современные игры это такие вишмастеры, которые палят все процессы запущенные.
485 1605983
>>605380
Потому что альфа хуйня, качай математику. Или http://doc.sagemath.org/html/en/reference/calculus/sage/symbolic/integration/integral.html
486 1606065
>>605978
Если приложуху от всяких твичей хукаться, ничё не будет, мамой клянус.
487 1606070
>>605978
Можно подключить второй компьютер для захвата видео через хдми
488 1606079
>>606070
Охуеешь искать хдми-ин за адекватные деньги. Тебе обязательно вместо одного порта продадут целый компьютер за соответствующий прайс.
Untitled.jpg210 Кб, 1127x589
489 1606082
>>606079
Вроде не все так плохо
490 1606085
>>606082
Во-первых, это всё равно целый компьютер, который уже обработанное и пережатое видео по юсб 3.0 выплёвывает. Во-вторых, он относительно дешёвый, потому что ограничен возможностями hdmi 2002 года. Представь себе, если бы тебе видеокарту 2002 года пытались продать или даже монитор.
491 1606086
>>606085

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


Ебанутый? Ебанутый.
492 1606087
>>606086
М? В 2006 году (14 лет назад) вышел hdmi 1.3, который уже мог 1440@75 или 1080@144.
493 1606088
>>606085

>относительно дешёвый


Ну и да, это только относительно других карт захвата, потому что столько же стоит и видеокарточка, и монитор, которые, на секундочку, изображение умеют формировать и отображать, а не только принимать в один порт и выплёвывать в другой.
494 1606266
>>605909
Еще проще загрузить свою дллку и там обрабатываешь создание нового потока через DLL_THREAD_ATTACH.
495 1606563
>>606266
Да, точно, я про это совсем забыл, LdrInitializeThunk как раз и проводит инициализацию потока с оповещением библиотек. Можно тогда без длл, через TLS THREAD_ATTACH эвент обрабатывать.
496 1607077
Сап, двощ.
У меня есть многопоточный сервер. Как мне получить адрес сокета в функции хендлере?
Т.е. как можно получить SOCKADDR имея в наличии только сам SOCKET?
497 1607174
>>607077
так socket и представляет собой файловый дескриптор, или что?
498 1607185
>>607174
Я не особо понимаю вопрос
У сокета нет никаких функций
В многопоточный хендлер я отправляю сокет, sockaddr отправлять не могу по логике программы
Из типа socket можно получить адрес сокета?
499 1607505
>>607185
Отправляй структуру, содержащую сокет и sockaddr.
500 1607601
Есть возможность приобрести ноут https://www.ebay.com/itm/Acer-Travelmate-B117-M-Laptop-Intel-Celeron-1-6GHz-4GB-Ram-64GB-SSD-Win-10-Pro-/153799005761?_ul=RU&redirect=mobile (не нашел другого линка с характеристиками).

Хватит ли его для работы на c/c++? (Смогу ли я на нем написать и протестировать свою ось?) Если да, то какой линупс ставить? Если нет, то чего не хватает?
501 1607606
>>607077
getsockname/getpeername
gabrielalotarynskacpp.jpg79 Кб, 806x720
502 1607647
503 1607651
>>607647
Могли бы хоть разрешение подтянуть такой эффективной и современной книжке.
504 1607661
>>607601

>написать свою ось


Наркоман? Ёбом токнуть?
505 1607664
>>607661
Терри не зассал и написал; анон тоже может.
506 1607666
Почему когда я говорю, что Си и Си++ - два разных языка, на меня смотрят как на дебила?
507 1607668
>>607666
Потому что никому в автобусе это не интересно.
508 1607669
>>607668
На собесе
509 1607671
>>607669
Потому что тебя спросили, пьёшь ли ты, и умеешь ли метлой работать, а не про с++.
510 1607674
>>607671
А понял
511 1607677
>>607669

>На собесе


Переверни список.
512 1607678
>>607677
d[::-1]
513 1607680
>>607678
А на крестах?
514 1607681
>>607680
Так питон на сишечке работает.
515 1607682
>>607681
Мы вам перезвоним.
516 1607683
>>607682
Вообще, это был сетап под >>607666
517 1607686
>>607683
Ну я какбэ и намекаю, что на крестах вращается одной строчкой, в отличие от си.
518 1607695
>>607686
Это просто кто-то уже написал за тебя вращение в несколько строчек, а ты теперь его используешь. Она ж не магически вращается. На си вон тоже написали, назвали питоном, вообще в 6 символов делается.
sdl.png8 Кб, 663x95
519 1607700
Как прочитать обычный текстовый файл, который лежит в assets внутри apk файла с помощью sdl2 ?
Путь к файлу подходящий, т.к. при других он выбрасывает ошибку, что файл не найден.
Но вот size и seek выдает отрицательные, что за магия.
520 1607705
>>607700
Сколько гуглил такой сложный вопрос?
521 1607706
>>607700
А зачем? Пользуйся std
522 1607709
>>607705
Много, там тоже всякая хрень на тему "околотого" и тоже пишут
>>607706
через std там еще более геморно получать пути к файлам на все случаи жизни, ну и для андроида придется тогда отдельно писать, хотя для win/lin/mac/ios все работает
523 1607713
>>607709

>Много


Ну пишут же, что -1 значит ошибка. Дёрни ошибку.
524 1607726
>>607713
ошибку можно дернуть, если файл не открылся, а это просто размер структуры уже открытого файла и указатель на позицию в нем
525 1607727
>>607713
т.е. получается как тут, когда в else уходит
https://wiki.libsdl.org/SDL_RWseek
526 1607733
>>607726

>Use this function to retrieve a message about the last error that occurred.


https://wiki.libsdl.org/SDL_GetError
Только про не открывшийся файл?
527 1607736
>>607700
Странно конечно, но видимо в твоем C-поделии, о котором ты почему то спрашиваешь в c++ треде, не реализовали seek для ассетов в апк. Читай его как обычный поток, пока не закончится.
528 1607737
>>607736

>в твоем C-поделии, о котором ты почему то спрашиваешь в c++ треде


Я-то думаю, что так легко читается
529 1607738
>>607736
Поделие не мое, просто дали старое как говно мамонта легаси и сказали переводить это по копроративному стандарту на новые рельсы.
530 1607740
>>607733
Новых ошибок он не кидает, там только старые прошлых мест кода.
531 1607742
>>607664
Терри также под поезд прыгнул.
532 1607744
>>607738
Может у тебя старая версия sdl?
533 1607749
>>607744
последняя 2.0.10
да хоть в какой версии, можно просто пример считывания текстового файла из assets готового apk
534 1607760
>>607749
Обычный байтоебский while(len=read(...)>0) полагаю
https://discourse.libsdl.org/t/reading-files-on-android/18437/6
535 1607762
>>607677
Чекай
https://rentry.co/reverse_list

и чтоб зп была >120к
536 1607771
>>607760
ну так я бы и сделал обычный байтоебский, только вот length нету
а в этом примере они не из apk и assets берут, а из хранилища для приложения
537 1607798
>>607771
Ты не понял. Там не определяют длину, а просто читают по 1 байту, пока поток не кончится
size = SDL_RWread(oldFile, &c, 1, 1);
Алсо там читают из assets, а записывают в хранилище.
538 1607805
>>607762
Я бы не нанял велосипедостроителя за 120к.
list in {0, 1, 2, 3, 4 ,5};
list out { in.rbegin(), in.rend() };
539 1607812
>>607805
Ну это называется уже доёбался
540 1607815
Так как не оговорено, можно ли готовые списки юзать или нет
541 1607817
>>607664
>>607661
Да ладно вам, я же в учебных целях собираюсь.
542 1607825
И кстати я сам себя нанял на должность сеньора и плочу себе около 200к/сек
sdl.png14 Кб, 377x169
543 1607826
>>607798
вот такая конструкция уже правильно определяет длину файла
но str все равно пустая
544 1607843
>>607826
1. Сохрани в переменную что вернула RWread. Она возвращает длину реально считанного.
2. После самого RWread проверяй GetError
3. Смотри содержимое массива отладчиком.
4. Ты на чем вообще проверяешь? Эмулятор, реальное устройство? Смотри Logcat
Я бы тебе помог но сегодня в пути, без компа буду.
545 1607855
>>607826
Тред не читал, но не должен ты снова seek в начало сделать перед чтением?
546 1607866
>>607843
подключен реальный телефон, логкат смотрю в студии
вроде уже что-то считывает
>>607855
нет, он не перемещает позицию
547 1607899
Забыл написать new, в итоге два дня пытался понять, почему переменные просто так изменяются. Пиздец, а не язык
548 1607909
>>607899

>2020


>new

549 1607911
>>607899
Обычно, забывая оператор new, у тебя не должно скомпилиться в принципе.
550 1607916
>>607899
покажи кусок, где без new даже предупреждение не выдал?
551 1607934
>>607911
>>607916
Я забыл иницилизировать указатель nullptr, а потом вдобавок забыл выделить память с помощью new прежде чем использовать указатель.
https://pastebin.com/GLFVbfw8
552 1607950
>>607899

>не умею писать


>виноват язык

553 1607957
>>607934
я забыл, потом забыл, потом посрал в штаны еще, пуская слюну. Клятый С++
554 1607975
>>607950
>>607957
да ладно вам, я только вкатился(((
>>607909
как обойтись без new?
555 1607977
>>607975

>без new


std::make_unique
556 1607981
>>607977
Чем лучше?
557 1607983
>>607975
Не, ну если ты только вкатываешься, то конечно попользуйся new чтобы понять что к чему.
>>607981
Не забудешь delete.
Алсо, что за String? Опять же есть std::string
558 1607988
>>607983
Лучше сразу учи QString, обыным std::string'ом уже никто не пользуется он концептуально устарел
559 1607993
>>607988
не надо так тонко с новичками
560 1607994
>>607988
Вот ты написал, а я и задумался, что хз какими строками пользоваться сейчас. ICU вроде неплохо, но там устаревший api...
561 1607995
>>607988
какой кустринг, у нас в яндексе есть SHTROKA
562 1607997
Как вызывать методы protected класса A из класса B, при этом не делая класс A дружественным классу B и не наследуя A в B?
563 1607999
>>607995
возьмете к себе кодить?
564 1608000
>>607997
никак

>>607999
конечно, приходи на 5 собеседований
565 1608001
>>607997
Можешь попробовать вернуть адрес вызова метода
Стикер512x512
566 1608002
>>607997
Сделать public метод дергающий нужный
567 1608004
>>608000

>никак


А что делает строка вида A::Aa, где Aa — что-то внутри класса A?
568 1608007
>>608004
обращается к методу или полю по имени Aa ?
569 1608012
>>608004
Из чужогор класса - выводит ошибку компиляции.
570 1608014
>>607983
Функция из библиотеки требовала обычную строку
571 1608015
>>608007
Да?
Я только учу кресты, если что
572 1608017
>>608015
сука глаза
573 1608018
>>608015
Почитай книжки, там все описано. И пожалуйста, не используй никакой текст, кроме английского в коде
574 1608020
>>608018

>не используй никакой текст, кроме английского


Тебя забыл спросить. В коде написанном только для себя, который по моей задумке никто другой в глаза видеть не должен, я могу писать хоть арабской вязью.
575 1608022
>>608015
Как мило.
576 1608023
>>608020

>код который по моей задумке никто другой в глаза видеть не должен


>показывает всем на дваче

577 1608024
>>608020
Ты действительно забыл спросить хоть 1 профессионального программиста. Вот первый спрошенный тебе и указал, что это полный пиздец.
578 1608025
>>608023
Так я ж не спецом для двача его писал.
579 1608026
>>608024
Я это сделал впервые в жизни, так то. И мне понравилось!
580 1608027
И кстати, как в VS везде в пару кликов переименовывать переменные сразу везде?
581 1608028
>>608027
Я последние несколько лет делаю это Решарпером++. А вообще, они вроде год+ назад впилили такие рефакторинги в саму студию, но не уверен.
582 1608029
нажми на анусе кнопку умереть
1464216578121.png107 Кб, 570x649
583 1608030
584 1608031
>>608027
Нажать правой кнопкой - переименовать? Мб с контролем
изображение.png110 Кб, 1920x1048
585 1608032
>>608031
Ебать, получилось
586 1608037
>>608032

>den


Перекатите тред пожалуйста
587 1608038
>>608030
Надеюсь, её набутылили за ложную тревогу и отсутствие школьного образования?
1436152125855.png5 Кб, 488x124
588 1608041
>>608015
Опять же для первого раза, наверное, пойдет.
Но подумай над тем, что это все очень избыточно.
Например, ты видишь что везде день==1
Значит, это можно вынести во внешний if
И получится что-то вроде пикрил.
А в реальной работе лучше посмотреть в сторону std::chrono
590 1608047
>>608041
Будет ненамного больше IFов, да ещё и более запутанно код станет выглядеть. Я уже пробовал, как ты предложил.
592 1608051
>>608047
Более запутанно чем портянка в 12 строк сложно представить. Особенно весело потом искать опечатки.
593 1608063
Шота охуеть ваши плюсы сложные, ну это наверно потому что они мне и нахуй не нужны на самом деле.

Просто поделился, не посылайте нахуй, спасибо.
594 1608064
>>608041
int days[] = {31, ..., 31};

day = day - 1;
month = month - 1;

if (day == 0) {
month = (month == 0)? 12 : month;
day = days[month - 1];
}

Исправил
595 1608074
>>608064
Блять, я обосрался
596 1608102
>>607983
String это дотнетовский класс вроде как.
597 1608120
Где решать олимпиадные задачи с тестами?
598 1608127
>>608051
Компилятор сам тебе их найдёт.
599 1608128
>>608047

>Будет ненамного меньше IFов


самоисправил
600 1608173
>>608127
Логические ошибки? Ну-ну.
Тред утонул или удален.
Это копия, сохраненная 22 апреля 2020 года.

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

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