М.Двач / Программирование

Двач.hk не отвечает.
Вы видите копию треда, сохраненную 24 июня 2015 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

46 Кб, 588x381

C++ тред sage 14 Май, 23:57 #478556 В конец треда | Веб

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

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

Предыдущий: >>472173

Ответы: >>479533, >>486965

15 Май, 00:46 #2 #478581

легитимный))))

15 Май, 12:48 #3 #478708

>>478652
Неинтересный вопрос.
http://www.cplusplus.com/reference/fstream/ifstream/?kw=ifstream

sage 15 Май, 14:58 #4 #478760

как вернуть масив интов?

Ответы: >>478766, >>478779

15 Май, 15:07 #5 #478766

>>478760
std::vector<int>

Ответы: >>478771

15 Май, 15:13 #6 #478771

>>478766
std::array<int, 10>

sage 15 Май, 15:25 #7 #478779

>>478760
http://ideone.com/dnqt4h

Ответы: >>478783

15 Май, 15:34 #8 #478783

>>478779
Теперь он тебя ещё спросит за статические переменные.

52 Кб, 683x564

15 Май, 17:32 #9 #478834

Выручайте, аноны. Я перепробовал уже просто ВСЁ, и каждый раз вместо цифр из файла подобная хуйня.

void file_enter(int M[2][4]) {
int i, j;
FILE *f;
char s[20];
cout << "\nВведите имя массива:\n";
cin >> s;
f=fopen(s,"rt");
std::cout << f;

for (i = 0; i <8; i++)
{
fscanf(f,"%d",&M);
}

cout << "\nМассив:\n";
for (i = 0; i < 2; i++) {
for (j = 0; j < 4; j++) {
printf("%3d ", M[j]);
}
cout << endl;
}
}

Разработать блок-схему алгоритма программы и программу, которая:
а) вводит с клавиатуры или читает из файла, имя которого задает программист, двумерный целочисленный массив размерностью [2  4] элементов и выводит его на экран. Данные в файле расположены произвольно;
б) многократно, в зависимости от запроса, производит расчет среднего арифметиче-ского элементов указанного столбца;
в) по окончании работы сохраняет массив в файле с именем, указанным программи-стом. Данные этого массива сохраняются в виде матрицы, размерностью [3  7] элементов с двумя пробелами между ними, а результаты расчета среднего ариф-метического элементов указанных столбцов матрицы и их номера – в другом файле.

Ответы: >>478885, >>479068, >>493350

sage 15 Май, 17:47 #10 #478843

http://ideone.com/33FkZl
почему 111 а не 123

Ответы: >>478846, >>478848

sage 15 Май, 17:52 #11 #478846

>>478843
>static

Ответы: >>478852

sage 15 Май, 17:55 #12 #478848

>>478843
Peremennaya massiv initsializiruetsya tol'ko odin raz (pri pervom obrashenii k ney). Gugli, suka ti tupaya.

Ответы: >>478852

sage 15 Май, 18:00 #13 #478852

>>478846
>>478848
ну и говно
даже массив нормально вернуть нельзя

Ответы: >>478855

sage 15 Май, 18:09 #14 #478855

>>478852
Ты прав. Иди нахуй из плюсов и не возвращайся. Спасибо.

Ответы: >>478860

sage 15 Май, 18:26 #15 #478860

>>478855
> Ты прав. Иди нахуй
только в кресто треде

Ответы: >>478864

15 Май, 18:33 #16 #478864

>>478860
Ну так тебе же написали выше - std::vector, std::array. Ими все норм возвращается, без ебли, без сюрпризов, хули еще надо?

Ответы: >>478866

sage 15 Май, 18:38 #17 #478866

>>478864
хочу простой массив а не вектор
если бы хотел вектор - просил бы вектор

Ответы: >>478870, >>478882

sage 15 Май, 18:48 #18 #478870

>>478866
>std::array - это контейнер, инкапсулирующий массив фиксированного размера.
Че тебя не устраивает, долбоеб?

Ответы: >>478873

sage 15 Май, 19:05 #19 #478873

>>478870
c++

Ответы: >>478879

sage 15 Май, 19:11 #20 #478879

>>478873
Ну так не пиши на нем.

sage 15 Май, 19:18 #21 #478882

>>478866
http://ideone.com/FdgyOJ

Ответы: >>478901

15 Май, 19:20 #22 #478885

>>478834
>for (i = 0; i <8; i++)
>{
>fscanf(f,"%d",&M);
>}
В чем смысл этого выражения?

Ответы: >>478985, >>478994

sage 15 Май, 19:32 #23 #478901

>>478882
спс

sage 15 Май, 19:33 #24 #478902

почему память кончается?

Ответы: >>478904, >>478906, >>478953

15 Май, 19:34 #25 #478904

>>478902
Не резиновая же.

sage 15 Май, 19:45 #26 #478906

>>478902
Потому что ты долбоеб безрукий. Недавно проверял свой сервачок крестовый, который уже полгода работает. Памяти 3 МБ с копейками скушал за это время. То есть ничего не течет. Отсюда вывод какой? Не кресты кривые, а руки кривые. На Qt кстати сервачок, что как бы намекает хейтерам засунуть член себе поглубже в глотку и не вылезать из-под шконки.

Ответы: >>478962

15 Май, 21:09 #27 #478953

>>478902
Бросай джаву, потому что.

Ответы: >>478963

sage 15 Май, 21:39 #28 #478962

>>478906
говноборда твоя?
так этож нихуя не сервис

Ответы: >>478972

sage 15 Май, 21:39 #29 #478963

>>478953
> в джяве нет утечек памяти

Ответы: >>478994, >>478996

sage 15 Май, 21:53 #30 #478972

>>478962
Нет, борде еще нет полугода.
Алсо,
>сервис
Я конечно понимаю, что СЕРВИС это нынче модное слово, но все же.

sage 15 Май, 22:26 #31 #478985

>>478885
В том, что [i| съедает вакаба, видимо

15 Май, 22:46 #32 #478994

>>478963
Смотри, маня:
http://stackoverflow.com/questions/6470651/creating-a-memory-leak-with-java

>>478885
В том, что местные долбёбы не могут в ни пастбин, ни в идеоне, ни в дабаскрипт-костыль.

sage 15 Май, 22:50 #33 #478996

>>478963
Жаба - одна большая утечка памяти же.

16 Май, 02:43 #34 #479068

>>478834
Пиздец, выкатись из треда, инвалид.
Даже я это осилю на плюсах (мимостудент 2 курс пхпмакака)

16 Май, 06:43 #35 #479074

Решил попердолиться с созданием tcp server на крестах на примере чятика или мелкоборды. Вкидываю интродакшн по этой теме. Вдруг кому надо писать для игори или для другой содомии. Если что-то получится - вкину гит.

http://www.linuxhowtos.org/C_C++/socket.htm

Ответы: >>479079, >>479159

sage 16 Май, 08:23 #36 #479079

>>479074
А вкинь еще жж лебедева, будь добр.

16 Май, 13:04 #37 #479159

>>479074
Не знал об этом сайте, спасибо.

16 Май, 22:56 #38 #479468

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

Ответы: >>479481

16 Май, 23:06 #39 #479481

>>479468
Нихуя, проще использовать высокоуровневую абстракцию, но это не крестоблядь-вэй

Ответы: >>479494, >>479515

16 Май, 23:25 #40 #479494

>>479481
> крестоблядь-вэй
И в чём же он заключается?

Ответы: >>479522

16 Май, 23:53 #41 #479515

>>479481
В том, что надо быть Сысоевым, чтобы напердолить более-менее сложный сервер на крестах, особенно если ты не обмазан STL и бустом для адекватной работы с данными. Листал сорсы nginx-а - проиграл с того, что какие-то простые вещи вроде парсера хттп хедеров реализованы на 50 тысяч строк байтоебского кода. Можно ведь было стырить сорцы парсера регулярных выражений из кода перла или еще откуда-то и сделать все проще раз в 50 при незначительной потере производительности.

Ответы: >>479522, >>479562

17 Май, 00:11 #42 #479522

>>479494
Ебаться с байтами и процедурной API дриснёй

>>479515
Двачую

Ответы: >>479562

17 Май, 00:33 #43 #479533

>>478556
КОтаны как запилить хеллоуворд в .sys? Ну скомпилировать код как драйверный и убедится, что он работает - что система его запустила.

17 Май, 01:13 #44 #479544

Как конвертировать строку в ascii?

17 Май, 01:55 #45 #479562

>>479515
>>479522
И хуле они не пишут это всё на сишечке, раз уж отказываются от всех высокоуровневых конфет?

Ответы: >>479565

17 Май, 02:00 #46 #479565

>>479562
Пишут и на сишечке, но это сорта говна.

sage 17 Май, 04:39 #47 #479597

Лол, сколько боли писателей факториалов. Те хоть программы рабочие пишут, хуй с ним с говнокодом. Вы же только на сосачах кукарекаете.

17 Май, 11:19 #48 #479636

Этот boost просто лютый пиздец какой-то. Говнокод на говнокоде. Те же program_options, например. Вроде бы и базовая функциональность, но API сделан через такую лютую жопу, что разобраться в этом без бутылки не получается.
Например, вот такая конструкция из приложенного примера:
[code lang="cpp"]
desc.add_options()("help", "produce help message")("compression", po::value<int>(), "set compression level");
[/code]
Охуенно, блять, функция возвращает функцию, которая возвращает функцию. В итоге код превращается в дикое говно из последовательных аргументов в скобках.
В общем, меня уже берут сомнения, стоит ли его вообще использовать.

Ответы: >>479641

17 Май, 11:59 #49 #479641

>>479636
> Охуенно, блять, функция возвращает функцию, которая возвращает функцию.
Байтослесарь знакомится с каррированием, спешите видеть

Ответы: >>479642, >>479645

17 Май, 12:05 #50 #479642

>>479641
>каррированием
Любитель пожрать изысканных сортов говна?

Ответы: >>479644

17 Май, 12:16 #51 #479644

>>479642
> C++
> что-то там рассказывает про поедание говна
)

Ответы: >>479657

sage 17 Май, 12:17 #52 #479645

>>479641
Ты же видишь как уебищно это получается в крестах. Не надо пытаться поставить атомный реактор на велосипед.

Ответы: >>479651

17 Май, 12:22 #53 #479651

>>479645
Ну да, в принципе логичнее было бы сделать что-то вроде
builder.option(...)
.option(...)
.result()

Ответы: >>479704

17 Май, 12:48 #54 #479657

>>479644
Ну порекомендуй лучший СИСТЕМНЫЙ язык с богатым набором 3-rd party библиотек под все нужды.

Ответы: >>479664, >>479665

17 Май, 12:54 #55 #479664

>>479657
> C++
> СИСТЕМНЫЙ язык
Ясно.

Ответы: >>479667, >>479715

17 Май, 12:59 #56 #479665

>>479657
> СИСТЕМНЫЙ язык
> C++
> 3-rd party библиотек под все нужды.
Ох, лол

Ответы: >>479715

sage 17 Май, 12:59 #57 #479667

>>479664
> Еще один петушок без аргументов
> Ясно

17 Май, 14:24 #58 #479704

>>479651
А вот и энтерпрайз-макака закукарекала из-под хотспота.

Ответы: >>479998

17 Май, 15:17 #59 #479715

>>479665
>>479664
Покажи-ка мне хоть один нормальный ненадуманный пример использования на хаскеле WinAPI и COM.

Ответы: >>479739, >>479743

17 Май, 16:31 #60 #479739

>>479715
кукареку?

17 Май, 16:35 #61 #479743

>>479715
Хачкель то тут при чём?
Вики, кстати, тоже считает кресты системным.

18 Май, 00:50 #62 #479998

>>479704
Давай дегенерат, предложи вариант лучше

Ответы: >>480059

sage 18 Май, 08:49 #63 #480059

>>479998
builder.setOption(...);
//еще N опций
builder.build();
Так вот оно по-человечески должно выглядеть.
другой анон

Ответы: >>480085, >>480141

18 Май, 09:59 #64 #480068

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

18 Май, 11:29 #65 #480085

>>480059
>мутабельное говно
Ну да, чего ещё ожидать в C++ треде.

Ответы: >>480093

sage 18 Май, 11:49 #66 #480093

>>480085
Да, ты тредом ошибся, борщехлеб.

Ответы: >>480096

18 Май, 12:02 #67 #480096

>>480093
Байтослесарю предложили человеческий вариант, но нет, манька упорно продолжает жевать кал и хлебать урину

Ответы: >>480098

sage 18 Май, 12:06 #68 #480098

>>480096
>пок-пок-пок байтослесарь кукарикуууу
Борщ то стынет, мама будет недовольна.

Ответы: >>480099

96 Кб, 800x600

18 Май, 12:08 #69 #480099

>>480098
>кукареку кудах борщи
Проснись манька, ты обоссалась

Ответы: >>480100

sage 18 Май, 12:09 #70 #480100

>>480099
Это ты справа на фото код пишешь?

Ответы: >>480102

18 Май, 12:13 #71 #480102

>>480100
Нет, я слева, ссу на байтоопущенку

Ответы: >>480103

sage 18 Май, 12:17 #72 #480103

>>480102
А, понял, это твой сон. До чего технологии дошли, сны фотографируют.

Ответы: >>480106

18 Май, 12:19 #73 #480106

>>480103
>пок-пок совсем не опустили, это не моча а апельсиновый сок

Ответы: >>480112

sage 18 Май, 12:22 #74 #480112

>>480106
>пок-пок совсем не опустили, это не моча а апельсиновый сок
Проснись манька, ты обоссалась.

Ответы: >>480119

18 Май, 12:24 #75 #480114

А что, собственно, мешает иметь в С++ человеческие билдеры? Внутри они вполне могут быть изменяемыми: просто методы должны захватывать владение, а не обращаться через заимствующую ссылку.

Ответы: >>480116

sage 18 Май, 12:27 #76 #480116

>>480114
Я тебе больше скажу, внутри эта builder.option(...).option(...).option(...).build() дрисня может изменять состояние. Но попробуй это борщехлебу объяснить, он же кроме своих мантр ничего вообразить не способен.

Ответы: >>480128, >>480141

18 Май, 12:29 #77 #480119

>>480112
>пок-пок совсем не опустили

Ответы: >>480123

sage 18 Май, 12:31 #78 #480123

>>480119
Как это не опустили? Очень даже тебя опустили, только ты не признаешь.

Ответы: >>480125

18 Май, 12:32 #79 #480125

>>480123
>кукареку это я тебя опустил! мам ну скажи ему!

Ответы: >>480127

sage 18 Май, 12:34 #80 #480127

>>480125
Зачем маму зовешь?

Ответы: >>480129

18 Май, 12:35 #81 #480128

>>480116
> внутри эта builder.option(...).option(...).option(...).build() дрисня может изменять состояние
Изменение объекта внутри по сути ничем не отличается от возврата нового объекта, если методы берут владение, и соответственно, существует лишь единственная ссылка на объект. Более того, некоторые функциональные языки используют эту идею для контроля побочных эффектов.
А чем тебе, собственно, `builder.option(...).option(...).option(...).build()` не угодило?

Ответы: >>480131, >>480133

18 Май, 12:35 #82 #480129

>>480127
>кудах кукареку мам ну скажи
Байтоклоун продолжает унижаться

Ответы: >>480130

sage 18 Май, 12:36 #83 #480130

>>480129
>кудах кукареку мам ну скажи
Борщехлеб продолжает унижаться.

Ответы: >>480132

18 Май, 12:37 #84 #480131

>>480128
>Изменение объекта внутри по сути ничем не отличается от возврата нового объекта,
А представь теперь Маня, что тебе надо сделать из одного исходного буилдера два, добавив в каждом случае только одну опцию.

Ответы: >>480141, >>480144

33 Кб, 502x339

18 Май, 12:37 #85 #480132

>>480130

Ответы: >>480134

sage 18 Май, 12:40 #86 #480133

>>480128
Дык, суть в мутабельности/иммутабельности. Борщехлебы дрочат на иммутабельность, потому что плохо понимают, что проихсодит в коде. Беднягам приходится жертвовать естественностью кода и быстродействием ради снижения количества ошибок.
А x.x.x.x.x.x() некрасиво как по мне. Тем более когда лесенка из
builder.option(...)
.option(...)
.option(...)
.build();
Хотя это вкусовщина, конечно.

Ответы: >>480136

sage 18 Май, 12:40 #87 #480134

>>480132
Я не шутил.

18 Май, 12:42 #88 #480136

>>480133
>естественностью кода
Естественный код это портянка на ассемблере в миллион строк

Ответы: >>480140

sage 18 Май, 12:48 #89 #480140

>>480136
Естественный код - такой, который отражает повседневную жизнь и ход мыслей. Люди не думают категориями команд или функций. Объекты, их свойства, действия над ними, иерархия. Потому ООП и является естественным. Для математических задач, безусловно, ФП лучше подходит, тут и спорить не о чем. Но, скажем, окошко с кнопками или там карту игрового мира с персонажами представлять в виде иерархии объектов куда проще и естественней. Не надо просто пилой забивать гвозди, а молотком пилить, и все будет ок.

Ответы: >>480147, >>480336

18 Май, 12:48 #90 #480141

>>480059
И с такими хуесосами я сижу на одной доске. Не хочу писать компактно, хочу фигачить портянки из повторяющегося кода. Почему ты такая джава-макака?

>>480116
>Я тебе больше скажу, внутри эта builder.option(...).option(...).option(...).build() дрисня может изменять состояние.
Спешите видеть, тупой уебок утверждает что цепочка вызовов для изменения состояния, оказывается может менять состояние. Вот это охуеть открытие.

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

Ответы: >>480142, >>480337

sage 18 Май, 12:51 #91 #480142

>>480141
Цепочка вызовов с точкой выглядит уродливо.
>Вот это охуеть открытие.
Борщехлебу это объясни, он тут кудахчет про иммутабельность.

sage 18 Май, 12:56 #92 #480144

>>480131
Делаешь вывов .add_options с общими параметрами, потом создаешь сколько тебе нужно копий объекта, и для каждого вызовом .add_options добавляешь опции которые различаются.

Ответы: >>480337

18 Май, 12:58 #93 #480147

>>480140
Но люди и не думают в категориях ООП. К примеру, никто не задаётся вопросом иерархией наследования у утюга. И вопрос «что с этой штукой можно делать» куда естественнее вопроса «какая у неё родословная».

Ответы: >>480156

sage 18 Май, 13:11 #94 #480156

>>480147
Но утюг же воспринимается как объект с присущими ему свойствами (цвет, вес, форма) и действиями, которые может над ним совершить другой объект. me.take(iron); if (shirt.wet) me.doIron(shirt);
Типа такого.

Ответы: >>480200, >>480205, >>480376

18 Май, 14:41 #95 #480200

>>480156
Именно. И ООП здесь нахуй не упало.

Ответы: >>480209

18 Май, 14:50 #96 #480205

>>480156
И где тут наследование?

Ответы: >>480209

sage 18 Май, 15:00 #97 #480209

>>480200
>воспринимается как объект с присущими ему свойствами
>me.take(iron)
>me.doIron(shirt)
>ООП здесь нахуй не упало
Ты странный.
>>480205
ООП != наследование. Не надо путать принципы ООП с самим ООП.

Ответы: >>480214, >>480216

18 Май, 15:05 #98 #480213

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

Ответы: >>480217, >>480220, >>480244

sage 18 Май, 15:07 #99 #480214

>>480209
Вот вам пример некоего вымышленного языка с тремя принципами ООП, но без объектов (только с примитивами):
1. Полиморфизм:
int sum(int x1, int x2);
double sum(double x1, double x2);
Правда, это ad-hoc полиморфизм, но раз в формулировке это не учтено, то не ебет.

2. Инкапсуляция:
module jopa;
int sum(int x1, in x2);
//...

import jopa;

3. Наследование:
module sraka extends jopa;
//...
double sum(double x1, double x2);

Принципы есть, объектов нет, как и ООП.

А вот вам ООП без принципов:

class Yoba {
int add(int x);
double add(double x); //compilation error (полиморфизма нет)
};

class Yoba {
int x;
private: //syntax error (все поля публичные, нет инкапсуляции)
};

class Peka extends Yoba //syntax error (наследования нет)

Объекты есть, принципы ООП отсутствуют.

18 Май, 15:08 #100 #480216

>>480209
Не вижу принципиальной разницы между take( person, iron ) и person.take( iron ).
>Не надо путать принципы ООП с самим ООП
Как это? ООП не соответствует собственным принципам? В твоем примере про утюг, должен ли я наследовать электрический утюг от угольного? Раньше я пользовался угольным, и не хочу сильно менять код.

Ответы: >>480218, >>480221, >>480643

sage 18 Май, 15:09 #101 #480217

>>480213
>список
>не используя указателей
Кастуй указатели к int и храни как int. Не забудь при этом воткнуть в попу дилдак с пупырышками и встать под 43.5 градуса к горизонту.

sage 18 Май, 15:11 #102 #480218

>>480216
Во-первых, смотри пример выше по поводу ООП без принципов и принципов без ООП.
Во-вторых, я лично думаю как "объект Я берет объект УТЮГ", а не "вызывается действие взять со МНОЙ и УТЮГОМ".

Ответы: >>480643

44 Кб, 540x400

sage 18 Май, 15:15 #103 #480220

>>480213
Вот тебе изображение графа. Можешь считать его в один объект с помощью любой доступной библиотеки. Никаких указателей ты не увидишь при этом, скорее всего.

sage 18 Май, 15:16 #104 #480221

>>480216
Алсо,
>наследовать электрический утюг от угольного
Вот это точно неправильно. В лучшем случае они оба наследуются от абстрактного утюга, но набор действий и свойств у них будет существенно отличаться, например, чтоб юзать угольный, надо накалить угли, а электрический для использования надо воткнуть в розетку. Тем не менее, общие свойства и методы у них остаются, как и "дочерние объекты" - есть вес, температура, действие "разглаживание одежды", дочерние объекты "ручка", "подошва" (или как там днище у них называется).

Ответы: >>480222

18 Май, 15:21 #105 #480222

>>480221
И при чем тут тогда ООП? В императивном программировании я тоже думаю в терминах операций над данными, причем и инкапсуляция там есть и полиморфизм в виде указателей над функциями. Единственно, чего нет - это наследование. Вот я и спрашиваю, что такого дает наследование?

Ответы: >>480230

sage 18 Май, 15:33 #106 #480230

>>480222
При том, что у тебя есть объекты.
>Объект в программировании — некоторая сущность в виртуальном пространстве, обладающая определённым состоянием и поведением, имеющая заданные значения свойств (атрибутов) и операций над ними (методов). Как правило, при рассмотрении объектов выделяется то, что объекты принадлежат одному или нескольким классам, которые определяют поведение (являются моделью) объекта.
Заметь, ни слова про принципы тут нет. И про наследование в том числе.

Ответы: >>480242

18 Май, 15:52 #107 #480242

>>480230
>некоторая сущность в виртуальном пространстве, обладающая определённым состоянием и поведением, имеющая заданные значения свойств (атрибутов) и операций над ними (методов)
Под это определение подходит вообще все что угодно. Структуры в сишечке, получается - тоже объекты.

Ответы: >>480249

18 Май, 15:54 #108 #480244

>>480213
Используй индексы элементов вместо указателей.

sage 18 Май, 16:10 #109 #480249

>>480242
>Структуры в сишечке, получается - тоже объекты.
Так и есть, вообще-то. ООП в Си было еще до того, как ты родился. C++ просто сахарку туда добавил.

Ответы: >>480256

18 Май, 16:25 #110 #480256

>>480249
>Так и есть, вообще-то
Скорее наоборот - ООП просто не существует. Это чисто умозрительная вещь без формального определения, ведь объектами можно назвать все что угодно, соответственно любое программирование будет "объектно-ориентированным".

Ответы: >>480283, >>480612

50 Кб, 640x446

sage 18 Май, 17:14 #111 #480283

Вот этот >>480256 в целом прав. Хотя, конечно, с синтаксисом того же хачкиля труднее выражать концепцию объектов со свойствами и методами, но наверное можно, если очень постараться.

18 Май, 18:42 #112 #480320

Уже джва года угораю по крестам. Написал прогу.
http://ideone.com/CpZaEe

Суть такова:
Класс парсит текстовый файл вида
Точка: Инфа 1
Точка: Инфа 2
Точка: Инфа ...
Точка: Инфа n
доставая инфу, находящуюся после лексемы "Точка: ".

Каков шанс, что меня возьмут на работу кодером. И если возьмут, то на какую должность и оклад? Ответы желательно обосновывать.

Ответы: >>480327, >>480359, >>480614, >>480662

18 Май, 18:55 #113 #480327

>>480320
Лолблять. Это уровень лабы первого курса.
Так что если и возьмут куда, то только полным стажером.
Олсо учти, что комментарии на русском часто считаются зашкваром (от конторы зависит). Названия же переменных и методов вроде "Chislo" - 100% зашквар.

Ответы: >>480330, >>480331, >>480333, >>480627

18 Май, 19:01 #114 #480330

>>480327
>Названия же переменных и методов вроде "Chislo"
Почему?

Ответы: >>480332, >>480335

18 Май, 19:01 #115 #480331

>>480327
Да и от стажеров обчно как можно больше требуют. Те же Qt/Boost, например.

18 Май, 19:02 #116 #480332

>>480330
Большинство компаний рассчитаны на международное сотрудничество и твой код могут отправлять доделывать индусам, китайцам, австралийцам и т.п.

Ответы: >>480334

18 Май, 19:03 #117 #480333

>>480327
Как же комментарии читать, если они не на русском?

18 Май, 19:03 #118 #480334

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

sage 18 Май, 19:04 #119 #480335

>>480330
Потому что.
Если ты знаешь английсикй - то и называй все на нем, просто для единообразия и лучшей читаемости (нормальный английский читается куда лучше транслита же).
Если не знаешь - ну что ж, программировать можно и без знания английского, но это ОЧЕНЬ большой минус. Если не на 1С писать собрался.

18 Май, 19:04 #120 #480336

>>480140
>Люди не думают категориями команд или функций
Ну да, они думают про байты, портянки <си<плюс<плюс<говна>>>>, и сегфолты

Ответы: >>480359

18 Май, 19:07 #121 #480337

>>480141
>Нахуя тебе два парсера для коммандной строки уебок тупой? НИНУЖНА КУКАРЕКУ НИНУЖНА
Ясно

>>480144
>создаешь сколько тебе нужно копий объекта
То есть надо ещё пердолиться с ручным копированием, хотя оно должно быть по умолчанию.

Ответы: >>480356

sage 18 Май, 19:49 #122 #480356

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

>>480337
>То есть надо ещё пердолиться с ручным копированием, хотя оно должно быть по умолчанию.
Какое еще ручное копирование? Ты знаешь что такое оператор копирования? Ты можешь создать копию options_description? В чем вообще может быть пробема создать копию объекта?

sage 18 Май, 19:56 #123 #480359

>>480336
О, маня, ты снова с нами? Вырвал фразу из контекста, молодец.
>>480320
Обоссал. Таким даунам даже гостевухи нельзя давать писать.

Ответы: >>480430, >>480627

18 Май, 20:16 #124 #480376

>>480156
Мань, в с++ классы - это просто структуры, которым описали, как нужно быть классом (долеплять this к 1му аргументу и проверять чтобы типы совпадале при конпеляции) и фсё! Больше ничего нет. Код, сгенерированный в итоге - это машинный понос, поток команд и байтов, которые ничего не значат, но посколько до компеляции у всего этого говна была структура она слабо-вяло как-то умудряется работать. Но! Для этого нужно, чтобы невыхождение за пределы этой мниной, теперь уже, структуры соблюдалось по математическому доказанию. А это невозможно, ну хотя бы потому, что по дефолту я могу *( 0) = "hui"; и меня никто от этого не остановит. С++ реально оочень заёбистый язык. Он оочень ебёт мозги, вот я знаю профессора, так он так же думает.

Ответы: >>480384, >>480394

18 Май, 20:20 #125 #480377

Кароче сап аноны. Решил написать проектик с красивым интерфейсом. Порекомендуйте что-нибудь в качестве либ или фримворка для кросплатформенного гуя, чтобы можно было выводить красиво шрифтик, ну и там рисовать кнопочки, всё такое (но сразу скажу по-настоящему требуется только отрисовка текст + картинки и больше особо ничего)

Ответы: >>480386, >>480387, >>480435

sage 18 Май, 20:36 #126 #480384

>>480376
Я тоже на 1 курсе не все в крестах понимал. Это нормально, не переживай.

Ответы: >>480451

sage 18 Май, 20:36 #127 #480386

>>480377
HTML+CSS+JS.

18 Май, 20:37 #128 #480387

>>480377
Qt, прости господи.

18 Май, 20:48 #129 #480394

>>480376
> Код, сгенерированный в итоге - это машинный понос, поток команд и байтов
Что-то проиграл с этого. Хачкель, наверное, магией выполняется.

Ответы: >>480401, >>480451

sage 18 Май, 20:54 #130 #480401

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

18 Май, 21:32 #131 #480430

>>480359
>Обоссал. Таким даунам даже гостевухи нельзя давать писать.
Поясни, что не так?

Ответы: >>480447

18 Май, 21:36 #132 #480435

>>480377
C++ Builder XE8 - FireMonkey.
FireMonkey (FMX) — GUI-библиотека, использующая возможности графического процессора. Является кроссплатформенной: поддерживаются Windows, Mac OS, Apple iOS и Android.

sage 18 Май, 21:51 #133 #480447

>>480430
Табы вместо пробелов, транслит в названиях переменных, ничего не говорящие названия переменных (типа S1), комменты на русском, комменты там, где они на хуй не нужны, использован билдер, нет пробелов между операторами и операндами. Дальше даже читать не могу, глаза вытекают. За такой код в любой фирме будут пиздить палками, пока не научишься писать нормально, а вероятнее сразу выгонят.

Ответы: >>480471

18 Май, 21:56 #134 #480451

>>480384
Но у меня большой опыт работы с крестами, потому и говорю - говно он.
>>480394
Нет метаинфы, нет никаких проверок, вообще ничего. Когда-то это было круто, но сейчас у редкой машины найдёшь меньше 1 гб оперативы, поэтому юзлесс говно без задач. Ах да с++ - самый уязвимый язык, чуть что он переполняет всю хуйню и пиздец: роп, кладбище, пидор.

Ответы: >>480459

sage 18 Май, 22:07 #135 #480459

>>480451
>большой опыт работы с крестами
Сколько лет? Какие проекты?

18 Май, 22:07 #136 #480460

крестаны, подскажите 1с-гуманитарию
есть dll - com-копонента написанная на с++ и скомпилированная в начале 2000х, при попытке подключения на свежую 1с-платформу говорит что интерфейс не поддерживается

есть описание правильного интерфейса, который сейчас актуален

можно ли написать обертку вокруг этой dll, и запихнуть это все в новую dll, зарегить как com-объект и юзать?

18 Май, 22:13 #137 #480471

>>480447
>Табы вместо пробелов
Они лучше видны.

>транслит в названиях переменных
Нет, блять, лучше уж всякие lpsz и т.п. ебучая хуита.

>ничего не говорящие названия переменных (типа S1)
Там комментарий стоит.

>комменты на русском
На японском их штоле писать?

>комменты там, где они на хуй не нужны
От коменттов хуже не будет.

>использован билдер
Он тебе чем не угодил?

>нет пробелов между операторами и операндами
Есть, просто не везде. Где текста немного их можно и не ставить.

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

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

Ответы: >>480488, >>480544, >>480641

sage 18 Май, 22:21 #138 #480488

>>480471
>Они лучше видны.
Мы вам перезвоним.
>Нет, блять, лучше уж всякие lpsz и т.п. ебучая хуита.
http://c2.com/cgi/wiki?GoodVariableNames
>Там комментарий стоит.
Это уродское решение, каждый раз искать этот комментарий, чтобы посмотреть, что делает переменная. См. предыдущий пункт.
>На японском их штоле писать?
Белые люди пишут на английском. Даже в самых обоссанных пидорашьих конторах.
>От коменттов хуже не будет.
Будет. Это показывает твою некомпетентность и неспособность отличить, где нужен комментарий, а где нет. Перезвоним, короче.
>Он тебе чем не угодил?
Тем, что это говно нигде не используется, кроме усть-задрищенских шараг, застрявших в 80-х.
>Есть, просто не везде. Где текста немного их можно и не ставить.
Можно вообще все в одну строчку писать для экономии места. Нам ведь главное место сэкономить на жестком диске (блять, пишу и ржу на всю комнату), а не читаемый код написать.
>Твои проблемы. У нормальных людей всё читается.
Ясно-понятно. Даже не пытайся куда-то устраиваться на работу, обоссут так, что до старости будет вонять.
>Охуеть аргумент.
Но это на самом деле так. Твоя шарага не имеет ничего общего с реальным миром, проснись.

Ответы: >>480641

18 Май, 23:06 #139 #480544

>>480471
Боб Мартин «Чистый код».
За всю вот эту хуйню, что ты городишь, он тебе нормально пояснит. Пока не прочитаешь — будешь сидеть без работы (мы вам перезвоним).
Могу порекомендовать еще Александреску C++ Coding Standards: 101 Rules, Guidelines, and Best Practices

19 Май, 04:12 #140 #480612

>>480256
> Скорее наоборот - ООП просто не существует. Это чисто умозрительная вещь без формального определения, ведь объектами можно назвать все что угодно, соответственно любое программирование будет "объектно-ориентированным".
У понятия ООП был когда-то смысл, да умер.
http://loup-vaillant.fr/articles/deaths-of-oop

Ответы: >>480630

19 Май, 04:57 #141 #480614

>>480320
Все очень плохо.
1. Русский вместо языка.
2. Ни о чем не говорящие названия переменных.
3. Ручное управление памятью, delete вот это все.
4. Тесты к этому в принципе не прикрутишь.
5. И, главное: нихуя не понятно, что делает этот код. Вижу набор буковок, не вижу алгоритм. Код должен читаться, как текст на английском, а у тебя какая-то обфускация.

Кароч, читай Боба Мартина "Agile principles patterns and practices" и серию "C++ in depth".

Ответы: >>480627

19 Май, 07:40 #142 #480627

>>480614
>>480359
>>480327
А сами то вы, ребята, где работаете и главное за сколько? Свободные копья могут не отвечать, я сам всё пойму лол

19 Май, 08:02 #143 #480630

>>480612
>У понятия ООП был когда-то смысл, да умер
Странно, что оно вообще взлетело. Ведь ООП в классическом варианте с наследованием предполагает построение универсальной иерархической модели данных программы. А как нам подсказывает реляционное исчисление, такая модель в принципе существовать не может. Это еще сам Страуструп признал на одной из ранних конференций по базам данных - ООП с реляционной моделью не дружит. При этом у реляционной модели есть математический базис, а у ООП - нет. Но тогда из этого вывод никто не сделал, вот и мучаются до сих пор.

Ответы: >>480640, >>480644, >>480645

sage 19 Май, 08:36 #144 #480640

>>480630
>мучаются до сих пор
Ага, не то что безработные борщехлебы.

Ответы: >>480642

19 Май, 08:46 #145 #480641

>>480471
Кароч писать надо нормально (либо прогоняй код через аккуратно-кодо-пробело-табо-расставитель лол перед сдачей, ахуенный хак базарю, переименовать переменные тоже можно в осмысленные, а не просто в быстро печатаемые)
Код и так ебанёшься штука.
>>480488
Сам то ты где работаешь? И за сколько.

19 Май, 08:48 #146 #480642

>>480640
Понятно, что чем хуже спроектирована система, тем больше у всех проблем, больше работы, больше рабочих мест, выше занятость, лучше для экономики. Но это не путь прогресса. Олсо ФП - далеко не серебряная пуля, и отказываться от мутабельности вообще - не самая лучшая идея, я считаю.

19 Май, 08:50 #147 #480643

>>480216
> Не вижу принципиальной разницы между take( person, iron ) и person.take( iron )
Код однохуйствененн лол, с точки зрения конечного скомпилированного.
>>480218
Маня! Мань. Но анон выше всё написал ужасно правильно, на вход функции классов получают 1м аргументом, ВНИМАНИЕ, this. Представь себе. Откуда ты думаешь он там? Конпелятор неявно добавляет туда этот нехитрый указатель.

Ответы: >>480655

19 Май, 08:52 #148 #480644

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

19 Май, 08:54 #149 #480645

>>480630
> Но тогда из этого вывод никто не сделал, вот и мучаются до сих пор.
Ну почему же мучаются. В языки (не в С++) завели интерфейсы, типажи, примеси, так что наследование — не единственный вариант полиморфизма.

Ответы: >>480650, >>480654

19 Май, 09:02 #150 #480650

>>480645
>В языки завели и продолжают завозить
Это я имел в ввиду под "мучаться".
>наследование — не единственный вариант полиморфизма
Это уже во времена создания джавы было понятно, поэтому там полиморфизм описывается через интерфейсы.

19 Май, 09:17 #151 #480654

>>480645
>В языки (не в С++) завели интерфейсы, типажи, примеси
В С++ это все и так есть. С виртуальным наследованием и CRTP можно делать любые подобные штуки.

sage 19 Май, 09:18 #152 #480655

>>480643
Блять, ты тупой совсем? Мы говорим о коде, сука, о том, что человек пишет, а не о компиляторе. Компилятор в итоге все в нолики и единички превращает, даже твой хачкиль или на чем ты там пишешь.

Ответы: >>480736

19 Май, 09:39 #153 #480662

>>480320
Эй, байтушня, сравни
[code lang="scala"]import scala.io.Source

object Main extends App {
\tdef parse(source: Source) = {
\t\tval regex = "^Точка: (.*)$".r
\t\tsource.getLines.collect {
\t\t\tcase regex(data) ⇒
\t\t\t\tdata
\t\t}
\t}
\t
\tval source = Source.fromFile("123.txt")
\tparse(source).foreach(println)
}[/code]

Ответы: >>480666, >>480669, >>480943

19 Май, 09:42 #154 #480666

>>480662
http://pastebin.com/kybRUu5d

Ответы: >>480943

19 Май, 09:52 #155 #480669

>>480662
Что сравнивать то? Содержание функции fromFile с её вызовом? Да, при вызове будет меньше кода, ты прав.

Ответы: >>480672

19 Май, 09:52 #156 #480670

Доброго времени суток плюсаны. Есть среди вас добрые аноны которые могут помочь в С++? Писать ничего не прошу объяснить какие то общие вопросы ответы на которые не смог нагуглить или нагуглил но без посторонней помощи не смогу понять. Постучите в still_runner или напишите свой. Спасибо добрый и отзывчивый анон!

19 Май, 09:53 #157 #480672

>>480669
Нечитабельную портянку с человеческим кодом

Ответы: >>480674

19 Май, 09:55 #158 #480674

>>480672
А ты разверни fromFile. Мб там побольше кода будет чем в портянке.

Ответы: >>480675

19 Май, 09:58 #159 #480675

>>480674
Чмоша, ifstream, AnsiString уже развернул?

Ответы: >>480680

sage 19 Май, 09:59 #160 #480676

[code lang="cpp"]
#include <QtCore>

int main(int argc, char argv)
{
QStringList sourceLines = QString("Точка: 123\r\nТочка: \r\nТочка: yoba").split("\r\n");
QRegExp rx("^Точка: (.*)$");
foreach (const QString &line, lines) {
if (rx.indexIn(line) >= 0)
qDebug() << rx.cap(1);
}
return 0;
}
[/code]

Ответы: >>480678, >>480679, >>480680, >>480943

sage 19 Май, 10:02 #161 #480678

>>480676
Бля, чет скрипт глюканул.
http://pastebin.com/ishaFx1W

Ответы: >>480943

19 Май, 10:06 #162 #480679

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

19 Май, 10:06 #163 #480680

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

>>480676
Тебя это тоже касается.

Дельцы такие, ппц. Вы все условия задачи соблюдите, кода то и поприбавится. И да, 30% кода там для отладки, просто не удалил когда постил.

Ответы: >>480681, >>480683

19 Май, 10:08 #164 #480681

>>480680
>А ты то дохуя погромист, мог бы и без них обойтись?
>А ты то дохуя погромист, мог бы и без операционной системы обойтись?
>А ты то дохуя погромист, мог бы и без компьютера обойтись?
Нет, мартышка, понимаешь, если ты пишешь портянки байтоговна, когда это делается одним вызовом стандартной библиотеки, то ты не программист а петух.

sage 19 Май, 10:23 #165 #480683

>>480680
>эти оправдания байтослесаря
Найс. Вот тебе с файлом:
http://pastebin.com/t4Bui9mJ

Ответы: >>480684, >>480685

19 Май, 10:28 #166 #480684

>>480683
>.readAll().split("\r\n")
Атятя а если файл 4 Гб?

Ответы: >>480688

19 Май, 10:29 #167 #480685

>>480683
Ну спасибо антош, пойду преподу покажу.
:3

Ответы: >>480693, >>480700

sage 19 Май, 10:34 #168 #480688

>>480684
http://pastebin.com/rc6sDad6

19 Май, 10:42 #169 #480693

>>480685
Надеюсь, препод попросит тебя пояснить за регулярки, и ты обосрешься.

Ответы: >>480702

sage 19 Май, 11:20 #170 #480700

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

Ответы: >>480702

19 Май, 11:41 #171 #480702

>>480693
>>480700
А я вас затралил что студент. На самом деле я просто бидлокодер.
:3

Ответы: >>480703, >>480709

255 Кб, 600x1081

19 Май, 11:42 #172 #480703

>>480702

19 Май, 12:11 #173 #480709

>>480702
Маским?

Ответы: >>480712

384 Кб, 1280x1024

19 Май, 12:25 #174 #480712

>>480709
Нееет

Ответы: >>480719

sage 19 Май, 12:42 #175 #480719

>>480712
Пидора ответ. Что характерно, я в пиздежь про лабу не поверил. Здешние шаражники до такого хитрого плана бы не додумались.
480688-кун

19 Май, 13:40 #176 #480736

>>480655
А я тебе говорю о том, что код - полная хуйня, единственная его задача это превращатся в машинные комманды и быть при этом достаточно удобочитаемым и юзабельным для человека. С++ очень хуёво читается и поэтому он говно.

19 Май, 14:42 #177 #480762

Поясните аутисту:
Есть prog.h, prog.cpp, some_class.h, some_slass.cpp.
В some class используются структуры из prog.h, как их правильно подключить?
Как правильно подключить some_class к prog?

Ответы: >>480769

19 Май, 14:54 #178 #480769

>>480762
Обычным инклудом или использовать forward declaration.
Прозреваю, что ты забыл защиту от повторного включения.

Ответы: >>480770

19 Май, 14:58 #179 #480770

>>480769
Нет, я юзаю #pragma once для хедеров. Можешь чуть подробнее расписать?
Сейчас prog.h инклудится в prog.cpp и some_class.h, но резолвится не все.

Ответы: >>480774

19 Май, 15:03 #180 #480774

>>480770
Выкинь сырцы куда-нибудь? Хуй знает чего у тебя там.

Ответы: >>480777

19 Май, 15:14 #181 #480777

>>480774
Извини, я обосрался с флагом -nostartfiles.
Все теперь работает, спасибо.

19 Май, 17:42 #182 #480828

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

Ответы: >>480830

19 Май, 17:48 #183 #480830

>>480828
Ну хуй знает, попробуй:
http://en.wikipedia.org/wiki/Ch_%28computer_programming%29
А нафига оно тебе? Не проще какой-нибудь скриптовый язык для этого использовать?

Ответы: >>480831

19 Май, 17:52 #184 #480831

>>480830
Сорт оф движок, а в рекурсивный алгоритм я не могу.

Ответы: >>480833

19 Май, 17:56 #185 #480833

>>480831
Какой ещё рекурсивный алгоритм? Для движка можно взять какой-нибудь Lua.

Ответы: >>480834

19 Май, 17:57 #186 #480834

>>480833
Чот я тупанул.

19 Май, 19:53 #187 #480907

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

Ответы: >>480908, >>480916, >>480919

19 Май, 19:54 #188 #480908

>>480907
http://wolframalpha.com

Ответы: >>480909

19 Май, 19:55 #189 #480909

>>480908
Я пытаюсь найти свой путь, Стивен мне тут не поможет.

19 Май, 20:10 #190 #480916

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

19 Май, 20:11 #191 #480919

>>480907
Посмотри в сторону готовых библиотек для символьных вычислений:
http://www.ginac.de/
http://issc.uj.ac.za/symbolic/symbolic.html
http://viennamath.sourceforge.net/
http://muparser.beltoforion.de/

19 Май, 20:47 #192 #480943

>>480662
>>480666
>>480676
>>480678
Перепись регуляркопидоров итт

19 Май, 21:22 #193 #480971

Стилистический вопрос по С.
Я загружаю функции из dll. Говнокод ли объявлять глобально указатели на них?
Как вообще это красиво оформлять в проектах?

Ответы: >>481152

19 Май, 23:51 #194 #481132

[CODE]
template<typename T, typename... R>
A<T> func(R&&... args);

template<typename T>
class A
{
template<typename U, typename... R>
friend A<U> func(R&&... args);

...
};
[/CODE]

Можно так. А теперь я хочу, чтобы для класса другом была та функция, у которой первый тип совпадает с типом класса, что-то типа такого:

[CODE]
template<typename T, typename... R>
A<T> func(R&&... args);

template<typename T>
class A
{
template<typename... R>
friend A<T> func<T, R...>(R&&... args);

...
};
[/CODE]

Чо делать?

Ответы: >>481147, >>481168

20 Май, 00:02 #195 #481147

>>481132
Менять архитектуру.
В крестах нельзя задавать частичную специализацию для функций.

Ответы: >>481156

20 Май, 00:04 #196 #481152

>>480971
Ну хуй знает, я бы запилил что-нибудь типа:

#ifdef YOBA_LIB_MACRO
#define MY_FUNC_PTR_1 ...
#define MY_FUNC_PTR_2 ...
#endif

20 Май, 00:07 #197 #481156

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

Ответы: >>481166

20 Май, 00:17 #198 #481166

>>481156
> какие потенциальные дырки ты видишь в такой архитектуре?
Главная дырка – нарушение инкапсуляции.

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

> не перестаю верить, что решение есть
Можно попробовать запилить какую-нибудь перегрузку, но изъёбов меньше не станет.

> функция задает правило для конструирования объекта
Может быть ей нужно быть статическим методом?

Ответы: >>481173

20 Май, 00:19 #199 #481168

>>481132
Это в прошлом треде заливал код со страшной фабрикой?

Ответы: >>481169, >>481175

20 Май, 00:20 #200 #481169

>>481168
> Это ты
быстрофикс

20 Май, 00:25 #201 #481173

>>481166
friend'ы - нарушение инкапсуляции? Чего?
>Частичная специализация позволяет частично настроить код шаблона для определенных типов
Здесь преследуются совершенно иные цели.
На самом деле пилится make_shared. Да, надо сделать статический метод и обернуть его в make_shared, отличная идея, спасибо.

Ответы: >>481183, >>481189

20 Май, 00:28 #202 #481175

>>481168
Хотя нет, идея не очень, я не хочу, чтобы эти кишки наружу торчали.
>>481168
Не, не я.

20 Май, 00:52 #203 #481183

>>481173
> friend'ы - нарушение инкапсуляции? Чего?
А как тогда назвать конструкцию, которая позволяет обращаться к закрытым членам класса и при этом сама не является частью класса?

> На самом деле пилится make_shared
> задается ограничение на права пользования
Что за ограничения в make_shared?

Ответы: >>481188, >>481295, >>481300

20 Май, 00:57 #204 #481188

>>481183
То есть, я правильно понял, что friend'ы по-твоему - деприкатед? Это же сущая дичь.
Да я ж говорю, чтобы make_shared типа A ненароком не залез в shared_ptr типа B, в первом куске кода такое возможно, я пока не думал, кем нужно быть, чтобы такое сделать, но там на это явного запрета в коде нет, а я хочу, чтобы был, просто чтобы был. Ладно, чего-то лучше самому подумать.

Ответы: >>481194, >>481198

20 Май, 00:57 #205 #481189

>>481173
Хотя тут тоже используется friend-функция allocate_shared, которая вызывает private конструктор, которому передаётся тег, который говорит, что конструктор вызывается из make_shared охуеть, блять:
https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/bits/shared_ptr.h

Ответы: >>481192, >>481197, >>481201

20 Май, 00:59 #206 #481192

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

20 Май, 01:00 #207 #481194

>>481188
> friend'ы по-твоему - деприкатед? Это же сущая дичь.
Ну хуй знает, довольно специфичная вещь, хотя libstdc++ во всю их использует.

20 Май, 01:02 #208 #481197

>>481189
Они настолько же deprecated, насколько прямой доступ к памяти с голыми укзателями небезопасны. То есть с одной стороны вроде так и есть, а с другой - зачастую ими сделать что надо тупо проще и проблем не вызовет никаких (если разумно делать).

Ответы: >>481198, >>481201, >>481280

20 Май, 01:03 #209 #481198

>>481197
>>481188

20 Май, 01:07 #210 #481201

>>481189
Да тут всё по калу сделано, как в первом варианте, значит это норма.
>>481197
Не, ну ясное дело, что лепить их надо в меру и по возможности сужая их круг видимости до того, что им действительно нужно. В самом деле, порой сделать 10 классов-хелперов, запутать все наследованием или ещё какими костылями для модифицируемости кода может быть гораздо хуже, чем такая хрень, ладно, пустой разговор в общем.

Всем спасибо.

20 Май, 09:51 #211 #481280

>>481197
А всё потому, что в крестах нет package-local видимости.

20 Май, 11:08 #212 #481295

>>481183
>А как тогда назвать конструкцию, которая позволяет обращаться к закрытым членам класса и при этом сама не является частью класса?
Костыль при отсутствии нормальной модульности. Инкапсуляция - это не ограничение к доступу полей класса, а вообще произвольное ограничение видимости. В С++ модулей нет, и нет возможности управлять видимостью на уровне модулей, поэтому в язык и добавили friend.

Ответы: >>481514

20 Май, 11:37 #213 #481300

>>481183
> и при этом сама не является частью класса
Она объявляется внутри класса, значит является частью класса.

Ответы: >>481514

20 Май, 16:34 #214 #481514

>>481300
В тех же исходниках libstdc++ weak_ptr является friend-ом у shared_ptr. Значит ли это, что weak_ptr является частью shared_ptr? Или это утверждение распространяется только на функции? Если friend функция является частью класса, то почему я не могу обратиться к ней как к методу?

>>481295
> нет возможности управлять видимостью на уровне модулей, поэтому в язык и добавили friend.
Не очень понимаю, как это связано?

Ответы: >>481649, >>481655

20 Май, 18:33 #215 #481649

>>481514
>Не очень понимаю, как это связано?
В С++ нет возможности сказать: эти классы принадлежат к одному модулю, и имеют приватный доступ друг к другу.

20 Май, 18:38 #216 #481655

>>481514
> Значит ли это, что weak_ptr является частью shared_ptr?
Синтаксически да. Точно такого же результата можно было добиться объявив weak_ptr вложеным классом в shared_ptr, сделав его при этом публичным. Но это не слишком удобно в плане композиии кода, поэтому их объявили как отдельные сущности, связав вместе одной строчкой. Другое дело что никакого как бы смысла в том что weak_ptr является частью shared_ptr нет, по своей сути он не является его частью, просто такой синтаксический трюк чтобы упростить код.

Работа со строками и файлами Son1Q 20 Май, 20:02 #217 #481720

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

Ответы: >>481725, >>481734, >>481745, >>481918, >>481925

20 Май, 20:10 #218 #481725

>>481720
В шапке же сказано, что дауны с лабами идут на хуй, долбоёб.

sage 20 Май, 20:17 #219 #481734

>>481720
Ну так что же ты не пишешь, раз НУЖНО?

sage 20 Май, 20:28 #220 #481745

>>481720
[code lang="cpp"]
const char Symbol = 'X';
QStringList lines = BDirTools::readTextFile("/path/to/file", "UTF-8").split(QRegExp("\r?\n+"), QString::SkipEmptyParts);
QtConcurrent::filter(lines, [](const QString &s){return s.startsWith(Symbol) && s.endwSith(Symbol);}).wait();
qDebug() << lines.size();
[/code]

Ответы: >>481746, >>481748

sage 20 Май, 20:29 #221 #481746

>>481745
>s.endsWith
почин

sage 20 Май, 20:31 #222 #481748

>>481745
>.waitForFinished();
Конечно же.

20 Май, 23:55 #223 #481918

>>481720
[code lang="scala"]Source.fromFile("allah.txt")
.getLines
.filter(line => line.head == '#' && line.last == '#')
.size
[/code]

21 Май, 00:02 #224 #481925

>>481720
338. Войска, назначаемые для отдания воинских почестей при погребении, составляют почетный эскорт.

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

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

340. Почетный эскорт назначается в следующем составе:

при погребении солдат (матросов), сержантов (старшин) и прапорщиков (мичманов) — отделение, взвод или соответствующее им подразделение;

при погребении офицеров, а также военнослужащих и граждан, удостоенных звания Героя Советского Союза, Героя Российской Федерации, награжденных орденом Славы трех степеней, — взвод, рота или соответствующее им подразделение.

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

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

341. Кроме почетного эскорта на погребение назначаются:

оркестр;

почетный караул к гробу;

* солдаты или матросы для опускания гроба в могилу (8 — 10 человек) без оружия под командой сержанта (старшины).

Для перевозки гроба с телом покойного выделяется автомобиль или лафет орудия.

Для несения орденов и медалей назначается по одному человеку на каждую подушечку с орденом или с медалями, причем при погребении офицеров для этого назначаются офицеры, а при погребении прапорщиков (мичманов), сержантов (старшин) и солдат (матросов) — прапорщики (мичманы), сержанты (старшины) или солдаты (матросы).

Каждый орден прикрепляется к отдельной подушечке. Медали могут прикрепляться по нескольку на одной подушечке.

На крышке гроба прикрепляется головной убор, а для военнослужащих Военно-Морского Флота (кроме военнослужащих срочной службы) и кортик умершего.

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

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

21 Май, 00:18 #225 #481933

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

Вопрос такой, почему если закомментить invoke MessageBoxA, то код работает?

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

FASM

http://pastebin.com/bRUsyeTP

Ответы: >>481940

21 Май, 00:37 #226 #481940

>>481933
Вопрос снят.
Обосрался с размерами регистров.
Должно быть pop eax.

А то он со стека по 2 байта снимал.
В то время как push 7, например, добавляет в стек 4 байта.

Соррян, затупил.
В пизду уроки на 16 битных системах

34 Кб, 885x604

13 Кб, 548x448

Помощь с лабой Студент-лох 21 Май, 01:08 #227 #481950

Нужна помощь!!!
Задание в унике (иначе отчислен):
Сдвинуть биты в каждом байте циклически вправо на
случайное число N из диапазона 0..7
Пример:
0xDEADBEEF
0xB76BAFFB
(N = 2)
Как мне объясняли толковые люди нужно:
1) зарандомить число от 0-7
аля
srand(time(NULL));
unsigned int shift = rand() & 7;
2) ввести число и сдвинуть его побитово на вправо на 7
3) далее нужно sizeof инта * на какое-то число и применить операцию или (вроде побитовое или)
В общем есть идеи по коду, советы, подсказки?
На пиках рабочий код, но мне нужно его сократить.
(убрать указатели, использовать хотя бы 1 функцию или желательно все сделать в main'е. В общем сделать очень простой и читаемый код.)

Ответы: >>482011, >>482033

sage 21 Май, 08:44 #228 #482011

>>481950
>иначе отчислен
Слава Аллаху, одним дегенератом меньше.

21 Май, 09:56 #229 #482033

>>481950
> На пиках рабочий код, но мне нужно его сократить.
Так что же ты не делаешь, раз нужно? За работу, маня

21 Май, 11:33 #230 #482062

Какого хуя Visual Studio десятого года не может в циклы? Почему он их пропускает при отладке, как это чинить?

Ответы: >>482063, >>482066

21 Май, 11:35 #231 #482063

>>482062
>десятого года
>да ещё и оптимизацию не отключил

Ответы: >>482068

sage 21 Май, 11:40 #232 #482066

>>482062
> Билдит в релиз
> Жалуется на оптимизацию

21 Май, 11:43 #233 #482068

>>482063
Да я просто в больнице лежу, ничего кроме ноутбука нет, а он старше моей кошки и в чем-либо более новом виснет наглухо.

21 Май, 19:37 #234 #482334

Антоны, такой вопрос. Как перегрузить операцию вызова функции так, чтобы вместо записи массива в виде massiv[xyu][pizda] можно было бы записывать альтернативную форму: massiv[xyu,pizda] ?

Ответы: >>482345, >>482444

sage 21 Май, 19:48 #235 #482345

>>482334
Neekaque. http://stackoverflow.com/questions/1936399/c-array-operator-with-multiple-arguments

Ответы: >>482407

21 Май, 21:26 #236 #482407

>>482345
Не совсем понимат. Можешь по-хардкору объяснить ? Как для битурда

Ответы: >>482418

sage 21 Май, 21:51 #237 #482418

>>482407
Хорошо, поясняю: пошел на хуй, даун.

Ответы: >>482421

21 Май, 21:54 #238 #482421

>>482418
Чому ты такой злой ? Тебя в /b/ обидели ?

Ответы: >>482497

21 Май, 22:28 #239 #482444

>>482334
massiv(x,y) не подойдёт?

Ответы: >>482455

1277 Кб, 3264x858

21 Май, 22:45 #240 #482455

>>482444
Надо именно с квадратными скобками
[a] -> [a ,b ]. Собственно, релейтед.
Антош, помоги, будь бобр.

Ответы: >>482468, >>482474, >>482511

21 Май, 23:01 #241 #482468

>>482455
Шёл бы ты нахуй со своей лабой

Ответы: >>482489

21 Май, 23:07 #242 #482474

>>482455
Кек
> лаба1
> сделайте невозможное

Ответы: >>482489

21 Май, 23:23 #243 #482489

>>482468
Ты всё ещё обижен ?

>>482474
Лаол. Представляю, что будет на втором курсе.
Алсо, это ещё и с WinApi надо запилить. Нахуя оно тут - не понятно, но НАДО.

Ответы: >>482493

21 Май, 23:25 #244 #482493

>>482489
> Алсо, это ещё и с WinApi надо запилить. Нахуя оно тут - не понятно, но НАДО.
Съёбывай с этой шараги

Ответы: >>482511

sage 21 Май, 23:32 #245 #482497

>>482421
Если кто и обижен, то ты мозгами от природы. К вашей школопомойке, именуемой /b/, я и на километр не подойду.

Ответы: >>482513

21 Май, 23:50 #246 #482511

>>482493
Я же ПРИКЛАДНИК. Должен всё уметь, ага.

>>482455
Бамп вопросу.

Ответы: >>482562

21 Май, 23:51 #247 #482513

>>482497
>К вашей школопомойке я и на километр не подойду
>Сидит на дваче
Fail.

Ответы: >>482531

sage 22 Май, 00:10 #248 #482531

>>482513
Только в этом треде.

22 Май, 00:44 #249 #482562

>>482511
> Бамп вопросу.
Там же очевидная очепятка, альтернативная форма должна выглядеть как chessBoard(row, collumn) в задании явно написано что нужно перегрузить operator() а не operator[]

64 Кб, 696x310

22 Май, 11:05 #250 #482715

Может кто скинуть пример программы, где на пустой форме рисуется линия? Visual studio 2010.
Три часа уже не могу нагуглить(
пикрандом

Ответы: >>482728, >>482786, >>482817

22 Май, 11:22 #251 #482728

>>482715
pustajaForma.narisovatLiniju();

22 Май, 13:43 #252 #482786

>>482715
> WinAPI
Бросай это дело. Я пытался осилить этот мелкомягкий говнокод, но тщетно. Надо быть настолько же альтернативно одаренным, как и его создатели, чтобы понять каким образом оно работает. Как альтернативу могу порекомендовать Qt.

Ответы: >>482793, >>482859

22 Май, 13:50 #253 #482793

>>482786
Неосилятор, WinAPI объектно-ориентированная библиотека, все там понятно. Но Qt двачую за кроссплатформенность.

Ответы: >>482832

22 Май, 14:27 #254 #482817

>>482715
> Братишка, я тебе оконынй фреймворк принес
НАХУЙ ТЫ MFC ПРИНЕС, СОВСЕМ МУДАК ШТОЛЕ?!
На WinAPI будет так: http://pastebin.com/vvgpjDJn

Ответы: >>482822, >>482839

22 Май, 14:31 #255 #482822

>>482817
Соответвенно, в MFC убери dc.TextOut(...) и добавь dc.MoveToEx(...) / dc.MoveTo(...), затем dc.LineTo(...), где объект dc используется вместо первого параметра hDC. Вот здесь есть пример с линями: http://www.firststeps.ru/mfc/steps/r.php?10

Ответы: >>485068

sage 22 Май, 14:42 #256 #482832

>>482793
>объектно-ориентированная
>процедурная дрисня
Ну-ну.

sage 22 Май, 14:48 #257 #482839

>>482817
А теперь сравни:
[code lang="cpp"]
#include <QtWidgets>

int main(int argc, char argv)
{
QApplication app(argc, argv);
QGraphicsScene scene;
scene.addLine(0.0, 300.0, 800.0, 300.0);
QGraphicsView view(&scene);
view.setFixedSize(800, 600);
view.show();
return app.exec();
}
[/code]

Ответы: >>482844

22 Май, 14:51 #258 #482844

>>482839
Преимущество еще и в том, что QGraphicsScene работает через аппаратное ускорение (DX или OGL в зависимости от системы/сборки), а вот GDI - хуй его знает, он может и через процессор все считать.

Ответы: >>482852

sage 22 Май, 14:58 #259 #482852

>>482844
Да хуй с ним, с ускорением, но с количества кода для лабы я проиграл. Одно создание окна почи как весь код на Qt:
[code lang="cpp"]
hWnd = CreateWindowExW(0,
szMainWindow, szAppTitle,
WS_OVERLAPPEDWINDOW,
GetSystemMetrics(SM_CXSCREEN) / 2 - WIDTH / 2,
GetSystemMetrics(SM_CYSCREEN) / 2 - HEIGHT / 2,
WIDTH, HEIGHT,
NULL, NULL, hInst, NULL);
[/code]

Ответы: >>482854

sage 22 Май, 15:00 #260 #482854

>>482852
И, кстати, что-то не увидел ни одного объекта, только структуры и процедурная портянка.

Ответы: >>482858

22 Май, 15:04 #261 #482858

>>482854
Да хуй с ней, с процедурной портянкой. Даже GTK+ выглядит приятней и понятней, чем это спермоговно.

22 Май, 15:08 #262 #482859

>>482786
>>482786
Я не виноват - это лаба такая, с использованием GDI сделать задание.

Ответы: >>482861, >>482862

sage 22 Май, 15:11 #263 #482861

>>482859
Объясни преподу, что это можно сделать проще и красивее. Если он не конченый старпер, то поймет.

Ответы: >>482875

22 Май, 15:13 #264 #482862

>>482859
Полезная лаба, кстати, привыкнешь к говну сейчас – проще будет работать с говном дальше.

Ответы: >>482877

22 Май, 15:32 #265 #482875

>>482861
>>482861
Препод баба, которая совершенно ничего не смыслит в программировании. К слову она кандидат психологических наук

Ответы: >>482879

22 Май, 15:34 #266 #482877

>>482862
>>482862
Но я хочу стать веб макакой, меня это мало интересует(

Ответы: >>482903

sage 22 Май, 15:40 #267 #482879

>>482875
Специально дает лабы на винапи, чтобы ты потом лечиться к ней пошел.

22 Май, 15:41 #268 #482880

Как работает логическое и (&&) в крестах? Если первое условие не выполняется, значит дальше проверка не идет?
Вот например условие (a && b && c).
Проверяется выражение 'а'. Если оно равно false, то будет ли проверяться значение b?

Ответы: >>482886, >>482908

22 Май, 15:48 #269 #482886

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

22 Май, 16:13 #270 #482903

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

Ответы: >>482918

sage 22 Май, 16:28 #271 #482908

>>482880
по 15му стандарту КРЕСТОКОМПИЛЯТОР должен эвристически вычислить наиболее оптимальную последовательность вычисления бульских значений
например гцц собирает статистику нажатия на клавиш
ведь человеку свойственно набирать false-выражения несколько медленей
вся эта информация логируется и помогает КРЕСТОКОМПИЛЯТОРУ производить самые лучшие программы в мире

Ответы: >>482913, >>482967

22 Май, 16:37 #272 #482913

>>482908
Что-то подобное и раньше было, нет?

Ответы: >>482973

sage 22 Май, 16:51 #273 #482918

>>482903
Да ладно, бэкэнд можно хоть на тех же крестах пилить, хоть на хачкеле, наверное даже не баше можно. Другое дело что HTML/CSS/JS, это да.

Ответы: >>482921

sage 22 Май, 17:05 #274 #482921

>>482918
> 2015
> бэкэнд на крестах

Ответы: >>482942, >>482963

sage 22 Май, 17:24 #275 #482942

>>482921
Почему бы и нет? На жабе же пишут.

Ответы: >>482953

sage 22 Май, 17:45 #276 #482953

>>482942
> 2015
> бэкэнд на жабе

Ответы: >>482963

22 Май, 18:06 #277 #482963

>>482921
>>482953
Когда нет аргументов, но вякнуть хочется:
> зеленый текст
[optional] лол/проиграл/ясно

22 Май, 18:20 #278 #482967

>>482908
Ну пиздец теперь

Ответы: >>482973

34 Кб, 250x250

sage 22 Май, 18:52 #279 #482973

>>482913
>>482967

24 Май, 18:23 #280 #484025

Пишу cout<<fixed<<1234.56789; выводит 1234.567890
Пишу cout<<1234.56789; выводит 1234.57
Как вывести 1234.56789?

Ответы: >>484027, >>484030, >>484033

sage 24 Май, 18:27 #281 #484027

>>484025
printf "1234.56789"

Ответы: >>484080

24 Май, 18:30 #282 #484030

>>484025
cout<<1234;<<"."<<56789;

Ответы: >>484080

24 Май, 18:32 #283 #484033

>>484025
http://ideone.com/u4PzJp

Ответы: >>484080

24 Май, 19:23 #284 #484080

Эти способы не работают если нужно вывести переменную. Нужен максимально простой и универсальный способ.
>>484027
Работает для float но не для double
>>484030
Неизвестно в каком месть точка.
>>484033
Неизвестно количество цифр в числе.

Ответы: >>484477

24 Май, 19:51 #285 #484107

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

Ответы: >>484108, >>484120

24 Май, 19:52 #286 #484108

>>484107
>инструкторов
*деструкторов

24 Май, 20:06 #287 #484120

>>484107
exit(0)

Ответы: >>484122

24 Май, 20:11 #288 #484122

>>484120
>В таком случае, все используемые программой потоки закрываются, и временные файлы удаляются, и, наконец, управление возвращается ОС или другой программе.
На закрытие потоков и удаление файлов тоже время тратится. Есть способ чтобы моментально завершалась программа? А как переопределить закрытие потоков и удаление файлов чтобы он время после выполнения этих операций выводил? Для деструкторов было легко.

Ответы: >>484139

sage 24 Май, 20:47 #289 #484139

>>484122
>Есть способ чтобы моментально завершалась программа?
Запросто:
[code lang="cpp"]
(char )0 = 0;
[/code]

Ответы: >>484145

24 Май, 21:00 #290 #484145

>>484139
А не вызывая ошибку?

Ответы: >>484170

ULTRA MEGA NANO OPTIMIZATION 24 Май, 21:45 #291 #484167

Сап, плюсач, есть один float
Какой код будете быстрее?
[code lang="cpp"]
auto t = _float / 8;
[/code]
VS
[code lang="cpp"]
auto t = static_cast< unsigned int > (_float) >> 3;
[/code]

Ответы: >>484176

sage 24 Май, 21:47 #292 #484170

>>484145
[code lang="cpp"]
#include <stdio.h>
#include <unistd.h>

char buff[10];
sprintf(buff, "%i", getpid());
std::string cmd = std::string("kill ") + buff;
system(cmd.data());
[/code]

24 Май, 21:53 #293 #484176

>>484167
где-то в статиках: float Inv8 = 1.0f / 8.0f;

auto t = _float * Inv8;

37 Кб, 588x600

Перекатился из Talks Алёна 24 Май, 23:49 #294 #484230

оспода, прошу без хэйта.
Собираюсь уволиться с работы , чтобы наконец нормально вкатиться в pr.
Но Дело в том, что у меня с постановкой задач для самого себя возникают проблемы. Почитаю книги, напишу пару прог, а дальше что-то делать мотивации не сильно хватает (в общих чертах)
В общем, ищу Ментора)

Который задаст вектор и чуть поможет советами в плане : на что обратить внимание, а на что нет.
Как то так.
спасибо)

P.S ^ C++ - язык

Ответы: >>484234, >>484396

24 Май, 23:55 #295 #484234

>>484230
Немного не туда ты пришёл, тут в большинстве студенты. Может быть, qt-пидор тебе поможет, хотя он тоже, вроде бы, в этом году выпускается. А так задавай свои ответы.

Ответы: >>484322

25 Май, 01:53 #296 #484305

Программачик, подскажи. Я такой читаю файл с помощью while ( file.read( bitword, 4 ) ). Выходит, что если в файле число байт не кратно 4, то последние байты не выводятся. Как красиво с этим разобраться?

Хочется читать именно по 4 байта, потому что цель -- посчитать 32-битную чексумму.

25 Май, 01:58 #297 #484307

Алсо, скажи, почему вот такая конструкция:

char bitword[4] = { 0 };
if ( file >> bitword )
{
std::cout << bitword << " ";
}

выводит целиком первое слово файла, если переменная заполняется всего разок и размер у нее 4 байта?

Ответы: >>484315, >>484322, >>484543

25 Май, 02:40 #298 #484315

>>484307
Ты что заполняешь-то ёпт? Ты же строку заполняешь.

Ответы: >>484316

25 Май, 02:47 #299 #484316

>>484315
Правда. Но строку ограниченной длины, все-таки. А первое слово выводится, даже если оно длиннее 4 байт.

sage 25 Май, 03:05 #300 #484322

>>484234
Сам ты пидор.
>>484307
У тебя там вообще выход за пределы массива. Гугли про массивы и указатели. Подсказка: cout ничего не знает о размере bitword, для него это просто указатель на char.

Ответы: >>484323

sage 25 Май, 03:07 #301 #484323

>>484322
Не cout, а file, конечно же.

25 Май, 03:07 #302 #484324

Вот оно как. И cin, стало быть, тоже не знает.
Тогда все понятно. Спасибо!

25 Май, 11:04 #303 #484396

>>484230
Какая область интересует?
Могу немного подсказать.
пиши на [email-masked] (jabber/mail

Ответы: >>484405

25 Май, 11:42 #304 #484405

>>484396
Спасибо за ответ.
С работы приду : напишу.

25 Май, 14:44 #305 #484477

>>484080
http://ideone.com/8rfXyY

25 Май, 14:51 #306 #484480

Винапяны, может, кто знает.

Сейчас влез в чужой проект и мне надо оценить, насколько просто и возможно изменить архитектуру иконочек.

CreateDIBitmap() винапишная может как-нибудь предоставлять Transparency?
Полную? (чтобы на картинке были невидимые области)
Частичную? (чтобы картинка была видна, но просвечивала)

Ответы: >>484497

sage 25 Май, 15:19 #307 #484497

>>484480
хз, зацени это:
https://support.microsoft.com/en-us/kb/318876/

25 Май, 15:43 #308 #484516

[code]char bitword[4] = { 0 };
if ( file >> bitword )
{
std::cout << bitword << " ";
}[/code]

тест

Ответы: >>484521

25 Май, 15:46 #309 #484521

>>484516
[code]
char bitword[4] = { 0 };
if ( file >> bitword )
{
std::cout << bitword << " ";
}
[/code]

25 Май, 15:46 #310 #484524

нихуя ваш костыль нерабоатет

Ответы: >>484525, >>484636

25 Май, 15:48 #311 #484525

>>484524
прсто ты ебанько

Ответы: >>484531

25 Май, 16:03 #312 #484531

>>484525
ссанул наротан питуху
давай рабочий пример

Ответы: >>484766

25 Май, 16:40 #313 #484543

>>484307
[code lang="java"]
InputStream stream = new FileInputStream("1.txt");
byte[] buffer = new byte[];
stream.read(buffer);
[/code]

Ответы: >>484544

25 Май, 16:41 #314 #484544

>>484543
> byte[] buffer = new byte[4];

37 Кб, 532x497

sage 25 Май, 21:03 #315 #484636

>>484524
Хули ты пиздишь. Работает не хуже чем твоя мамаша ртом.

63 Кб, 803x836

26 Май, 00:04 #316 #484766

>>484531
Всосал, аутист?

26 Май, 00:05 #317 #484767

Используется ли в реальной практике winAPI или стоит сразу идти в Qt?

Ответы: >>484783

26 Май, 00:06 #318 #484769

В классе есть 2 конструтора m(T1), m(T2). В случае NULL и nullptr должен вызываться m(T2*), как этого достичь? Пока единственная мысль: завести какой-нибудь пустой класс и передавать его фиктивным параметром. Ещё, если это поможет, один из них private, для чисто внутреннего использования, однако ошибки компиляции всё равно лезут.

Ответы: >>484771, >>484891

26 Май, 00:07 #319 #484771

>>484769
[CODE]m(T1), m(T2)[/CODE]

26 Май, 00:23 #320 #484783

>>484767
Да, в мире огромное количество легаси кода, использующего винапи. Возможно, что тебе когда-нибудь придётся покопаться в этом дерьме.

26 Май, 07:14 #321 #484850

Посоветуйте пожалуйста книжку с основами, чтобы хватило пердолить в unreal engine. Может отдельные главы или типа того.

Ответы: >>484878

26 Май, 08:32 #322 #484878

>>484850
За 21 день хочешь освоить?

Ответы: >>484931

26 Май, 08:51 #323 #484891

>>484769
Для случая с nullptr добавляешь еще один коструктор
m(std::nullptr_t nullp) : m((T2*)nullptr) {}
Я с NULL наверное нихуя не сделать, касти его к указателю на T2 или к nullptr когда передаешь в конструктор. Ну или #define NULL nullptr но таким лучше не заниматься.

Ответы: >>484946

26 Май, 08:59 #324 #484895

Анон, скажи мне, это говнокод?
[code lang="cpp"]#include <ctime>
#include <random>

using namespace std;

class NameGen{
private:
int rnd_sml, rnd_cap;
char arr[6];
const char* alphab[4] ={
{"AEIOUY"},
{"BCDFGHJKLMNPQRSTVWXZ"},
{"aeiouy"},
{"bcdfghjklmnpqrstvwxz"}
};

public:
string genName()
{
for(int i=0; i< rand() % 6 + 2; ++i){
rnd_sml = rand() % 2 + 2;
rnd_cap = rand() % 2;
arr = alphab[(i==0) ? rnd_cap : rnd_sml]
[(i==0) ? ((rnd_cap==0) ? rand() % 6 : rand() % 20) : ((rnd_sml==2) ? rand() % 6 : rand() % 20)];
}
return arr;
}
}

int main()
{
srand(time(0));

//Тут вызов genName();

return 0;
}[/code]

Ответы: >>484993, >>485098, >>485121, >>486148

26 Май, 10:31 #325 #484931

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

Ответы: >>484949, >>485096

26 Май, 10:56 #326 #484946

>>484891
Да, проблема только с NULL - кастить не выход, я пишу это говно для пользователя, которого не ебет. Я сделал проще, тот что в интерфейсе оставил указателем, а то что нужно было в кишка сделал ссылкой, появилась пара лишних звездочек и амперсандов, но по-моему это нормальное решение, учитывая что по логике тот что в кишках никогда и не должен работать с NULL/nullptr.

Ответы: >>484960

85 Кб, 300x436

26 Май, 11:00 #327 #484949

>>484931
В 14 лет я спросил у бати: "Что такое программирование?", и он принес мне приклейтед. Как оказалось позже, это было больше актом философского откровения, нежели ответом на мой вопрос. Читай, нормально.

Ответы: >>484964, >>485064, >>485084

26 Май, 11:24 #328 #484960

>>484946
Хотя для NULL можно еще такое сделать
m(int nullp) : m((m*)NULL) {}
Но это не сильно переносимо, та и выглядит стремно. NULL лучше вообще не использовать.

26 Май, 11:30 #329 #484964

>>484949
Так-так-так... Четвертое издание вышло в 2013 году. Причем не факт, что твой батя купил эту книгу сразу после ее появления в продаже. И тогда тебе было 14. Сейчас 2015 год. А два года назад тебе было 14.

>приклейтед
>это было больше актом философского откровения
>Читай, нормально.

Ответы: >>486182

sage 26 Май, 11:59 #330 #484993

>>484895
Да.

79 Кб, 700x988

26 Май, 13:13 #331 #485033

Во, классную книжку нашёл.

26 Май, 13:51 #332 #485064

>>484949
Уебал бы с вертухи тем кто всякие БИБЛИИ С++ сразу советует с чуть ли не полной спецификацией языка по которым можно хоть компилятор писать. Я из-за вас раз 10 уже дропал это говно.

26 Май, 14:08 #333 #485068

>>482822
Господи, каким же тупым себя чувствую(
Вот создаю я в 10-ой студии виндовс форм аппликатион. Далее, чтобы юзать все эти MoveTo() да LineTo() нужно знать девайс контекст формы. Собственно как его получить?
Я пытался писать GetDC(Form1), но студия пишет, что не может преобразовать тип HWND к HDC.
С примерами с сайта firststeps тоже не могу разобраться

29 Кб, 445x562

26 Май, 14:33 #334 #485084

>>484949
Прочитал всё. Непонятная и задания скучные. Начал читать пикрелейтед и книга идеальная для новичка. Но только со своим гуям заебал. Нахуя он этой графике столько посвятил если она даже в стандарт не входит? Теперь посоветуйте книгу по 11ому стандарту на русском.

26 Май, 15:09 #335 #485096

>>484931
Бери Лафоре ООП С++. Учился по ней программированию с нуля.

Ответы: >>485101

26 Май, 15:10 #336 #485098

>>484895
> магические константы
> куча вложенных тернарных операторов
> rnd_sml, rnd_cap
Да.

Ответы: >>485100

26 Май, 15:21 #337 #485100

>>485098
> магические константы
где?

Ответы: >>485102

26 Май, 15:23 #338 #485101

>>485096
Это которая 2004 года? too old

26 Май, 15:24 #339 #485102

>>485100
> char arr[6]
> const char* alphab[4]
> rand() % 2
> rand() % 6
> rand() % 20

Ответы: >>485105

26 Май, 15:34 #340 #485105

>>485102
char arr[6] - сгенерированное рандомное имя. дальше же идет присваивание arr = alphab.... , а потом return arr.

const char* alphab[4] - там дальше идет инициализация буквами из алфавита.

а насчет рандомных чисес даже не знаю. наверное, стоит все-таки изменить.

26 Май, 16:03 #341 #485121

>>484895
Да

26 Май, 16:10 #342 #485130

есть вопрос опытным ребятам.
я учу Си и Плюсы в свободное от работы время (пишу на других языках), все продвигается медленно, но я и не расчитывал что получится быстро. Написал я короче простенькое приложение, которое асинхронно ходит на криптобиржу и анализирует что там происходит. Хочу выкатить в продакшн (для тренировки)
собственно говоря вопрос - мы на работе для таких вещей используем chef, который сам деплоит енв и само приложение.

Какие решения для автоматизации деплоймента используете вы, какие best practices?
(на данный момент я планирую написать кукбук, который будет дергать scons для установки на енв)

3868 Кб, Webm

26 Май, 16:28 #343 #485141

Анончик, помоги мне, есть код (VS2013):

template <class TYPE>
TYPE cmp(TYPE a, TYPE b)
{
\treturn a-b;
}

template <class TYPE>
void sort(TYPE(*mcmp)(TYPE,TYPE),int X3)
{
TYPE a,b;
//......
mcmp(a,b);
//......
}

Вопрос: как мне вызвать функцию sort из мэйна (предположим с типом int)?

Ответы: >>485151

26 Май, 16:35 #344 #485151

>>485141
http://ideone.com/OhtSPR

27 Май, 11:45 #345 #485690

В тред призываются деды-пердеды, которые когда-то писали с помощью MFC на Winapi.
[code lang="cpp"]
void TUIObj :: DrawPixelmap( CDC &dc, TPixelMap &pm, Long t, Long b, Long l, Long r, Long v, Long h)
{
\tASSERT(dc != NULL);

\tif ((t > b) || (l > r)) return;

\tif( pm.GetBitmap( dc ) )
\t{
\t\tCBitmap *old_bmp;
\t\tCDC memdc;

\t\tmemdc.CreateCompatibleDC( &dc );
\t\timg_bmp = CBitmap::FromHandle( pm.Bitmap() );

\t\tBLENDFUNCTION bf;
\t\tbf.BlendOp = AC_SRC_OVER;
\t\tbf.BlendFlags = 0;
\t\tbf.AlphaFormat = AC_SRC_ALPHA;
\t\tbf.SourceConstantAlpha = 0xFF;

\t\told_bmp = memdc.SelectObject( img_bmp );
\t\tdc.AlphaBlend(h, v, (r-l+1), (b-t+1), &memdc, l, t, (r-l+1), (b-t+1), bf);
\t\tmemdc.SelectObject( old_bmp );
\t\tmemdc.DeleteDC();
\t}
}
[/code]

pm.Bitmap() - HBITMAP с хедером BITMAPV5HEADER и цветовой маской 0xAARRGGBB.

В результате конечный цвет как-то ебануто инвертится. С чем это может быть связано?

Ответы: >>485748

27 Май, 12:44 #346 #485748

>>485690
Попробуй AABBGGRR, в .bmp цвета хранятся в обратном порядке.

27 Май, 17:38 #347 #486034

Опять я со своими линиями пришел. Таки дело сдвинулось с мертвой точки, но теперь непонятно вот что:
есть событие формы load:

private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) {
Graphics^ g = Graphics::FromHwnd(this->Handle);\t
Pen^ blackPen=gcnew Pen(Color::Black,3.0f);
g->DrawLine(blackPen,10,10,100,100);
}
это код должен рисовать жирную линию на форме, но этого не происходит. В совю очередь, если его скопировать в код button_click, то линия рисуется. В чем проблема?

Ответы: >>486038

27 Май, 17:41 #348 #486038

>>486034
> Form1_Load
> Form1

А по делу - это не в Load должно вставляться. Не помню, за что отвечает точно Load, т.к. давно не ебался с графикой, но точно не за рисование.
Нужен event типа LoadFinished или Paint или Draw, что-то такое. Поищи, короч.

Ответы: >>486056

27 Май, 18:08 #349 #486056

>>486038
Действительно! Вот так нужно было:
Form1_Paint
Благодарю

27 Май, 21:52 #350 #486148

>>484895
>Анон, скажи мне, это говнокод?

да, даже очень, http://en.cppreference.com/w/cpp/string/byte/toupper
и я нихуя не понял, зачем ты разделил гласные и согласные, у тебя это нигде не используется

27 Май, 22:30 #351 #486155

[code lang="C++"]
ifstream in("input.txt");
in.getline( in, inNumber, ' ');
[/code]

Выдает ошибку no matching function for call to 'std::basic_ifstream<char>::getline(std::ifstream&, std::string&, char)'

Почему? Вот же
istream& getline (istream& is, string& str, char delim)
Где я обосрался?

Ответы: >>486158

27 Май, 22:32 #352 #486158

>>486155
Я долбоеб, сам нашел.

27 Май, 23:02 #353 #486172

Ознакомился с С/С++ и появилось несколько вопросов по работе с памятью.

Если Предположим я создаю массив с мопощью malloc или new не важно. В результате имею указатель на него. Что будет если я поиграюсь с ним с помощью ++ и --, а затем вызову free или delete то удалиться только элемент массива или весь массив?
А при вызове delete []?
А если я опереторома -- и ++ верну указатель на исходное место и опять вызову free или delete[]?

Второй вопрос. Если я определяю четыре инта расположенных в рамдомных частях кода. Место в куче закончилось. Освобождаю инты и хочу объявить структуру как раз размером а четыре инта. Займёт ли структура их места с учётом того что они в совершенно разных частях памяти и уж точно идут не по порядку.
Происходит ли фрагментация памяти и не накапливаются ли свободные кусочки памяти которые нельзя использовать поскольку туда ничего не влазит и получается косвенная утечка памяти?

сори за подчерк пишу с калькулятора

Ответы: >>486177

27 Май, 23:21 #354 #486177

>>486172
1. передавать в delete[]/free нужно только тот указатель, что вернул new[]/malloc соответственно (иначе будет UB); удалится весь массив

2.
>Займёт ли структура их места с учётом того что они в совершенно разных частях памяти и уж точно идут не по порядку.
структура из 4х интов --- это кусок памяти размером 16 (либо 32) байта, так что нет. да и вообще, нельзя ожидать что очередной запрос памяти в куче вернет освобожденный перед этим указатель

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

>пишу с калькулятора
экзамен?

Ответы: >>486193

27 Май, 23:31 #355 #486182

>>484964
Но мне 13, Холмс, в вашем рассуждении, должно быть, затесалась ошибка...

27 Май, 23:46 #356 #486193

>>486177
Нет, лень пекарню включать.

По поводу последнего. На счет фрагментации памяти. С этим как-нибудь борются не считая использования язаков со сборшиком мусора?

Ответы: >>486203, >>486209

27 Май, 23:50 #357 #486203

>>486193
Товарищ педераст, ваш выбор - раст.

27 Май, 23:54 #358 #486209

>>486193
Аллокаторами пытаются бороться.

28 Май, 10:11 #359 #486410

Как возвращать двумерный массив из функции?
[code lang="cpp"]
//header.h
class SS{
private: char a[CONSTANTA1][CONSTANTA2];
public: char[][] hh();
}

//header.cpp
char[][] SS::hh(){
return a;
}

/ОШИБКА в header.h :expected unqualified-id before ‘[’ token/

[/code]

Ответы: >>486428, >>486431, >>486743

sage 28 Май, 10:52 #360 #486428

>>486410
g: c++ arrays and pointets

Ответы: >>486429

sage 28 Май, 10:52 #361 #486429

>>486428
>pointers

28 Май, 10:55 #362 #486431

>>486410
[code lang="cpp"]
class SS {
private:
boost::multi_array<char, 2> a;
public:
SS() {
a(boost::extents[CONSTANT1][CONSTANT2])
}
boost::multi_array<char, 2> hh() {
return a;
}
};
[/code]

Ответы: >>486456, >>486689

28 Май, 12:32 #363 #486456

>>486431
[code lang="cpp"]
SS() : a(boost::extents[CONSTANT1][CONSTANT2]) {
}
[/code]
slow fix

28 Май, 19:41 #364 #486689

>>486431
То есть возможность вернуть массив из функции не встроена в язык и в стандартной библиотеке отсутствует? Или с бустом легче?

Ответы: >>486691, >>486698, >>486731

28 Май, 19:44 #365 #486691

>>486689
Массивы – указатели, многомерные массивы – многомерные указатели. Буст – параша.

Ответы: >>486692, >>486876

28 Май, 19:49 #366 #486692

>>486691
>no. an array is an array. A pointer to the start of the array is a pointer. It just happens that the compiler has some syntactic sugar that does the translation for you in some situations. array and &array are interchangeable in a lot of cases.

sage 28 Май, 19:57 #367 #486698

>>486689
>возможность вернуть массив из функции не встроена в язык и в стандартной библиотеке отсутствует
Да. Можно вернуть только указатель, равно как и передать. int a[] в качестве параметра - синтаксический сахар, фактически это значит int *a.

Ответы: >>486821

28 Май, 20:24 #368 #486731

>>486689
Массивов в С как таковых нету, нет такой сущности в языке. То что обычно называется массивом это сахар над арифметикой указателей, выражение типа foo[bar] разворачивается перед компиляцией в *(foo + bar)
https://ideone.com/S2wEC5
Поэтому возвращать массивы нельзя - нельзя возратить то чего нет. Есть указатели - их можно возвращать. В С++ есть массивы в виде std::array и std::vector - их спокойно можно возвращать.

Ответы: >>486743, >>488078

28 Май, 20:27 #369 #486734

Посоны, есть хост-программа. Она скомпилированна Visual Studio 2010. Я собираюсь скомпилировать к ней опен-сорс плагин (буду это делать тоже с помощью Visual Studio 2010). Плагин использует библиотеку, которая пока ничем не скомпилирована.

Вопрос: обязательно ли компилировать библиотеку, которую юзает плагин той же версией студии? Или можно более новой?

28 Май, 20:37 #370 #486743

>>486410
>>486731
Ок, спасибо.

>>486731
>foo[bar] разворачивается перед компиляцией в *(foo + bar)
А во что разворачивается foo[bar1][bar2]?

Ответы: >>486757

28 Май, 20:49 #371 #486757

>>486743
> foo[bar][baz]
٭)٭(foo + bar) + baz)

Ответы: >>488078

28 Май, 21:35 #372 #486821

>>486698
Лол. Пять минут в С++ и уже знаю про конструкторы и деструкторы. В том числе про конструктор копирования.
Пруф, еще и саганул.

28 Май, 21:36 #373 #486822

Вообще ненавижу вас пидорасов. Сука мрази. Каждый раз, чтобы скомпилировать 150кб какого-нибудь говна, нужно предварительно собрать 8Гб всякого дерьма, которое вы понацепляли зависимостями. Горите в аду. В 95 году за такое убивали.

Ответы: >>486830

28 Май, 21:43 #374 #486830

>>486822
Наркоман чтоли?\

Ответы: >>486838, >>486840

28 Май, 21:53 #375 #486838

>>486830
Буст, qt, многие другие. Впрочем, есть и другая крайность — каббалистический ад хаскеля.

28 Май, 21:54 #376 #486840

>>486830
Наркоманы, это вы. Написали пару строк кода, заинклудили Boost, Qt и еще горы подобного. Вам-то удобно, хуякс-хуякс. А как пользователи это будут собирать вас уже не интересует. "УМВР".

Ответы: >>486846

28 Май, 21:59 #377 #486846

>>486840
Qt сейчас каждая 2я программа тянет, пора бы уже его иметь.

Ответы: >>486861

28 Май, 22:10 #378 #486861

>>486846
Дело в том, что я не программист. И компилирую что-то раз в год. У меня никогда не бывает рабочего энваромента со всей этой тряхомудией. Каждый раз одно и тоже. Скачайте все самые новые версии библиотек (ой, у вас есть скомпилированная версия 5.8.12, но нужна только 5.8.14 -- собери из исходников, раб). Проебись пару дней с отлавливаем ошибок cmake, потом еще пару дней прогугли вы ошибки компиляции. В итоге: "ура, у вас готов плагинчик, которые умеет двигать x в y". Это, конечно, никак нельзя было сделать без boost и всего остального.

Ответы: >>486868

28 Май, 22:16 #379 #486866

Привет, программач! У меня возникла мысль написать мобильное приложение для прослушивания и создания midi-музыки (аналог Guitar Pro) на Qt. Поэтому возникло несколько вопросов:

— какую библиотеку для работы с midi ты можешь посоветовать?
— имеет ли смысл изучать QML для этого или можно работать просто на Qt?
— насколько подобная прога может помочь в устройстве на работу?

28 Май, 22:17 #380 #486868

>>486861
Почему я качаю последнюю версию из репов и не ебу себе мозг? Или ты у нас мамкин гентушник?

3 Кб, 298x77

28 Май, 22:17 #381 #486869

Вот смотрите, программисты, сколько уже весит папка с dependency дерьмом. Думаю она распухнет раза в три, прежде чем я успешно скомпилирую то, что мне нужно. Вы считаете, что так и должно быть?

Излил свой бугурт и съебываю отсюда

Ответы: >>486871

28 Май, 22:22 #382 #486871

>>486869
А ты считаешь, что мы тут ядерный реактор из говна и палок должны собирать? Тебе, блджад, всё кросспалтформенное, быстрое и попен-сорцное подавай.

Ответы: >>487152

sage 28 Май, 22:29 #383 #486876

>>486691
>многомерные массивы – многомерные указатели
Да ты не ебнулся ли часом? Заебешься разыменовывать 10-мерный массив чтобы добраться до значения. Массив любой размерности это один указатель с арифметикой для размерностей. a[x][y] это ((a + Mx) + y) для любого статически определенного двумерного массива.

Ответы: >>486879

sage 28 Май, 22:32 #384 #486879

>>486876
[code lang="cpp"]a[x][y] == ((a + Mx) + y)[/code] для массива a[M][N]
fix во славу макабы

28 Май, 23:51 #385 #486965

>>478556
как объекту через метод получить доступ к данным другого объекта? не спал уже более 16 часов туплю ппц, выручай анон

Ответы: >>487004

29 Май, 01:12 #386 #487004

>>486965
friend?

Ответы: >>487006, >>487446

29 Май, 01:15 #387 #487006

>>487004
yep :3

29 Май, 10:46 #388 #487152

>>486871
Напомни, сколько весит джава?

Ответы: >>487186, >>487215

sage 29 Май, 12:03 #389 #487186

>>487152
Напомни, какой блевотный гуй получается на жабе и какое уебищное апи для его создания?

Ответы: >>487194

77 Кб, 629x620

29 Май, 12:15 #390 #487194

>>487186
Ну и какой же?

Ответы: >>487225

29 Май, 12:35 #391 #487215

>>487152
В 9000 раз меньше, чем жрёт оперативки.

sage 29 Май, 12:48 #392 #487225

>>487194
Блевотный не нативный.

Ответы: >>487229

332 Кб, 1024x768

29 Май, 12:54 #393 #487229

>>487225
Вот тебе нативный. Как говорится почувствуйте разницу.

Ответы: >>487234, >>487241

29 Май, 12:57 #394 #487234

>>487229
Ну и хули ты сюда этот прошлый век притащил?

Ответы: >>487236

29 Май, 12:58 #395 #487236

>>487234
Всё верно
> гуи
> нативный гуи
> прошлый век

Ответы: >>487239

29 Май, 13:03 #396 #487239

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

Ответы: >>487246

29 Май, 13:03 #397 #487241

>>487229
Божественно!

29 Май, 13:07 #398 #487246

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

Ответы: >>487250, >>487257

sage 29 Май, 13:11 #399 #487250

>>487246
Все с тобой ясно.

Ответы: >>487256, >>487257

29 Май, 13:15 #400 #487256

>>487250
Гуляй, порватка

29 Май, 13:15 #401 #487257

>>487250
Чего тебе ясно?

>>487246
Но это же фронтэнд пилить ещё надо. А если брать какой-нибудь qt или gtk, то можно просто налепить простыню кода. Работать будет, а если постараться то ещё и красиво.

Ответы: >>487258, >>487952

29 Май, 13:16 #402 #487258

>>487257
> Но это же фронтэнд пилить ещё надо.
Декларативная страница всяко лучше, чем простыня кода.

sage 29 Май, 14:16 #403 #487312

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

Ответы: >>487329

29 Май, 14:44 #404 #487329

>>487312
> белые люди
> qml
Проиграл

Ответы: >>487342

29 Май, 14:53 #405 #487342

>>487329
Предпочитаешь JavaFX или WPF? Qml, кстати, выглядит приятнее, чем вся эта XML-подобная дрисня.

Ответы: >>487354

29 Май, 15:04 #406 #487354

>>487342
Та же херня, только сбоку. Суть WPF в мощных автоматических дата-биндингах, а xml <-> json переводится нахаляву же но вообще, да xml выглядит сильно хуже

29 Май, 16:32 #407 #487446

>>487004
объекты одного класса

Ответы: >>487469

sage 29 Май, 17:00 #408 #487469

>>487446
Статические переменные.

29 Май, 19:29 #409 #487625

What's the binary value of '\0' ? What is the difference between '0'
and '\0'?

Ответы: >>487629

29 Май, 19:34 #410 #487629

>>487625
The quick answer is that the character '0' is represented in binary data by the ASCII number 48. That means, when you want the character '0', the file actually has these bits in it: 00110000. Similarly, the printable character '1' has a decimal value of 49, and is represented by the byte 00110001. ('A' is 65, and is represented as 01000001, while 'a' is 97, and is represented as 01100001.)

If you want the null terminator at the end of the string, '\0', that actually has a 0 decimal value, and so would be a byte of all zeroes: 00000000. This is truly a 0 value. To the compiler, there is no difference between

29 Май, 20:18 #411 #487655

Как перевести на руский "linearithmic" ?

Ответы: >>487678

29 Май, 20:51 #412 #487678

>>487655
A linearithmic function is a function of the form n · log n (i.e., a product of a linear and a logarithmic term). An algorithm is said to run in linearithmic time if T(n) = O(n log n).[7] Thus, a linearithmic term grows faster than a linear term but slower than any polynomial in n with exponent strictly greater than 1.

Очевидно, йобаалгоритм с алгоритмической сложностью O(n · log n) Тащи фразу, переведём.

29 Май, 21:45 #413 #487736

have linearithmic acces time

Ответы: >>487747

29 Май, 21:56 #414 #487747

>>487736
Имеет время доступа O(n · log n)

Ответы: >>487748, >>487757

39 Кб, 449x449

29 Май, 22:00 #415 #487748

>>487747

Ответы: >>487765

29 Май, 22:10 #416 #487757

Ну если следовать способу образования английского слова должно быть что-то типа "линерифмический", но лучше как анон >>487747 делать.

128 Кб, 464x450

29 Май, 22:44 #417 #487765

>>487748

30 Май, 08:01 #418 #487836

Array of arrays Двумерный массив и array of pointers to arrays - это разные вещи? Тогда как работает array of arrays?
Что возвращает следующий код?
[code lang="cpp"]
char D::genD()
{
for (int y = 0; y<D_HEIGHT; y++){
for (int x = 0; x<D_WIDTH; x++){
d[y][x] = NOTHING;
}
}
return d;
}
[/code]

Ответы: >>487846

sage 30 Май, 09:24 #419 #487846

>>487836
Ничего не возвращает, d не объявлена.

Ответы: >>487909

30 Май, 12:27 #420 #487909

>>487846
[code lang="cpp"]char d[D_HEIGHT][D_WIDTH];[/code]

Ответы: >>487929

sage 30 Май, 13:06 #421 #487929

>>487909
d[0][0] он тебе вернет.

Ответы: >>487967

30 Май, 14:02 #422 #487952

>>487257
>Чего тебе ясно?
Веб-макака в C++ треде качает права. Ну что ж, вполне современно.

30 Май, 14:19 #423 #487964

Есть два класса. У одного есть чисто виртуальная функция
[code lang="cpp"]
virtual Component *clone (...) const;
//
auto components_clone = std::make_shared< Component > (component.second->clone (owners_clone));
[/code]
Почему код не работает (компилятор ругается на абстрактность Component)
Однако, если я меняю
[code lang="cpp"]
virtual std::shared_ptr< Component > clone (...) const;
[/code]
то все компилится без проблем.
Почему так?
юзаю спермокомпилер

Ответы: >>487968

30 Май, 14:21 #424 #487967

>>487929
тогда почему следующий код не работает?
[code lang="cpp"]
D cls;
char dd = cls.genD();
cout << dd[0][2];
//Ошибка
cout << dd[0];
//Никакой ошибки
[/code]
Хотя, уже все равно.
Поменял
[code lang="cpp"]
char d[HEIGHT][WIDTH];
[/code]

на

[code lang="cpp"]
char d = new char[HEIGHT];
for (int i = 0; i < HEIGHT; i++)
d = new char[WIDTH];
[/code]

и все заработало. Только вот теперь вопрос: двумерный массив и указатель на массив из указателей на массивы - это разные вещи ?

Ответы: >>487972, >>487989, >>488271

30 Май, 14:21 #425 #487968

>>487964
Хуйню сделал, нахуя в make_shared передавал указатель на созданный объект?
Пиздец, блять

30 Май, 14:24 #426 #487972

>>487967
Тех массивов, которые ты притащил в С++ из паскаля, тут нету.
Есть указатели на 1 элемент или на несколько элементов, а как их интерпретировать - решать тебе

Ответы: >>487984

30 Май, 14:50 #427 #487984

>>487972
>Тех массивов, которые ты притащил в С++ из паскаля, тут нету.
ебать ты тупорылый

Ответы: >>487993

320 Кб, 3072x1728

30 Май, 14:53 #428 #487985

Посоны, сижу на паре, препод-пидор не хочет ставить мне 5 и дал мне эту ебучую функцию ( 14 задание). Что мне надо сделать? А если кто-то, кто знает, напишет код -- могу скинуть деньги на мобильный счёт (для укро-анонов).

Ответы: >>487988, >>487991, >>487999

30 Май, 14:57 #429 #487988

>>487985
Дебил, блять.

Ответы: >>488000

sage 30 Май, 14:59 #430 #487989

>>487967
Не работает потому, что компилятор в душе не ебет что твой массив двумерный, когда ты выносишь указатель за пределы области, в которой он был определен. Используй контейнеры и не еби себе мозги. boost тебе дал multi_array для твоих нужд. Дабы ты понимал, в C++ возвращение голого указателя является моветоном.

3407 Кб, 500x276

sage 30 Май, 15:01 #431 #487991

>>487985
> 14 задание
> на пике только 12 и 13

Ответы: >>487999

30 Май, 15:02 #432 #487993

>>487984
че?

342 Кб, 1728x3072

30 Май, 15:13 #433 #487999

>>487985

>>487991
С телефона писал. Сорян.

30 Май, 15:14 #434 #488000

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

30 Май, 18:32 #435 #488078

>>486757
>>486731
>Массивов в С как таковых нету, нет такой сущности в языке
>∗(∗foo + bar) + baz)
вон из профессии нахуй, быстра блядь

откуда вообще блядь пошло что массивов не существует??? да, они decay до указателя, но это отдельная сущность

int x[a]; --- x[j] ==== ∗(x + b∗i + j)

сука блядь, развелось похапистов не отличающих массив от int∗∗

Ответы: >>488087, >>488128

30 Май, 19:07 #436 #488087

>>488078
>int x[a]; --- x[j] ==== ∗(x + b∗i + j)
int x[size1][size2]; --- x[index1][index2] ==== ∗(x + size2∗index1 + index2)

макаба сосет хуи

Ответы: >>488138

30 Май, 20:06 #437 #488128

>>488078
>откуда вообще блядь пошло что массивов не существует??? да, они decay до указателя, но это отдельная сущность
Если массив это отдельная сущность, то как ты объяснишь строку 8 в https://ideone.com/S2wEC5 ?

Ответы: >>488144

30 Май, 20:31 #438 #488138

>>488087
> x + size2∗index1 + index2
Интересная точка зрения. А как эта формула работает если двумерный массив не прямоугольный, а с разными длинами строк?

Ответы: >>488144

30 Май, 20:44 #439 #488144

>>488128
>как ты объяснишь строку
сишным стандартом:
http://stackoverflow.com/questions/5073350/accessing-arrays-by-indexarray-in-c-and-c

>>488138
>а с разными длинами строк
а ну быстра сделал мне !двумерный массив! с разным длинами строк
не массив указателей на строки, а именно массив с разными длинами строки
и сразу покажи его sizeof (и ассемблерный код если ваще знаешь что это такое)

32 Кб, 400x290

31 Май, 02:25 #440 #488262

Анон, я прочитал на хабре статью про библиотеку boost, где в частности сказано:
"Хотя вы можете легко писать код, используя нативные циклы, есть несколько причин, почему вы можете захотеть писать их таким способом. Первая — кодирование становится чуточку проще. Вторая — джуниоры(или даже сеньоры, которые, как вы думаете, никогда не должны быть повышены) с меньшей вероятностью сделают всё ту же старую ошибку, написав что-то вроде "for (i=0; i<=length;i++)", а потом ещё будут спрашивать вас, почему этот код иногда работает, а иногда падает внутри функций, из которых был вызван."

Объясните мне, чем плох такой цикл?

http://habrahabr.ru/post/173639/

Ответы: >>488263, >>488265

31 Май, 02:34 #441 #488263

>>488262
мб int i=0 должно быть написано? мммм

31 Май, 02:41 #442 #488265

>>488262
на хабре написано хуйово либо вообще хуйня какая-то (ошибка "меньше-либо-равно" вместо "меньше" --- это слишком примитивно и тупо)

суть foreach --- это пройтись по всем элементам контейнера и выполнить операцию
разница с "for (size_t i=0; i<length; ++i)":
1. length может быть неконстантной операцией (например для связных списков)
2. "foreach (Object& obj, container)" сильно короче чем "for (size_t i = 0; i < container.length(); ++i) { Object& obj = container;"

короче говоря, это не for плох, это foreach лучше
алсо, для C++11 есть for (Object& obj : container) --- гуглить range-based-for

31 Май, 05:11 #443 #488271

>>487967
Array of arrays - это статический одномерный массив с синтаксической обёрткой в виде array[huy][pizda]. Все элементы расположены в статической памяти и последовательны, поэтому нужный вычисляется с помощью array[x][y] == ((array + huyx) + y). Между функциями можно кидать с помощью testFunction(&array[0][0], huy, pizda).

Array of pointers to arrays - это динамический массив вида *array в котором каждая строка - это отдельный массив, который располагается в разных частях кучи. В функции отсылается с помощью testFunction(array, huy, pizda). А там уже доступ к отдельному элементу просто по array[x][y].

Ответы: >>488273, >>488286

31 Май, 05:15 #444 #488273

>>488271
разметка проебалась
>array[x][y] == ЗВЁЗДОЧКА((array + huy ЗВЁЗДОЧКА x) + y)
> динамический массив вида ДВЕ_ЗВЁЗДОЧКИarray

31 Май, 07:53 #445 #488286

>>488271
А что лучше использовать?

Ответы: >>488303

sage 31 Май, 10:04 #446 #488303

>>488286
Лучше использовать контейнеры.

31 Май, 13:14 #447 #488329

Как можно распарсить строку, состоящую из слова и каких-нибудь цифр, на слово и эти самые цифры? Цифр может быть от нуля до 100, например.

Ответы: >>488331, >>488339, >>488370

31 Май, 13:18 #448 #488331

>>488329
Слов тоже может быть несколько

31 Май, 13:31 #449 #488339

>>488329
Пример приведи с исходной строкой и результатом.

Ответы: >>488342

31 Май, 13:35 #450 #488342

>>488339
MySphere CreateSphere(0,3,6,5) - парсится на MySphere, CreateSphere, и числа 0, 3, 6 ,5

31 Май, 14:15 #451 #488370

>>488329
Тебе нужен лексический анализатор (лексер). Есть готовые (Flex, lex). Если задача простая и ты уверен что она не будет потом расширятся то можно свой навелосипедить.

Ответы: >>488380

sage 31 Май, 14:32 #452 #488380

>>488370
Разве лексер не лексемы анализирует? Ему yacc (bison) нужен чтобы на лексемы разбить сначала.

Ответы: >>488388

31 Май, 14:47 #453 #488388

>>488380
Лексер разбивает входной поток на токены. Смотря что именно ему нужно, если просто токенов не достаточно то может и yacc понадобится, но для yacc тот же лексер нужен сначала.

31 Май, 15:42 #454 #488422

Will this program generate a memory leak? Why?

char * p= new char[256];
delete p;

Ответы: >>488424, >>488462

31 Май, 15:47 #455 #488424

>>488422
Yes that is a memory leak.
You must use delete [] for arrays instead of simple delete.

31 Май, 16:20 #456 #488439

подскажете каким образом выделяется память в случаях

struct Bloc
{
float a,b;
unsigned char c;
int d;
};

vector< Bloc> vec = new vector< Bloc>();
vector< Bloc> vec;

Ответы: >>488464

31 Май, 16:25 #457 #488448

Котоны, как узнать размер char, имея только указатель на него?
sizeof(char) выдаёт размер самого указателя, а sizeof(*char) размер первого элемента из массива соответственно.
Но как, блядь, мне получить ебаный размер ВСЕГО МАССИВА?

Ответы: >>488454

31 Май, 16:30 #458 #488454

>>488448
Никак.

Ответы: >>488574

31 Май, 16:41 #459 #488462

>>488422
It's UB.

31 Май, 16:45 #460 #488464

>>488439
> каким образом
Что ты имеешь ввиду?

Ответы: >>488470

31 Май, 16:50 #461 #488470

>>488464
Куча/стек?

Ответы: >>488479

sage 31 Май, 17:07 #462 #488479

>>488470
[code lang="cpp"]
std::vector<Block> vec; // Контейнер в стеке, элементы в куче
std::vector<Block>* vec = new std::vector<Block>; // Контейнер в куче, элементы в куче. Так пишут только долбоебы, btw
[/code]

Ответы: >>488498

31 Май, 17:39 #463 #488498

>>488479
Спс

31 Май, 18:53 #464 #488547

Котаны, как передать в функцию новый элемент?
p_create(string(s, k, s.size()));
Хочу сделать что-то типа такого, но не получается. Видел такую письку в чьем-то коде

Ответы: >>488550

31 Май, 18:56 #465 #488550

>>488547
Какой новый? Чего ты хочешь вообще?

Ответы: >>488556

31 Май, 19:02 #466 #488556

>>488550
Не хочу создавать новый объект, хочу создать и сразу передать его

Ответы: >>488561

31 Май, 19:08 #467 #488561

>>488556
гугли perfect forwarding и все эти emplace_back

Ответы: >>488564

31 Май, 19:14 #468 #488564

>>488561
спс

31 Май, 19:25 #469 #488574

>>488454
Ну охуеть вообще, придётся ещё и длинну аргументом пердолить...

Ответы: >>488576, >>488674

31 Май, 19:29 #470 #488576

>>488574
std::vector / std::array

31 Май, 21:58 #471 #488674

>>488574
https://ideone.com/MqaWw8
Типа того

Ответы: >>488691

31 Май, 22:17 #472 #488691

>>488674
говно-си
цепепе-господа используют std::string, если речь идет о строках

кстати говоря, давайте уж обсудим immutable строки. основное преимущество — возможность делать их shareable и быстрые substring операции

inb4: про проблемы COW написано тут: http://www.gotw.ca/publications/optimizations.htm

Ответы: >>488700

31 Май, 22:24 #473 #488700

>>488691
Что там обсуждать? Было бы годно. Было бы нехуёво в таком случае иметь две версии, как это сделано в Scala с некоторыми коллекциями.
Быстрый substring за счёт суффиксных массивов/автоматов?

Ответы: >>488711

31 Май, 22:31 #474 #488711

>>488700
>Быстрый substring за счёт суффиксных массивов/автоматов?
не, я имел ввиду не поиск, а генерацию поддиапазона:
http://pastebin.com/jFc7fHRC
за счет aliasing constructor ( http://en.cppreference.com/w/cpp/memory/shared_ptr/shared_ptr )

46 Кб, 325x450

31 Май, 23:15 #475 #488774

Как можно перехватывать нажатия клавиш в Win-консоли (к примеру нажатия стрелок на клавиатуре)?

Ответы: >>488812

sage 31 Май, 23:50 #476 #488812

>>488774
Погуглил за тебя, сученок, можешь не благодарить.
http://stackoverflow.com/questions/10394292/how-to-intercept-keystrokes-to-windows-command-prompt

Ответы: >>488815

31 Май, 23:51 #477 #488815

>>488812
Люблю тебя, ты делаешь мою жизнь веселее.

01 Июн, 00:09 #478 #488831

Какой метод инициализации предпочтительнее?

class Point {
double x = 0;
double y = 0;

public:
Point() { }
};

class Point {
double x;
double y;

public:
Point() : x(0), y(0)
{ }
};

class Point {
double x;
double y;

public:
Point() {
x = 0;
y = 0;
}
};

Ответы: >>488836, >>488942

sage 01 Июн, 00:13 #479 #488836

>>488831
Первый не возможен, третий не инициализация, а присвоение. Так что второй — твой единственный выбор.

Ответы: >>488942, >>488944

01 Июн, 00:24 #480 #488855

Есть программа поиска файлов, которая в заданном месте обходит дерево каталогов с помощью функций FindFirstFile, FindNextFile. Проблема заключается в том, что на диске "C:" есть всякие спец-каталоги, типа System Volume Information, Recovery и т.п., к которым НЕТ ДОСТУПА, отсюда два вопроса:
1. как определить что каталог является именно спец-каталогом?
2. можно ли получить к ним доступ?

Ответы: >>488863, >>488868, >>488882

sage 01 Июн, 00:33 #481 #488863

>>488855
У винды с этим есть проблемы с излишне сложными механизмами.
И за тебя погуглил тоже.
http://blog.aaronballman.com/2011/08/how-to-check-access-rights/

Ответы: >>488943

sage 01 Июн, 00:36 #482 #488868

>>488855
Ну и дабы получить доступ к тому, что только администратор может видеть тебе нужен элеватор.
http://www.codeproject.com/Articles/320748/Haephrati-Elevating-during-runtime

Ответы: >>488943

sage 01 Июн, 00:45 #483 #488882

>>488855
А чтобы получить доступ к System Volume Information тебе скорее всего понадобится запустить процесс от имени системы
http://stackoverflow.com/questions/19187548/how-do-i-write-a-windows-8-software-to-run-with-system-privileges

Ответы: >>488943

01 Июн, 00:55 #484 #488900

Так сколько-таки объектов в том треде? Разобрались? Не могу уловить правильный ответ в сраче.
https://2ch.hk/pr/res/470285.html

Ответы: >>488963

01 Июн, 01:41 #485 #488942

>>488831
>>488836
первый — это c++11

Ответы: >>488987

01 Июн, 01:42 #486 #488943

>>488863
>>488868
>>488882
Спасибо вам, анончики!

01 Июн, 01:42 #487 #488944

>>488836
C++11 разрешает.
http://ideone.com/9o9qoq

Ответы: >>488987

01 Июн, 03:30 #488 #488963

>>488900
На первый вопрос правильный ответ "один объект, называется cat", но оп-хуй вывел свою терминологию, по которой создаваемый таким образом объект не имеет названия, а названия есть только у статически создаваемых объектов. Вообще определенный смысл в таком подходе есть, но указатели на объекты часто упоминаются как "имена объектов", и давать такой вопрос на собеседовании хуево. Все упирается в терминологию, которая четко нигде не прописана, и никто за ней не следит.

Ответы: >>489458

sage 01 Июн, 08:56 #489 #488987

>>488942
>>488944
Каждый день узнавать что-то новое.

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

130 Кб, 807x625

01 Июн, 11:58 #490 #489034

Анон, помоги раку. Я разбираюсь с потоками ввода-вывода и не могу понять одну вещь.
в ios есть следующий код:

inline ios_base& __CLRCALL_OR_CDECL hex(ios_base& _Iosbase)
{\t// set basefield to hex
_Iosbase.setf(ios_base::hex, ios_base::basefield);
return (_Iosbase);
}
когда мы пишем hex(cout), то все понятно, но почему работает код cout<<hex, ведь у функции есть обязательный параметр?

Ответы: >>489051

sage 01 Июн, 12:54 #491 #489051

>>489034
потому что у стрима есть оператор<<, который эти функции принимает. А уже в ней стрим применяет эту функцию к себе.

Ответы: >>489173

69 Кб, 604x550

01 Июн, 15:42 #492 #489173

>>489051
А можно пример, как реализовать подобную функциональность для своего класса.

Ответы: >>489187

sage 01 Июн, 15:59 #493 #489187

>>489173
как-то так:
http://ideone.com/6gY8LO

Ответы: >>489267, >>489312

01 Июн, 18:08 #494 #489267

>>489187
Добра тебе.

01 Июн, 19:22 #495 #489312

>>489187
Извини, что я тебя достаю, но у меня еще вопрос: как перегрузить манипуляторы потока, принимающие значения, к примеру такие как setw?
cout<<setw(10)<<"Pomogi Anon!!!";

Ответы: >>489332

01 Июн, 19:43 #496 #489332

>>489312
Открываешь исходники, например https://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.2/iomanip-source.html смотришь что это вообще за параша, перезагружаешь с нужным типом
http://ideone.com/j1RWct

01 Июн, 21:13 #497 #489398

Почему, блядь, в новый стандарт добавили всякого бесполезного хлама из boost, а shared_mutex не добавили? Какого хуя, я теперь должен пихать три мьютекса вместо двух для корректной работы разделяемого доступа по чтению, пиздец просто. Охуевшие суки, твари. Засуньте своей мамаше в пизду свой синтаксический сахар, мрази. Все эти auto, блядь, range-based-for, ага. Да нахуя мне это говно, я вас спрашиваю, ленивые ебланы. Конечно, блядь, я должен теперь подключать ебаный буст, или хуярить ЕЩЕ БОЛЬШЕ МЬЮТЕКСОВ О ГОСПОДИ ИХ СЛИШКОМ МАЛО КОД НЕДОСТАТОЧНО НИЗКОУРОВНЕВЫЙ НАВЕРНЕМ ЕЩЕ АТОМАРНЫХ ФЛАГОВ ВОТ ТЕПЕРЬ ЗАЕБИСЬ. Запилите уже нормальных фич в библиотеку, будьте же людьми.

Ответы: >>489412

01 Июн, 21:42 #498 #489412

>>489398
>новый стандарт
>C++11
охуел?

>shared_mutex не добавили
добавили: https://isocpp.org/blog/2013/04/n3659-shared-locking

>я должен теперь подключать ебаный буст
НУ ПИЗДЕЦ ОХУЕТЬ БЛЯДЬ ТРАГЕДИЯ!!!1111одинодин

Ответы: >>489413

01 Июн, 21:44 #499 #489413

>>489412
>я должен теперь подключать ебаный буст
> НУ ПИЗДЕЦ ОХУЕТЬ БЛЯДЬ ТРАГЕДИЯ!!!
Двачую, это говно настолько прижилось, что легаси с boost::shared_ptr мы будем видеть ещё и через десять лет.

01 Июн, 23:34 #500 #489456

ОП, пили перекат, пока дауны с лабами не набежали.

Ответы: >>489482

01 Июн, 23:37 #501 #489458

>>488963
Блять, решил почитать, что там за объекты. Читал несколько минут, пытаясь понять, в чем подвох. Подвох в том, что ОП-хуй подумал, что придумал вопрос с подвохом. Гавно какое-то.

Ответы: >>489464

01 Июн, 23:40 #502 #489464

>>489458
Просто ОП того треда – хуй, который валит все свои проблемы на джунов, которых сам и взял. Даже вопрос не может адекватно сформулировать, блять, а чего ждёт от молодёжи ещё.

sage 02 Июн, 00:18 #503 #489482

>>489456
Завтра запилю.

sage 02 Июн, 04:54 #504 #489540

https://2ch.hk/pr/res/489539.html
https://2ch.hk/pr/res/489539.html
https://2ch.hk/pr/res/489539.html
https://2ch.hk/pr/res/489539.html
https://2ch.hk/pr/res/489539.html
https://2ch.hk/pr/res/489539.html
https://2ch.hk/pr/res/489539.html
https://2ch.hk/pr/res/489539.html

Аноним 08 Июн, 16:45 #505 #493350

>>478834
фл ин юн не рили?

Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 24 июня 2015 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion