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

Ответить в тред Ответить в тред
C++ тред #113 /cpp/ Аноним 11/06/20 Чтв 21:23:07 17198881
1578850802016.png 7Кб, 320x200
320x200
Аноним 11/06/20 Чтв 21:29:30 17198902
Заходит как то крестоеб в библиотеку, спрашивает почему ничего не видно, а библиотекарша ему говорит: "Работа с графикой не предусмотрена."
Аноним 11/06/20 Чтв 21:29:51 17198913
бля, забыл заскелить
Аноним 11/06/20 Чтв 21:31:34 17198924
1586968965148.png 17Кб, 1280x800
1280x800
Аноним 11/06/20 Чтв 21:34:12 17198965
Я полный нуб, если что
Перекот вопроса
Дано: две проги, которые делают один и тот же Х. Первая сделана по принципу: main.cpp вызывает функцию 1, та что-то делает, вызывает функцию 2, 2 делает что-то и т.п. Вторая сделана по принципу: есть класс, в котором функции 1 и 2, main.cpp вызывает функцию из класса и далее по списку. Т.е. единственное отличие, что во второй проге я запилил класс, чтоб не передавать миллион переменных из функции в функцию. Вторая прога работает на 10-15% медленней. Это нормально? Или я испортил?
Аноним 11/06/20 Чтв 21:35:15 17198976
>>1719890
В сеть из библиотеки тоже нельзя, придётся идти в другую библиотеку.
Аноним 11/06/20 Чтв 21:55:02 17199147
>>1719896
А если класс полностью статическим сделать?
Аноним 11/06/20 Чтв 22:05:36 17199198
Аноним 11/06/20 Чтв 22:09:07 17199239
>>1719919
Все методы и члены - статические.
Аноним 11/06/20 Чтв 22:09:46 171992510
>>1719896
Оптимизации небось не врубил. Без -О2 можно соснуть в самых неожиданных местах.
Аноним 11/06/20 Чтв 22:13:09 171992911
>>1719925
"Полный нуб" под спойлером вам вообще ничего не говорит? "Полный" = считайте, что я умею вызывать функцию с хэллоу ворлд и сделал класс с хэллоу ворлд и больше нихуя не умею.
Аноним 11/06/20 Чтв 22:15:35 171993412
>>1719929
А как скорость замерял?
Аноним 11/06/20 Чтв 22:18:07 171993913
>>1719934
Примерно так:
unsigned int start_time = clock(); // начальное время
// здесь должен быть фрагмент кода, время выполнения которого нужно измерить
unsigned int end_time = clock(); // конечное время
unsigned int search_time = end_time - start_time; // искомое время
Аноним 11/06/20 Чтв 22:44:32 171995414
>>1719939
Ясно.
Говоря об оптимизациях, если компилируешь через g++, то добавь флаг -O2. Если не через него - хз, гугл в помощь.
Может, просадка из-за времени, уходящего на создание объекта класса. Попробуй замерить уже после создания.

А вообще - забей.
Аноним 11/06/20 Чтв 22:52:58 171995615
>>1719954
>Может, просадка из-за времени, уходящего на создание объекта класса
Вряд ли, т.к. у меня в функциях вычисления в цикле, и хоть маленький цикл, хоть большой, время в % приблизительно одинаково отличается.
>А вообще - забей.
Если бы я мог, хех.

Ну я так понимаю, так быть в целом и вообще не должно?
Аноним 12/06/20 Птн 01:15:31 172004316
Это снова я!
Как заебал c++!
Хочу, чтобы функция инстин... инстини... function gets instantiated с const. Знаю, почему вызывается без const - ранк ниже из-за квалификатора const.

https://onlinegdb.com/Sym527l68

сниппет:

#include <iostream>
#include <utility>

class A {
};

template<class... Params>
void foo(Params&&... params)
{
std::cout << "Foo(Params&... params)\n";
}

template<typename T, class... Params>
void foo(const T& t, Params&&... params)
{
std::cout << "foo(const T& t, Params&&... params)\n";
}

int main()
{
A a;
foo(a, "test");
return 0;
}
Аноним 12/06/20 Птн 02:13:25 172007517
А кто-то попал в ловушку плюсов, когда ему сказали что все остальные языки — медленное, нетрушное абстрактное говно и только на швитых плюсах можно пройти путь от макаки до человека, тот начал учить плюсы, а теперь плюется с них но ничего другого не знает и не умеет.
Аноним 12/06/20 Птн 02:33:57 172008318
Аноним 12/06/20 Птн 02:45:25 172008619
>>1720075
Мне тоже так говорили, но я вовремя понял, что не способен выучить плюсы настолько хорошо, чтобы найти на них нормальную работу, и съебался. Но я до сих пор согласен, что
> только на швитых плюсах можно пройти путь от макаки до человека
Аноним 12/06/20 Птн 04:38:24 172009820
Помогите с шаблонами.

A/B - типы, a/b - экземпляры.
Код std::tuple<A,B> test(a,b) компилируется.
Я написал свой shablon<A,B> test(a,b) и он тоже компилируется.
Но std::tuple test(a,b) компилируется, а shablon test(a,b) не хочет, мол "no viable constructor or deduction guide for deduction of template arguments of".
Что мне нужно сделать, чтобы можно было не указывать тип шаблона явно и он сам выводился из списка?
Аноним 12/06/20 Птн 05:17:07 172010021
>>1720098
Всё, разобрался. Нужно было написать этот синтаксис через: template<typename... a> shablon(a...) -> shablon<a...>;
Интересно, по какой причине оно не могло сделать это самостоятельно?
Аноним 12/06/20 Птн 09:30:48 172014422
>>1719896
Код выложить не можешь?
Такое возможно, зависит от оптимизации и числа параметров.
Аноним 12/06/20 Птн 11:52:27 172021523
Я ньюфаг, во время изучения появился вопросик при простом объявлении указателянапример:int *ptr; , на что он указывает?на случайное место в памяти?
Аноним 12/06/20 Птн 11:56:26 172022124
>>1720215
этот вопросик тысячу раз обкашлян уже.
Аноним 12/06/20 Птн 12:11:17 172024725
image.png 1239Кб, 720x1280
720x1280
>>1720100
По причине конченный долбоёб.
Аноним 12/06/20 Птн 13:24:05 172031526
Почему следующий код крутится бесконечным циклом, а если раскомментить работает нормально?

#include <iostream>
#include <string>
using namespace std;

int main()
{
string input /= "jejshehehdhdhbdbdvddbbdvdv"/;
auto inIter = input.begin();

input = "jejshehehdhdhbdbdvddbbdvdv";
while (inIter != input.end())
{
inIter++;
}
}
Аноним 12/06/20 Птн 13:25:24 172031627
1591957523431.png 81Кб, 1080x862
1080x862
Аноним 12/06/20 Птн 13:29:08 172032228
>>1720247
В голос. Удачный пик.
Аноним 12/06/20 Птн 13:33:16 172032529
>>1720315
Потому что у тебя begin указывает непонятно на что, когда код закоменчен.
Аноним 12/06/20 Птн 13:48:29 172033530
>>1720043

БАМП!

подскажите, пожалуйста!
Аноним 12/06/20 Птн 14:08:43 172034931
>>1720315
У тебя итератор инвалидировался.
Аноним 12/06/20 Птн 14:43:49 172037132
Аноним 12/06/20 Птн 15:03:33 172039933
>>1719896
Мне тоже (очень) интересно посмотреть код.
Если у тебя класс без виртуальных методов - то должно работать не медленнее кода без класса. А если ты передавал по 10 переменных во все функции цепочкой - то возможно чтение полей класса находящихся в одних и тех же местах было бы даже быстрее, чем громадное разворачивание стека, которое хреново кешируется - если я хоть что-то в этом смыслю.
Аноним 12/06/20 Птн 16:08:20 172046334
>>1720427
Красава, я тож знаю, но все же думаю есть места, где неплохо было бы подучиться. Я уже прочитал все книги из шапки за пару месяцев и совершенно не понимаю как местные шизики могут говорить, что выучить с++ за 21 нельзя. Понятно, что они виляют задом и начинают задвигать про опыт, умение и т. п. - что все это нельзя овладеть в такие сроки, но по сути, они занимаются подменой понятий. Реально дела обстоят так, что с++ за 21 день можно пройти вдоль и поперёк, как я, собственно, и сделал.
Аноним 12/06/20 Птн 16:13:27 172047135
1591967606957.jpg 56Кб, 1080x646
1080x646
>>1720463
Даю 5 минут на вопрос
Аноним 12/06/20 Птн 16:16:12 172047536
>>1720471
За 5 минут я мог бы это вручную переписать и закомпилить, так что хуйня твой тест
Аноним 12/06/20 Птн 16:21:14 172048537
>>1720471
Никакого аутпута не будет, ведь его нет
Аноним 12/06/20 Птн 16:30:05 172049338
Вот думаешь, почему языки все так любят изучать языки и фреймворки, а алгоритмы не особо? Может быть все дело в том, что языки, в отличие от матчасти, обладают своей выраженной "идеалогией", ответвляются от других себе подобных, создавая свою независимую фракцию с четко выреженными границами. Это позволяет людям отождествлять себя частью некого сообщества и пощряет "командный инстинкт", благодаря которому человек может позволить себе тратить больше своих ресурсов, изучая язык или фреймворк, что трактуется как работа во благо сообщества.

С другой стороны алгоритмы и математика. Обе науки представляют глобальный фундамент, ветвление в которых возможно только в высших своих проявлениях. Не так ли?
Аноним 12/06/20 Птн 16:51:47 172051639
>>1720493
Потому что изучать алгоритмы бессмысленно. Все уже написано, бери и используй.
Аноним 12/06/20 Птн 16:54:09 172051940
>>1720493
Изучил алгоритм @ написал прогу на рандомном языке @ получил 100500 специфичных ошибок языка @ сап двач, чому оно падаит?
Аноним 12/06/20 Птн 17:13:56 172053841
>>1720427
Я вот только недавно узнал, что можно делать вот так:
class A
{
int f() &;
int f() &&;
}
Аноним 12/06/20 Птн 17:20:45 172054442
>>1720538
Лох, я это давно знал
Аноним 12/06/20 Птн 17:24:10 172054743
>>1720538
Сказал бы что это что ли. Оно же не гуглится.
Аноним 12/06/20 Птн 17:31:37 172055644
>>1720538
Это что-то типа
int hui {1};
только для процедур?
Аноним 12/06/20 Птн 17:36:53 172056245
Аноним 12/06/20 Птн 17:40:26 172056646
>>1720562
>Врёшь же
nope. Я когда читал Мейерса заметки делал, вот гляди

- delete over private, because

+ нет неоднозначности
+ удаленной может быть любая функция
+ с помощью private нельзя отключить инстанцирование шаблонов, потому
что нельзя специфицировать шаблон в области видимости класса

- override применяется для указания перепределения виртуальной функции

+ обеспечивает документируемость кода
+ позволяет не ошибиться в выборе сигнатуры переопределяемой функции

Ф-я осщуествляет перекрытие если:
1) Совпадает имя
2) Совпадают параметры и их типы
3) Совместимое возвращаемое значение и спецификация исключения
4) Идентичный ссылочный квалификатор
5) Константность функции совпадает

* Ссылочные квалификаторы позволяют переопределять поведение функции в зависимости от категории
объекта (rvalue или lvalue). Используется, когда копирование излишне:

class A... vector<...> data;
vector<...>& getData() &
vector<...>&& getData() &&; // return move(data);

A a;

auto data = a.getData(); -> vector<...>& getData()
auto data = A().getData(); -> vector<..>&& getData()
Аноним 12/06/20 Птн 17:41:25 172056847
поэтому до сих пор помню
Аноним 12/06/20 Птн 17:41:34 172056948

>>1720566
> + с помощью private нельзя отключить инстанцирование шаблонов, потому
Не понял
Аноним 12/06/20 Птн 17:41:44 172057149
это дерьмохотя зачем оно мне лол
Аноним 12/06/20 Птн 17:43:04 172057250
>>1720569
просто сейчас ты пишешь для конструктора "= delete" чтобы его "отключить", а раньше просто пихали его в private раздел, но там какие-то траблы с шаблонами могут быть тогда
Аноним 12/06/20 Птн 18:19:03 172059951
Аноним 12/06/20 Птн 18:40:26 172061552
15821045343120.jpg 77Кб, 806x720
806x720
Какой алгоритм слежения лучше всего подойдет для мобильных телефонов и компьютеров в риалтайме, по задачам должен просто следить за выбранным объектом, распознавать не нужно, юзаю OpenCV. Смотрел в сторону KCF, но может есть что-то побыстрее. Юзал пример с их сайта с этим алгоритмом и ужасно тормозило, у челов на ютубе с питоном в 10 раз быстрее было. Если у кого-то есть пример такого рабочего алгоритма, то тоже хотел бы посмотреть.
Джун-новичок
Аноним 12/06/20 Птн 18:47:18 172062553
>>1720615
На алиэкспересс вроде есть камеры с управления доступом на охраняемый объект через КПП
Аноним 12/06/20 Птн 19:23:45 172065954
Почему у меня в С++ стринг работает без заголовка?
Аноним 12/06/20 Птн 19:24:26 172066155
>>1720599
Нельзя, там нет нормальной функциональщины и асинхронщины с сахаром. Ваше говно с void* нестабильное и нахуй никому не нужное
Аноним 12/06/20 Птн 19:28:45 172066356
Аноним 12/06/20 Птн 19:28:50 172066457
Аноним 12/06/20 Птн 19:30:50 172066658
>>1720086
нo тем не менее ты здесь
Аноним 12/06/20 Птн 19:33:00 172066759
>>1720100
>template<typename... a> shablon(a...) -> shablon<a...>
Вот как можно обозначить эту деятельность не иначе как пердоленье? Вы же самые настоящие пердольки! (даже хуже, ведь от линуксом хоть пользоваться можно)
Аноним 12/06/20 Птн 19:34:24 172066960
У меня есть вопрос касательно git. Читаю книжку по плюсам, там гайд по настройке Eclipse, cmake, git.
Надо скачать репозиторий по адресу https://github.com/
TrainingByPackt/Advanced-CPlusPlus/tree/master/Lesson1/Exercise01/project, для этого дают команду - git clone https://github.com/TrainingByPackt/Advanced-CPlusPlus/tree/
master/Lesson1/Exercise01/project
Но при ее выполнении я получаю ошибку git clone https://github.com/TrainingByPackt/Advanced-CPlusPlus/tree/
master/Lesson1/Exercise01/project
Если я зайду на пару папок выше на той странице и выберу clone with SSH - git@github.com:TrainingByPackt/Advanced-CPlusPlus.git, то git clone работает, что-то скачивается без ошибок, но я не вижу куда оно сохраняется.
Что я делаю не так?
Аноним 12/06/20 Птн 19:35:05 172067161
>>1720667
>линуксом хоть пользоваться можно
нет
Аноним 12/06/20 Птн 19:35:07 172067262
Аноним 12/06/20 Птн 19:37:47 172067663
>>1720672
Качай архивом, или проверь папку c:/users/pidor/..., или учись пользоваться гитом, или иди нахуй.
Аноним 12/06/20 Птн 19:38:33 172067764
8.jpg 3Кб, 170x111
170x111
>>1720661
>говно с void*
Но я больше ничего не умею
Аноним 12/06/20 Птн 19:38:56 172067865
>>1720669
блять этo пердoля зачем ты этo делаешь. есть визуалOчка
Аноним 12/06/20 Птн 19:42:58 172068466
>>1720659
Возможно у тебя предкомпилированный заголовок и там уже нужные хедеры.
Аноним 12/06/20 Птн 19:43:39 172068567
Аноним 12/06/20 Птн 19:46:56 172069168
>>1720659
Может быть такое, что его другой заголовок инклудит.
Аноним 12/06/20 Птн 19:47:21 172069269
изображение.png 17Кб, 675x341
675x341
Аноним 12/06/20 Птн 19:47:31 172069370
>>1720666
Я в джава-треде в основном. Здесь поинтереснее просто.
Аноним 12/06/20 Птн 19:49:23 172069571
Как добавить в map или multimap объект класса? У меня при такой попытке VS ошибками срёт.
Аноним 12/06/20 Птн 19:50:19 172069772
Аноним 12/06/20 Птн 19:53:41 172070073
>>1720693
на кресты слoжнее пoпасть пoтoму чтo на них тупо вакансий меньше. на десктопные приложения спрос упал сильно с развитием веба. сейчас почти всё можно сделать через браузер + встроенные средства винды сильно улучшились. в нулевые помню набор из 10-15 программ дополнительных им которые допом. ставил на систему. а щас всё в винде или в браузере. видеконевертеры, редакторы видео, даже аналог фотошопа есть в онлайн версии.

Но тем не менее на с++ всё равно можно дохуя денег заработать если высрать что-то своё. он так больше для предпринимателей в погромировании
Аноним 12/06/20 Птн 19:53:49 172070174
>>1720697
А раньше надо было стринг инклюдить отдельно. Это давно так?
Ты тупой уебан, не я
Аноним 12/06/20 Птн 19:54:35 172070375
>>1720695
# include <map>

class Class { };

int main()
{
std::map<int, Class> map;
map[0] = Class();
return 0;
}
Аноним 12/06/20 Птн 19:58:09 172070876
>>1720701
От реализации зависит, не рассчитывай на это. Одним компилятором собирается, другой может послать.
Аноним 12/06/20 Птн 19:59:21 172071077
>>1720676
какая папка C, это же Убунту, тут такой нет
Аноним 12/06/20 Птн 20:06:11 172071878
>>1720700
Формошлёпства не хотелось бы, интересного там мало, перспектив тоже, учиться особо нечему. Если и заниматься десктопом, то это должно быть что-то масштабное, уровня хотя бы САПР или игор, вебу пока с этим не тягаться. Ну или какой-нибудь жёсткий реалтайм, но я слабо представляю, что там.
Аноним 12/06/20 Птн 20:07:37 172072079
>>1720710
Фу люниксе даже папок нет!
Аноним 12/06/20 Птн 20:12:44 172072380
>>1720718
В этом и суть крестов, пилить какие-то свои проекты на которых ты лично можешь бабла поднят, а не в том чтобы работу найти за 300кк в наносек. В любом случае в С\С++ с душой, а всё остальное ни то. Нету там души, хотя когда я вкатывался то да, повёлся на форс про то что с++ язык крутых погромистов. А когда понял как там долго ебаться нужно было уже поздно, т.к. я всё таки начал уже, залез туда. В си хорошо освоился + у меня характер такой не бросать начатое так и сижу на срр
Аноним 12/06/20 Птн 20:14:51 172072581
>>1720723
>и + у меня характер жрать говно, несмотря ни на что
Аноним 12/06/20 Птн 20:19:48 172072882
>>1720723
> В любом случае в С\С++ с душой, а всё остальное ни то.
Ага, я как раз поэтому так и не забил окончательно.
Аноним 12/06/20 Птн 20:22:28 172073283
>>1720728
а в ассемблер не пытался вкатываться? что о нём думаешь? у меня мечта в асм вкатиться, но никак руки не доходят.

вообще мои предпочтения это asm, c\c++ на остальное я не смотрю.
Аноним 12/06/20 Птн 20:22:54 172073484
Как в multimap вывести все значения с одинаковым ключом? Метод find же возвращает итератор с первым попавшимся удовлетворяющим результатом?
Аноним 12/06/20 Птн 20:26:55 172073785
>>1720732
Немного изучал, ничего сложного на нём не писал. Тупо не хватает усидчивости, чтобы делать в 10-20 команд то, что на высокоуровневых языках делается в одну строчку.
Возможно, ассемблер идеален для каких-нибудь контроллеров, но не более, но сейчас там даже чуть ли не JS можно.
Аноним 12/06/20 Птн 20:27:52 172073986
>>1720615
> Юзал пример с их сайта с этим алгоритмом и ужасно тормозило, у челов на ютубе с питоном в 10 раз быстрее было
Ты собирал-то хоть релизную версию? Это типичная ошибка новичка - сравнивать скорость алгоритмов в дебаге
Аноним 12/06/20 Птн 20:28:56 172074387
>>1720737
но знание asm увеличит твои познания в с\с++ без этого никак.
Аноним 12/06/20 Птн 20:35:04 172075288
>>1720743
С ним лучше поймёшь, как работает железо, и во что примерно превратится код после компиляции. В теории это должно помогать писать более оптимальный код, но обычно оптимизатор оказывается намного умнее.
Аноним 12/06/20 Птн 20:41:00 172076489
>>1720739
Нет... Только что проверил и действительно быстро работает, я знал что разница в скорости есть, но такого прироста не ожидал, спасибо.
Аноним 12/06/20 Птн 21:49:50 172087090
>>1720710
Ну извини, по уровню твоего вопроса сложилось впечатление, что ты в первый раз открыл терминал под виндой и скопипастил туда строчку из туториала.
Аноним 12/06/20 Птн 21:51:13 172087591
>>1720471
Объясните новодебилу что на пикче за хуйня, зачем нужны многоточек, как это работает? (то что тут шаблон я понял). В универе не учили такой хуйне, на практике не видел, но похоже на функция множественных аргументов? Поясните, пожалуйста.
Аноним 12/06/20 Птн 22:15:15 172091192
Аноним 12/06/20 Птн 22:15:54 172091393
>>1720752
Оптимизатор-хуизатор твой не человек и не может усмотреть все моменты из твоего говнокода, а ты, зная досконально работу всех команд, которыми пользуешься, сделаешь намного лучше.
Аноним 12/06/20 Птн 22:17:20 172091494
Аноним 12/06/20 Птн 22:18:13 172091595
Аноним 12/06/20 Птн 22:26:56 172092396
>>1720913
Это нужно быть сеньором-помидором, воспринимать плюсовый код как сахарочек для ассемблера и заодно сильно упираться в производительность.
Оптимизатор может и не человек, но в среднем он оптимизирует лучше, чем обычный кодер.
Аноним 12/06/20 Птн 23:06:43 172098197
Как можно сделать нормальную табуляцию в консоли? А то всё в разброс выводится без выравнивания по столбцам.
Аноним 12/06/20 Птн 23:07:40 172098298
>>1720981
гугли setw и манипуляторы
Аноним 12/06/20 Птн 23:27:43 172100299
>>1720982
Забей на манипуляторы. Форматирование вывода в потоки это дрочба еще хуже самих потоков. Единственный адекватный способ изкоробки это (s)printf.
Аноним 12/06/20 Птн 23:28:10 1721003100
>>1720982
А мне оно поможет выводить строки с выравниванием по столбцам, если нельзя предсказать длину текста в каждом столбце?
Например, может быть

нркапгнрапгопрго
аап

или

рппрапопаоапопр
прпарапрпарыаго

или

пр
попнегукекгнекгнекнкененкенегнгге
Аноним 12/06/20 Птн 23:36:00 1721009101
>>1721003
Тебе в любом случае придется хуярить размер "столбца", да и ты можешь написать функцию определения этого размера и в зависимости от результата работать.
Аноним 12/06/20 Птн 23:38:23 1721013102
>>1721009
А обязательно так изъёбываться всего лишь ради нормального вывода? Мы на крестах кодим или где?
Аноним 12/06/20 Птн 23:41:28 1721017103
>>1721013
Я "изъёбываюсь" и заебись живется. Да и типа из изъеба тут лишние пара минут на создание функции... Не вижу особо трудностей. Каждому - свое.
Аноним 12/06/20 Птн 23:44:40 1721019104
>>1721017
Нахуй твои функции, давай что-нибудь из STL.
Аноним 12/06/20 Птн 23:55:01 1721023105
Аноним 12/06/20 Птн 23:56:05 1721025106
>>1721023
>ndr
Самые поганые слова в стандарте.
Аноним 12/06/20 Птн 23:59:41 1721026107
Аноним 13/06/20 Суб 00:05:23 1721028108
>>1721023
Это что, какой-то аналог UB?
Аноним 13/06/20 Суб 00:16:38 1721037109
>>1721028
Если компилятор диагностирует ошибку, то это то же самое что просто ill-formed.
Если не диагностирует, а оттранслирует программу, то её поведение не определено.
Аноним 13/06/20 Суб 00:22:31 1721041110
>>1721037
То есть если UB выявлен на этапе компиляции?
Аноним 13/06/20 Суб 00:23:11 1721042111
>>1721041
Если то, что программа ill-formed выявлено на этапе компиляции.
Аноним 13/06/20 Суб 00:26:36 1721047112
Аноним 13/06/20 Суб 00:41:18 1721057113
Аноним 13/06/20 Суб 00:43:15 1721060114
>>1721057
warning C4091: '': ignored on left of 'std::idi_nahuj' when no variable is declared
Аноним 13/06/20 Суб 03:21:12 1721109115
изображение.png 2Кб, 288x82
288x82
Насколько это корректное использование decltype? Я методом тыка подобрал и изначально там нули были в скобках.

Почему код из книги "Шаблоны C++ Справочник разработчика" не компилируется? Потому что она 2003 года.
Что новое почитать, в частности где про всякое разное с произвольным количеством параметров рассказано. А то в стандартной библиотеки немного перегруженные примеры, довольно сложно иногда понять что происходит в каком-то конкретном месте, мягко говоря.
Аноним 13/06/20 Суб 03:23:18 1721112116
Аноним 13/06/20 Суб 03:23:46 1721113117
>>1721109
Ну или вообще auto, т.к. у тебя T и G "по значению"
Аноним 13/06/20 Суб 03:32:30 1721114118
>>1721112>>1721113
Мне не в этом конкретном случае - тут то всё ясно, я просто самый короткий пример привёл.
Например, мне нужно задать переменную пригодную для хранения произведения всех аргументов функции (может быть даже в структуре) - при этом прямо сходу первой строчкой задать произведение я не могу, потому что умножать нужно только на некоторые члены по сложным правилам.
Аноним 13/06/20 Суб 03:48:02 1721119119
>>1721109
>не компилируется?
Нужная версия стандарт не включена.

А пикче хрень какая то нарисована. Инстанц шаблона функции один и тоже тип должен возвращать, вне . А кто сказал, что T и G это один и тот же тип? Не, они допустим один в другой может сконвертироваться (int в long например), но все равно это говнокод. Не делай так.
Аноним 13/06/20 Суб 03:49:24 1721121120
>>1721119
>>1721109
>Инстанц шаблона функции один и тоже тип должен возвращать, вне
зависимости от от того, что во время выполнения больше/меньше окажется.
Аноним 13/06/20 Суб 04:15:22 1721124121
>>1721119
Так всё верно же, я могу засунуть туда int+double, а могу double+int, и в обоих случаях там будет double.
А мне и нужно получить минимальный тип, умещающий сумму всех аргументов шаблона, причём написать auto я не могу - потому что это поле структуры, которое заполняется когда-то после при вызове одного из методов. Написал что-то вроде decltype(T()+(G()+...)) name и вроде работает во всех комбинациях верно.
Аноним 13/06/20 Суб 04:51:09 1721130122
Аноним 13/06/20 Суб 05:08:51 1721136123
Аноним 13/06/20 Суб 05:11:33 1721139124
Как освободить память от объектов класса по ссылкам на них в ячейках вектора?
Аноним 13/06/20 Суб 05:52:56 1721142125
Аноним 13/06/20 Суб 05:53:31 1721143126
Аноним 13/06/20 Суб 06:04:36 1721146127
>>1721124
Все равно фигня какая-то. Арифметика в компах не такая, как в абстрактной математике. Тем способом, которым ты хочешь решить задачку, ты либо округляешь число с плавающей запятой до целого (и то если влезет, что очень не факт) теряя точность, либо преобразуешь целочисленный тип к типу с плавающей запятой, опять же теряя точность, но теперь уже целочисленную. Повторяюсь, еще раз, во время выполнения функции, ее тип результата меняться не может. Можно динамическим полиморфизмом решить это (функция возвращает указатель на полиморфный объект), но все равно это херня с потенциальными подводными камнями.

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

P.S. В околоайтишных книгах использования типа с плавающей запятой для хранения денег приравнивается к экономическому преступления.
Аноним 13/06/20 Суб 06:38:01 1721152128
>>1721146
>ты либо округляешь число с плавающей запятой до целого
Никогда не округляю, только наоборот. Я в курсе же - всё-всё знаю про плавающую запятую.
И вообще, я просто практикуюсь и присматриваюсь к возможностям шаблонов - в действительности эта задача решалась в райнтайме с использованием нескольких переменных (можно и через твой полиморфизм было бы, да) - мне просто немного неприятно делать в райнтайме то, что можно полностью на уровне шаблонов и макросов сделать. Это как год-назад-тут-обитающий видос про гетерогенную хэш-таблицу в компайл-тайме - такой же бред в общем-то, только проще на порядки.
Аноним 13/06/20 Суб 06:39:53 1721153129
>>1721124
Вся наука борется за максимальную конкретизация типов, чтобы килограммы нельзя было складывать например с метрами и тому подобное, а ты хочешь максимально генерализованный арифметический тип.

>>1721152 у тебя просто задач как бы учебная, и ты скорее играешь с этим всем, а не пишешь что-то для реальной жизни? Ну тогда норм, ок.
Аноним 13/06/20 Суб 06:46:15 1721155130
>>1721146
>В околоайтишных книгах использования типа с плавающей запятой для хранения денег приравнивается к экономическому преступления.
И как тогда надо хранить?
Аноним 13/06/20 Суб 06:47:49 1721156131
>>1721155
Хранить с фиксированной точкой. Например в одном инте целую часть, в другом инте - дробную.
Аноним 13/06/20 Суб 07:34:27 1721167132
>>1721155
>И как тогда надо хранить?
ulong копеек неплохо подходит.
Аноним 13/06/20 Суб 07:39:52 1721169133
>>1721155
Гугли длинную арифметику.
Аноним 13/06/20 Суб 09:26:56 1721199134
>>1721155
В копейках либо в структуре данных, где отдельно копейки и рубли.
Помимо этого хранить как рациональное число, где отдельно числитель и знаменатель, и в числа с точкой переводить только на вывод.
Аноним 13/06/20 Суб 09:37:17 1721203135
Анон, объясни мне пожалуйста, как делают софт, использующий несколько языков. Первый вариант, как я понимаю - скомпилить (например, из хаскелля) объектный файл или либу, и как-то сделать хедер для c++.
А как делают со скриптовыми языками, например, питон или js? Вставлять интерпретатор в свой c++ проект? Как тот же питон передаст инфу в c++ часть? Потоки ввода-вывода? Сокеты?
Аноним 13/06/20 Суб 09:44:24 1721206136
image.png 9Кб, 345x305
345x305
>>1721203
Например вот так. Это TCL. Создаешь объект "интерпретатор", и потом кормишь его кодом на TCL прямо посреди си.
Уверен, примерно так же можно сделать с питоном или жс.
Аноним 13/06/20 Суб 10:16:08 1721212137
>>1721203
Ну посмотри на qt. Там реально ты пишешь условный бек на крестах + qt dsl на макросах и дополнительных ключевых словах, условный фронт на qml + js, и внутри обоих css для задания свойств виджетам. Часть этого jit компилируется на v8, часть как обычно.
Аноним 13/06/20 Суб 10:35:45 1721219138
>>1721169
А нахуя длинную? Или какой-нибудь там госдолг сша уже не лезет в 64 бита?
Аноним 13/06/20 Суб 10:44:28 1721223139
>>1721219
Проценты начислять например каждый день. Даже байка была (а может и не байка), как какой-то хитрый банковский погромист округлял всё до цента, а доли центов воровал себе, и довольно много так наворовал.
Аноним 13/06/20 Суб 10:49:38 1721226140
>>1721223
Это не байка, это Гарри Гаррисон, серия про стальную крысу=)
Аноним 13/06/20 Суб 14:44:54 1721397141
Снимок.PNG 9Кб, 737x97
737x97
Как убрать ошибку D8027?

Отключено Security Check: Disable Security Check (/GS-) и Data Execution Prevention (DEP): No (/NXCOMPAT:N. Нужно без этого.

Сам код
https://pastebin.com/XRPjAfSu:

thx
Аноним 13/06/20 Суб 14:46:30 1721399142
Аноним 13/06/20 Суб 14:47:34 1721402143
Как начать мыслить в рамках ООП? Я по-прежнему придерживаюсь структурного подхода из си.
Аноним 13/06/20 Суб 15:00:19 1721419144
>>1721402
Никак. Само получается. Я процедурками пишу когда пишу что-то маленькое, а вот если пишу крупную программу то там сам уже продумываю классы т.к. если этого не сделаю то я потом просто запутаюсь и охуею.
Аноним 13/06/20 Суб 15:01:50 1721421145
>>1721402
Продолжай придерживаться структурного подхода из Си, только добавь к нему что у структур бывают еще методы. Это сейчас самое модное направление в плюсах, его называют "си с классами".
Аноним 13/06/20 Суб 15:08:25 1721426146
>>1721397
А никак блядь. Тикет с этой ошибкой у них в баг трекере уже год точно висит
Аноним 13/06/20 Суб 18:17:05 1721618147
>>1719888 (OP)
Как прикастовать метод класса к статическому методу? Пишет что не может кастовать (classname::★) к (★). Мне всё статическим делать что ли?
Аноним 13/06/20 Суб 18:39:36 1721660148
>>1721618
Если бы ещё .все проблемы можно было решить кастом.

Надо попробовать кастонуть private к public.
Аноним 13/06/20 Суб 18:41:51 1721666149
Двачкованы, вопрос по #define
Есть один проект который тестируется другим проектом.
У них общий #include.
В настройках 2-го проекта определяем например __TEST__
И в их общем #include чего-нибудь переопределяем
#ifdef __TEST__
#define ....
#else
#define ....
#endif

Это работает заебись, когда каждый из проектов заранее знает кто он, например для экспорта/импорта DLL.

Но я хочу передать __TEST__ в первый проект чтобы он перекомпилировался вместе с тестом и чтобы у них #defines делали одно и тоже. Другими словами чтобы весь solution компилился или в тест моде или продакшн моде. Такое легко сделать через makefile, а как через проекты?
Можно конечно через Configuration это сделать, например если Configuration=Debug, то в обоих проектах определить __TEST__. хз. Или сделать отдельный Configuration для unit tests?

Кто-нибудь с g моком ебался? Какая уебищная хуета, но лучше кажется ничего нет. В С++ моки это мучение.
Аноним 13/06/20 Суб 18:48:17 1721677150
>>1721660
Так а в чём отличие указателей на эти методы? Ему не похуй ли в классе оно или нет? Как мне, например, писать обработчики событий и передавать их либам, которые просто (★) принимают?
Аноним 13/06/20 Суб 18:52:46 1721682151
>>1721666
> Можно конечно через Configuration это сделать, например если Configuration=Debug, то в обоих проектах определить __TEST__. хз. Или сделать отдельный Configuration для unit tests?
Выбирай
Аноним 13/06/20 Суб 19:12:09 1721707152
>>1721682
Оба подхода кривые так как придется конфигурить два билда на билд сервере, дебаг и релиз. И в релизе снимать галку, чтобы тестовой проект не билдился. В идеале хочется собирать только релиз и его и тестировать, потому что иначе это технически другой код. Мало ли что там дефайны наделают. Косяки короче. Тестируем одно а релизим другое. Похоже хуйня эта затея, придется передумавать.
Аноним 13/06/20 Суб 19:13:12 1721709153
>>1721707
Так а чего мейкфайл не напишешь?
Аноним 13/06/20 Суб 19:14:54 1721710154
>>1721709
не по уставу. 2020-й на дворе. закидают ссаными тряпками. тем более проблемы не решает все равно, как я внезапно догадался.
Аноним 13/06/20 Суб 19:20:18 1721713155
>>1721618
Наверное как-то так: https://ideone.com/vriHUY
Вроде работает. Там в комментариях описан ход мысли.
Но это говно ебаное, я просто методом тыка это разобрал - нет никакой гарантии что это заработает на другой версии компилятора, с другими настройками или в других случаях.
Аноним 13/06/20 Суб 19:27:04 1721725156
>>1721677
>Как мне, например, писать обработчики событий и передавать их либам, которые просто (★) принимают?
Через лямбду с захватом?
Ну, или через функцию с глобальным переменной.
Просто если ты прикастуешь метод вышеописанным способом, то функция вызовет метод, но по указателю this там мусор будет, потому что либа ничего не знает про экземпляр класса, к которому этот метод имеет отношение.
Аноним 13/06/20 Суб 19:41:12 1721737157
Жаба тред утонул, поэтому не бейте слишком сильно. В жабе есть альтернатива шаблонам c++ или слову auto?
Аноним 13/06/20 Суб 19:50:13 1721760158
>>1721725
> Через лямбду с захватом?
Лямбда тем более не кастуется к (★).
> Ну, или через функцию с глобальным переменной.
Так и сделал, но это какой-то говнокод.
Аноним 13/06/20 Суб 20:00:06 1721788159
Есть один шаредпойнтер
std::shared_ptr<MyType> g_MyType;

И есть инстанс этого MyType на стеке.
Что если так сделать:
DerivedMyType d;
g_MyType = std::shared_ptr<MyType>(&d,
[](DerivedMyType*) {});

просто шобы дтор не вызывался. И меньше печатать.
Метод короткий, сами мы не маленькие, пишем без багов, че. Какие подводные?
Аноним 13/06/20 Суб 20:03:34 1721797160
>>1721760
>Лямбда тем более не кастуется.
В самом деле, мой косяк. Только пустая без захватов кастуется.

Странно, если в либе нет вомзожности передать вместе с твоей функцией число или другой идентификатор - чтобы можно было различать разные экземпляры твоего класса. В винде полно звёздочек в каллбеках, но помимо этого они ещё идентификатор возвращают, по которому можно не без некоторого дополнительного кода определить вызывающий экземпляр.
Аноним 13/06/20 Суб 20:21:36 1721823161
>>1721737
В смысле утонул? Так и должно быть.

> альтернатива шаблонам
Generics

> auto
var (начиная с Java 9).
Аноним 13/06/20 Суб 21:54:37 1721924162
>>1721760
Можешь привести пример, что ты хочешь кастовать? Так то статик функции похожи на pure function в моем представлении: понимают аргументы, вычисляют независимо ни от чего, возвращают значение.
А для инстанцированных объектов вроде используется std::bind, если нужно передать функцию объекта
мимо
Аноним 13/06/20 Суб 22:15:50 1721935163
>>1721924
> что ты хочешь кастовать?
Обработчики исключений WinAPI. Туда лезет только (*). Везде в гугле ахуительные примеры прям в main, естественно там никаких проблем нет с доступом к глобальным переменным из обработчика. А вот как адекватно внутри класса с этим работать не очень понятно.
Аноним 13/06/20 Суб 22:39:51 1721955164
>>1721710
Что-то я пока не вижу, чем твои мейки отличались бы от галочек в студии
Аноним 13/06/20 Суб 23:46:14 1722006165
>>1721713
Почему нельзя сделать свободную функцию и из неё вызывать статический метод?
лалай 14/06/20 Вск 08:53:07 1722174166
image.png 116Кб, 653x585
653x585
Двачеры помогите, никак не понимаю, как это сделать?
лалай 14/06/20 Вск 08:55:16 1722175167
Аноним 14/06/20 Вск 08:57:15 1722178168
>>1722174
Что непонятно? Ты не знаешь, что такое двусвязный список?
лалай 14/06/20 Вск 09:01:50 1722180169
>>1722178
Я вообще слабо знаю программирование, это задача с универа
Аноним 14/06/20 Вск 09:06:35 1722182170
image.png 12Кб, 432x137
432x137
Аноним 14/06/20 Вск 10:36:25 1722211171
>>1722180
Ну возьми прочитай что такое двусвязный список, и сделай.
Тут нечего объяснять.
Аноним 14/06/20 Вск 11:00:59 1722226172
>>1721788
Если область видимости указателя когда-нибудь будет шире области видимости твоего объекта, все равно насосёшься хуёв.
Аноним 14/06/20 Вск 11:36:07 1722248173
>>1722174
Программирование это теория(5%)+практика(95%).
Аноним 14/06/20 Вск 11:55:34 1722256174
>>1721788
> Какие подводные?
Деструктор d всё равно вызывается.
В чём проблема создавать shared_ptr я не пойму? Какую проблему ты решаешь?
Аноним 14/06/20 Вск 12:04:04 1722263175
Аноним 14/06/20 Вск 12:48:14 1722286176
>>1722256
>Какую проблему ты решаешь?
Он не решает проблему, а создает. Шаред птр, не владеющий собственным ресурсом - это ли не проблема?
Аноним 14/06/20 Вск 13:53:44 1722333177
изображение.png 36Кб, 795x773
795x773
Насколько хорошо нужно знать геометрию и вычмат чтобы попасть на вакансию типа пикрил?
Аноним 14/06/20 Вск 13:58:46 1722339178
>>1722333
На уровне "построить матрицу вращения" и "найти угол между векторами".
Аноним 14/06/20 Вск 14:13:26 1722363179
>>1722339
А зачем тогда опыт в 3-6 лет хотят? Это же знает любой первокурсник технической специальности.
14/06/20 Вск 14:29:53 1722387180
>>1722363
Штобы штамповать код, делающий это.
Быстро. Без UB. С темплейтами и классами.
Аноним 14/06/20 Вск 14:36:35 1722402181
>>1722387
А джуну как быть? Если интересует геометрия, но не хочется 3 года писать говнецо на крестах под винду только ради опыта.
Аноним 14/06/20 Вск 14:47:39 1722414182
Аноны, как снимать хук RawInput? Вот я зарегал через RegisterRawInputDevices устройства, кинул хук, потом делаю UnhookWindowsHookEx и RegisterRawInputDevices пустым, но хук так и висит у меня, а инпуты не возвращаются к приложению. Мне надо вручную как-то устанавливать обратно на приложение эту поеботу? Или как это вообще делается, чтоб после хука я мог отключить его?
Аноним 14/06/20 Вск 17:43:26 1722750183
>>1722333
А меня могут взять на такое, если у меня нет опыта работы (вообще), но есть куча всевозможных физических симуляций на гитхабе с поверхностями, кватернионами и другими вычислительными методами (в том числе многопоточными или под видеокарту)?
Ну и ещё что-то про opengl, всякие ретрейстеры на октодеревьях, которые тоже про линейную алгебру.
Аноним 14/06/20 Вск 17:43:54 1722752184
>>1722750
А, да, высшего образования у меня тоже нет.
Аноним 14/06/20 Вск 17:47:45 1722761185
>>1722750
Есть только один способ узнать: взять и пойти на собес
Аноним 14/06/20 Вск 17:56:36 1722780186
>>1721760
>>1721618
Я же специально для вас даунов повесил в шапку ⚹⚹⚹⚹
Аноним 14/06/20 Вск 18:45:26 1722851187
Аноним 14/06/20 Вск 18:56:43 1722863188
>>1722851
Для начала пусть сам Раст вырастет из пердольного поделия уровня Nim. На этом говне только сами разработчики умеют писать. Ну или линукс-пердоли, которым и собака Bash норм. Мало того что при написании системщины мгновенно утыкаешься в стену и вынужден ансейфить, так ещё и все врапперы сишных либ на ансейвах и работают хуже чем без Раста.
Это говно просто не имеет задач. Индусы/веб-макаки/дети пусть на го/шарпе пишут, а нормальным пацанам и кресты норм.
Аноним 14/06/20 Вск 18:57:22 1722864189
>>1722851
Жили были два веселых друга Сан и Мазила. Но рядом с ними жил гадкий жирдяй Мелкомягок и похищал придуманные ими языки программирования
Аноним 14/06/20 Вск 18:59:13 1722868190
>>1722864
Надеюсь они MSRust сделают со встроенной гуйней
Аноним 14/06/20 Вск 19:28:44 1722893191
>>1722863
>>1722864
У этой шняги набор библиотек есть хоть какой-то? Или хотя бы биндинги к крестовым либам?
Аноним 14/06/20 Вск 19:54:08 1722913192
>>1722333
>умение разбираться в чужoм кoде.

яснo стандарта у этих уебанoв нет.
Аноним 14/06/20 Вск 19:55:25 1722914193
>>1722333
Если я бы oбладал такими знаниями я бы в oднo хлебалo запилил бы свoю игoрь, швырнул бы её в стим и сидел на деньгах oт шкoлoты
Аноним 14/06/20 Вск 19:59:27 1722917194
>>1722174
ты чё дурак? этo же элементарная хуета. тебе там даже вoн кусoк кoда дали как нужнo делать.

я бы такoе на oбычнoм struct в си бы сделал спoкoйнo
Аноним 14/06/20 Вск 20:06:15 1722919195
>>1722914
Там бешеная конкуренция, тысячи игр выходят.
Аноним 14/06/20 Вск 20:09:04 1722920196
>>1722919
главнoе не пoдалеть денег на рекламу. вoпрoс тoлькo в тoм чтo игра будет реальным гавнoм и вoзвраты oт игрoкoв или низкие прoдажи не oтoбьют даже денег пoтраченных на рекламу. да там пoдвoдных дoхуя, нo этo лучше чем идти на эту ебучую вакансию
Аноним 14/06/20 Вск 20:12:10 1722922197
>>1722919
Разве игры конкурируют с друг другом? Игруны бездонное горло. Это же накоманы.
Аноним 14/06/20 Вск 20:18:34 1722929198
>>1722922
Проблема с игрой в том что её очень долго и забёно писать. Потом ты её выкидаешь и люди её покупают. Но большинство разработчиков увы не выстреливают и их игры в лучше остаются на среднем уровне. То есть ты написал игру люди купили, основная волна прошла все преданные фанаты есть и денег и больше нет. Очень многие начинают тупо сосать бабло с фанатов игры выпуская длси, всякие новые ёба версии, разумеется всё это делается с максимальной ленью чтобы побыстрее бабла выскрести.

Ярки пример power revolution годная игра, аналагов ей нет. Но увы они продали 4 части в которых вообще толком нихуя не меняли даже баги не залатали. По итогу у этой игры очень часто можно встретить кучу негативных отзывов, т.к. фанаты игрушки очень сильно бугуртят с продажи одного и того же гавна.
Аноним 14/06/20 Вск 20:25:49 1722938199
>>1722333
К теме твердотельной геометрии линал с апроксимацией только 20% составляет. Также странно, почему нет требований по знаний верстки латекса и знание матлабаматлаба. Мне кажется, работа эта новая, нет ещё наработок
Аноним 14/06/20 Вск 21:12:12 1722989200
>>1722333
Зачем это нужно, если есть движки? Делай себе 3д модельки, если хочешь, можешь код на плюсах писать, не хочешь, пиши на блюпринтах.
Аноним 15/06/20 Пнд 02:23:58 1723153201
>>1719888 (OP)
В шапке качество книги страуструпа шакальное пиздец
Аноним 15/06/20 Пнд 02:54:15 1723155202
>>1722851
гугл транслейтом что ли переводили.
Аноним 15/06/20 Пнд 03:09:16 1723157203
>>1722256
>Деструктор d всё равно вызывается.
А чего ему вызываться, если reference count не изменится, объект не удаляется. Для этого и dtor у share_ptr переопределен на пустой. Сам объект d никуда не денется. А проблему я решаю с ебаным gmоck. Там такой компот, если че-нить тронишь начинаются какие-то side эффекты. Добился устойчивой работы, ну и ладно.
Аноним 15/06/20 Пнд 05:43:57 1723188204
изображение.png 21Кб, 701x206
701x206
Да ну, а почему нету _mm256_dp_pd?
И при этом какой-то треш вроде _mm_crc32_u8 там есть - хотя этот crc32 вряд ли заслуживает аппаратной поддержки, не говоря уж про то, что он и так достаточно быстро работает.
Аноним 15/06/20 Пнд 06:06:05 1723194205
>>1723157
Вот конкретный охуительный косяк:
если в EXPECT_CALL засунуть shared_ptr, то сам метод вызовется и вернет правильный объект, но вещи типа Times(0) не работают.
Если вместо шары засунуть объект, то все работает как надо.
А с unique_ptr вообще пиздец еботня. Иногда лечится с помощью std::move иногда нет. Короче все, надо всем на руст переползать. Так жить нельзя.
Аноним 15/06/20 Пнд 07:33:54 1723221206
>>1723194
Ты же в курсе, что толкать везде умные указатели - это пиздец говнокод.
Аноним 15/06/20 Пнд 09:07:09 1723264207
>>1723157
> Сам объект d никуда не денется.
Ну раз так, то нахуя тебе вообще умные указатели?
Аноним 15/06/20 Пнд 10:31:52 1723309208
ЗАВЕЗЛИ УМНЫЕ УКАЗАТЕЛИ
@
СЛИШКОМ ГЛУП ДЛЯ НИХ
Аноним 15/06/20 Пнд 10:34:05 1723310209
>>1723309
ЗАВЕЗЛИ УМНЫЕ УКАЗАТЕЛИ
@
ПРОСИРАЕШЬ РАСТУ В ПРОИЗВОДИТЕЛЬНОСТИ
@
ВОЗВРАЩАЕШЬСЯ К СЫРЫМ
@
ОШИБКИ ПАМЯТИ
@
РАСТ ГОВНО Я СКОЗАЛ
Аноним 15/06/20 Пнд 10:41:45 1723313210
>>1722989

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

Аноним 15/06/20 Пнд 10:42:32 1723314211
>>1723313

То есть игорь - можно, CAD - нельзя.
Аноним 15/06/20 Пнд 10:56:58 1723321212
image.png 146Кб, 799x472
799x472
>>1723313
>>1723314
Схуяли это нельзя, у них даже на сайте висят демонстрации как движок можно юзать не для игор.
Аноним 15/06/20 Пнд 11:03:36 1723332213
>>1723321

Не для игор - можно - визуализации заводов, разливов дизеля с ТЭЦ и прочую такую хуйню.

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


Аноним 15/06/20 Пнд 11:21:18 1723354214
Блять в книге Страуструпа 1400 страниц, чтo всё нужнo читать? Надеюсь, я пoсле этoгo стану титанoм пoгрoмирoвания
Аноним 15/06/20 Пнд 11:25:25 1723358215
>>1723354
Не станешь. Примерно по такой книжке в месяц надо читать, чтобы быть повыше среднего навозного уровня.
Аноним 15/06/20 Пнд 11:50:13 1723405216
>>1723354

Тебя еще александреску с его магией шаблонов ждет.

А потом тонных хтонических легаси говен уровня смешивания си с классами, крестов разных версий в одном проекте и шаблонной магии.
Аноним 15/06/20 Пнд 11:50:19 1723406217
>>1723354
Там вроде всякая элементарщина на сотни страниц размазана.
По крайне мере для начала книги, не знаю как для второй половины.
Аноним 15/06/20 Пнд 11:54:00 1723416218
>>1723406
Да я уже заметил читая предисловие что книга для ньюфань которые даже клавиатуры не нюхали. Но я уже после книжки Ритчи и Кернигана. Ладно буду эту книгу читать.
Аноним 15/06/20 Пнд 11:54:19 1723418219
Аноним 15/06/20 Пнд 11:55:39 1723422220
>>1723332
Это где ты такой запрет нашел?
Аноним 15/06/20 Пнд 11:56:14 1723425221
>>1723418
У него все папки начинаются со слова Cry неспроста.
Аноним 15/06/20 Пнд 12:01:05 1723438222
>>1723354
Ты если "с нуля", не Страуструпа читай. Возьми хоть какого-нибудь Столярова, чтобы от ассемблера попасть в Си, а потом уже в С++. Но написан Столяров этот ужасным языком, глаза вытекают от канцелярита, можно наверное оглавление посмотреть, и составить себе план на его основе, и пройти по другим книжкам.
Аноним 15/06/20 Пнд 12:09:50 1723458223
Двач, подскажите как среди набора векторов взять вектор в котором больше всего элементов?
Аноним 15/06/20 Пнд 12:17:29 1723472224
>>1723458
Пройтись по этому набору, проверяя длину векторов, и сохраняя указатель (или индекс, если это массив) вектора максимальной длины. Потом после окончания цикла - по этому указателю/индексу будет нужный вектор.
Аноним 15/06/20 Пнд 12:19:08 1723474225
>>1723438
прoще изучать с высoкoгo урoвня на низкий. я начал с питoна, перешёл на си, щас на с++ вхoжу. асм пoсле с++ будет. если бы я будучи ньюфаней oткрыл бы книгу пo си, я бы oхуел.
Аноним 15/06/20 Пнд 12:24:33 1723485226
>>1723474
Ну ок, если ты так пошел - почему тогда ассемблер после С++?
Его же лишь немного надо задеть, сразу после Си тогда заебись - можно увидеть почти прямо "маппинг" сишного кода в ассемблер.

Отрубить оптимизацию, и еще у гцц есть ключ, с котором он не в машинный код компилирует, а в ассемблер - вообще красота будет и сразу всё понятно.
Аноним 15/06/20 Пнд 12:27:46 1723493227
>>1723458
std::max_element(d.begin(), d.end(), [](auto& c, auto& b){return c.size() > b.size();});
Аноним 15/06/20 Пнд 12:29:19 1723494228
>>1723485
ну пoтoму чтo там решил уж. спасибo анчoус, нo буду изучать уж как план пoстрoил книгу прoчитаю и пoйду на асм.
Аноним 15/06/20 Пнд 12:30:57 1723496229
>>1723438
Самый неудачный способ изучения. Как уже выше писалось начинать надо изучать с выского уровня переходя на более низкий. Никто из не начинал знакомство с компьютером с нолика и единички. Мы все начинали водить мышкой и кликать кнопки в окнах. А не сразу садились за ассемблер. Всё начинается с простого постепенно переходя к сложному. Ребёнок с миром не начинает знакомтсво с разбора его на атомы и молекулы.
Аноним 15/06/20 Пнд 12:37:24 1723501230
>>1723496
А мне кажется нормальный способ. Ассемблер же не будешь выдрачивать до совершенства со старта. Хелло ворлд там, квадратное уравнение какое-нибудь решить, массив отсортировать - и уже пошел в Си. Он (ассемблер) только и нужен, чтобы понять что за зверь такой - указатель, и что там примерно происходит когда вызываешь функцию, или когда делаешь арифметическую операцию.
Аноним 15/06/20 Пнд 12:47:39 1723511231
>>1723501

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

И нихуя не узнаешь.

Потому что компилятор может заинлайнить, может завекторизировать, может наоборот развернуть цикл и вообще, лучше тебя и твоих учителей из книжек по ассемблеру времен Pentium 1 в лучшем случае, в курсе о последней мете в оптимизации на архитектурах современных корок и рязаней.

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

Ну может еще AVX ИНСТРУКЦИИ ПОКАЖИ ТКНИ вручную запилить, что бы сделать код непереносимым, но БЫСТРЫМ ОЛОЛО АЖ НА КОНСТАНТУ ПЕРЕД N - но и тут есть интринсики, которые делают это лучше.
Аноним 15/06/20 Пнд 12:49:35 1723513232
>>1723493
>d.begin(), d.end()
Мне вектора перед этим в вектор засовывать?
Аноним 15/06/20 Пнд 12:49:37 1723514233
>>1723511

Ну и да, тут выше выкладывали ссылку на гитхаб круйзиса.

>>1723418

Производительность, гейдев, еба грофон, вот самое то пример.

Ради интереса посчитай дохуя ли там ассемблера и интринсиков в классах использовано, или же всё же люди не идиоты?
Аноним 15/06/20 Пнд 12:53:23 1723516234
Аноним 15/06/20 Пнд 13:01:35 1723526235
image.png 33Кб, 1047x607
1047x607
>>1723511
Ты как-то резко перескочил с задачи обучения на задачи из реальной жизни.

>Потому что компилятор может заинлайнить, может завекторизировать, может наоборот развернуть цикл
Серьезно?

Процитирую себя, раз уж ты взялся отвечать на один пост, а не включиться в дискуссию целиком:
>Отрубить оптимизацию, и еще у гцц есть ключ, с котором он не в машинный код компилирует, а в ассемблер
Аноним 15/06/20 Пнд 13:06:05 1723532236
>>1723526
>>Потому что компилятор может заинлайнить, может завекторизировать, может наоборот развернуть цикл
>Серьезно?

На твоей картинке до 23 строчки, если что, стандартный пролог в котором программа себе стек подготавливает. Сам твой код скомпилировался в строчки 23-27.

Аноним 15/06/20 Пнд 13:14:13 1723553237
>>1723418
Шо це за хуйня?
bool CheckNAN(const f32& f)
{
return (((unsigned)&(f)) & 0xff000000) != 0xff000000u && ((unsigned)&(f) != 0x7fc00000);
}
Аноним 15/06/20 Пнд 13:15:11 1723557238
Аноним 15/06/20 Пнд 13:16:54 1723560239
Screenshot20200[...].jpg 32Кб, 1564x226
1564x226
>>1723557
AnimatedCharacter.cpp
Вот по нормальному.
Аноним 15/06/20 Пнд 13:19:40 1723563240
Аноним 15/06/20 Пнд 13:24:02 1723568241
image.png 46Кб, 1002x979
1002x979
>>1723532
>если что
Ну нихера себе ты какой умный. Прям глаза мне открываешь. Сам-то я дремучий, не знал никогда ничего подобного.

Неужели отрицаешь учебную ценность написания какой-нибудь мелкой хрени на ассемблере, потом такой же на Си, и сравнения потом листингов твоих, и тех что выдает gcc с флагом -S ?
Аноним 15/06/20 Пнд 13:48:35 1723589242
Сейчас на проекте встретил похожий код, не понимаю строчку
>qAudioDevice->write(samplebuffer.data(),towritedevice);
https://stackoverflow.com/questions/32049950/realtime-streaming-with-qaudiooutput-qt
Может кто объяснить на какой девайс я отдаю данные? Я думал может это на аудиовыход идёт, но не уверен.
Аноним 15/06/20 Пнд 14:25:13 1723644243
Двач, как юникод выводить в консоль на windows 7?
Аноним 15/06/20 Пнд 14:26:27 1723645244
>>1723644
это заёбно. нужно windows.h подключать точно. я как-то раз делал уже.
Аноним 15/06/20 Пнд 14:27:23 1723647245
Аноним 15/06/20 Пнд 14:27:50 1723648246
>>1723645
А в windows 10 что с выводом юникода? Заёбность пофиксили?
Аноним 15/06/20 Пнд 14:28:28 1723650247
Аноним 15/06/20 Пнд 14:29:31 1723651248
>>1723648
>>1723648
по-моему способ вывода юникода что в 7 что в 10 один и если ты в 7 это сделаешь это же будешт и в 10ке работать.
Аноним 15/06/20 Пнд 14:30:06 1723652249
>>1723648

Нет, выкидывание cmd.exe поломает всё нахуй поэтому в третьем десятилетии 21 века ты будешь страдать от ДОСОВСКОЙ КОДИРОВКИ
Аноним 15/06/20 Пнд 15:53:16 1723754250
>>1723553
>>1723563
Не удивлюсь, если это UB. Стандарт ведь не требует, чтобы обязательно был IEEE-754.
Аноним 15/06/20 Пнд 16:14:28 1723785251
>>1723754
Это не UB, это platform specific или что-то в этом роде

Игровые движки все равно затачиваются под конкретную платформу, поэтому им норм.
Аноним 15/06/20 Пнд 16:28:11 1723807252
>>1723553
>>1723754
Почему бы просто не сделать if (f != f) return true; ? При NaN же число не равно самому себе.
Аноним 15/06/20 Пнд 16:30:38 1723810253
>>1723807
Скорее всего их реализация быстрее. Команда сравнения чисел с плавающей точкой может требовать больше тактов.
Аноним 15/06/20 Пнд 16:35:21 1723815254
>>1723785
>Это не UB, это platform specific или что-то в этом роде
Это UB из-за нарушения strict aliasing rules предпочитаю именовать это во множественном числе.
Аноним 15/06/20 Пнд 16:44:11 1723823255
>>1723815
Strict aliasing может быть отключен в параметрах компилятора или локально прагмами

Плюс, ни один реальный компилятор не сломает этот код даже без настроек.
Аноним 15/06/20 Пнд 16:51:54 1723832256
И всё равно у меня юникод не выводится
SetConsoleOutputCP(CP_UTF8);
std::cout << "♠" << std::endl;
Аноним 15/06/20 Пнд 16:53:19 1723833257
Аноним 15/06/20 Пнд 16:55:18 1723835258
Аноним 15/06/20 Пнд 17:14:00 1723860259
Аноним 15/06/20 Пнд 17:20:35 1723866260
Аноним 15/06/20 Пнд 17:42:58 1723893261
>>1723553
Это велосипед. Для флоата есть стандартные функции определения класса чисел.
Аноним 15/06/20 Пнд 17:47:14 1723897262
>>1723893
Которые кроссплатформенны из за чего сосут по производительности.
Аноним 15/06/20 Пнд 17:56:38 1723906263
Аноним 15/06/20 Пнд 18:00:28 1723909264
>>1723897
А в чём заключается разница между разными платформами?
Они могут использовать разный формат числа с fp? Или чё там, регистры бывают меньше чем 4 байта? Или выяснение нан или не-нан происходит в FPU, а туда засылать/вынимать медленно?

Поясни, пожалуйста.
Аноним 15/06/20 Пнд 18:07:26 1723927265
>>1723897
>Которые кроссплатформенны из за чего сосут по производительности.
Связи между посылом и выводом — нуль.
Аноним 15/06/20 Пнд 18:09:19 1723929266
>>1723560
В чем смысл передачи флоата по константной ссылке?
Аноним 15/06/20 Пнд 18:12:51 1723934267
>>1723929
Возможно, вся эта канитель с манипулированием битами и передачей по ссылке имеет под собой одну цель — не трогать регистры с плавающей точкой.

Правда, смысл не совсем ясен, число, которое в объекте на который передают ссылку наверняка побывало в таком регистре да и ещё, возможно, было пролито в память только для передачи по ссылке.
Аноним 15/06/20 Пнд 18:15:59 1723938268
>>1723934
Слушай, а может быть у них там есть самописная арифметика с плавающей точкой? Например показатель всегда одинаковый, а они только мантиссы туда-сюда херачат битовыми операциями? (и всё это каким-нибудь расширением типа SSE, чтобы сразу массивы аппаратно обрабатывались)

Хотя зачем тогда проверять NAN и как он может возникнуть - непонятно нихера.
Аноним 15/06/20 Пнд 18:28:18 1723950269
>>1723938
Doom так работал. Они использовали математику с фиксированой точкой в 32битных целых. В те времена выбора не было, операции с плавающей точкой были слишком медленными.

Сейчас в этом нет смысла.
Аноним 15/06/20 Пнд 18:33:32 1723953270
Аноним 15/06/20 Пнд 18:37:59 1723956271
>>1723950
>Сейчас в этом нет смысла.
Постоянно сталкиваюсь на работе с данными в ARINC 429.
Аноним 15/06/20 Пнд 18:46:08 1723963272
>>1723953
Костыль быстрее на 0.06% по результатам нескольких тестов. Так что соси
Аноним 15/06/20 Пнд 18:49:30 1723968273
>>1723953
Компилятор делает такую же оптимизацию что и они.
Аноним 15/06/20 Пнд 18:52:24 1723973274
>>1723953
>>1723968
> Copyright 2001-2019 Crytek GmbH / Crytek Group. All rights reserved.

Может это конкретный код 2001год, кто знает.
Аноним 15/06/20 Пнд 19:22:54 1723992275
>>1723953
Если в 1 случае не вызывать функцию, будет быстрее.
15/06/20 Пнд 20:20:57 1724027276
[code]
movl $0x7fc00000,0xc(%rsp)
movb $0x1,0xb(%rsp)
cmpb $0x0,0xb(%rsp)
setne %al
[/code]
vs
[code]
ucomiss %xmm0, %xmm0
setp %al
[/code]
Аноним 15/06/20 Пнд 20:26:59 1724031277
Аноним 15/06/20 Пнд 20:39:39 1724048278
Сап, двач. Дай советов мудрых по шаблонам.

Предположим, есть template<int arr[1024]>
что-то там дальше...

Когда я проинстанцировал шаблон, где именно хранится данный массив-параметр шаблона? То есть, если для каких-нибудь мелких параметров типа int-ов они (обычно) тупо сразу вставляются в код как immediate-параметры, но что происходит с более сложными объектами типа того же массива?

Что изменится, если я сделаю так?
template<int (&arr)[1024]>
что-то там дальше...

Правильно ли я понимаю, что теперь, если я буду менять массив, с помощью которого шаблон инстанцировался, то эти изменения будут оказывать влияние и на шаблонную функцию/класс (т.к. там теперь ссылка)?

Что мне следует выбрать (arr, const arr, (&arr), const (&arr) или другое), если массив известен на этапе компиляции (и не меняется) и я хочу, чтобы мне компилятор максимально поанроллил какие-нибудь циклы, завязанные на данный массив-параметр шаблона? Ну, или какие другие оптимизации сделал.
Аноним 15/06/20 Пнд 20:41:25 1724051279
Screenshot2020-[...].png 276Кб, 1055x1403
1055x1403
Screenshot2020-[...].png 163Кб, 1043x975
1043x975
Аноним 15/06/20 Пнд 20:42:39 1724053280
>>1724048
К первому вопросу ещё добавочка:

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

То есть, template<int arr[1024]>
эквивалентно
template<int* arr>

Это так?
Аноним 15/06/20 Пнд 20:44:35 1724056281
>>1724051
Что именно впечатляет?
Аноним 15/06/20 Пнд 20:47:37 1724058282
>>1724056
что там все есть и все продумано замудрено пиздец, это тебе не risc-v в котором просто нихуя нет.
Аноним 15/06/20 Пнд 20:50:16 1724061283
1446292493476.png 1881Кб, 941x1353
941x1353
>>1723153
Не угадалхотя не удивлюсь, если там обложки одинаковые
Аноним 15/06/20 Пнд 20:50:53 1724063284
>>1724056
Какие-то сложносоставные команды.
На интеле сначала например and, потом cmp
а тут ебала cmpand - два в одном.

>>1724058
Это же как-то называется?
А вот сам нагуглил:
>VLIW (англ. very large instruction word — «очень длинная машинная команда») — архитектура процессоров с несколькими вычислительными устройствами. Характеризуется тем, что одна инструкция процессора содержит несколько операций, которые должны выполняться параллельно
Аноним 15/06/20 Пнд 20:53:52 1724067285
>>1724053
Не надо изучать плюсы методом тыка. Читай книжки, изучай как работают шаблон, вывод типов аргументов, специализации и прочее.
Аноним 15/06/20 Пнд 20:56:25 1724071286
>>1724067
Мне надо написать шаблон для элементов алгебры с заданной на этапе компиляции таблицей умножения и забыть об этом как о страшном сне. Поэтому мне выгодней по времени задать вопрос.
Аноним 15/06/20 Пнд 21:01:13 1724078287
>>1724063
> а тут ебала cmpand - два в одном.
> А вот сам нагуглил:
Лол нет (если я тебя правильно понял)

cmpand - это не команда, это одна операция на юните, команды выглядят вот так:

{
disp %ctpr3, $strlen; ipd 2
ldd,0,sm %dr14, [ _f32s,_lts0 $__eh_curr_region_tls@TLS_IE ], %dr35, mas=0x4
cmpedb,1,sm %dr3, 0x0, %pred0
ldd,2,sm %dr3, 0x0, %dr33
ldd,3,sm %dr14, [ _f32s,_lts2 $__curr_eh_stack_entry_tls@TLS_IE ], %dr36, mas=0x4
addd,4,sm 0x8, %dr7, %dr7
ldd,5 %dr1, %dr7, %dr34
}
Аноним 15/06/20 Пнд 21:17:58 1724095288
>>1724071
В таком случае найми фрилансера делать за тебя домашку, а здесь такое не приветствуется.
Аноним 15/06/20 Пнд 21:30:56 1724116289
>>1724095
Это не домашка, а попытка сделать бекенд производительнее... Да и вопрос я задал не в формате "я не понимаю, сделайте за меня", а по конкретной объективной вещи, касающейся языка. Если на каждый вопрос отвечать "смотри man/стандарт/справочник", то данная борда теряет смысл.
Аноним 15/06/20 Пнд 21:32:41 1724120290
>>1723648
Начиная со сборки 1903 можно в настройках включить юникод
Аноним 15/06/20 Пнд 21:45:24 1724131291
>>1724116


ЗАДАЁШЬ РЕАЛЬНО ИНТЕРЕСНЫЙ ВОПРОС
@
ТРЕД УМЕР, БОЛЬШЕ В НЕГО НИКТО НЕ ПИШЕТ
@
ТЯН ПРОСИТ ПОМОЧЬ С LABA2.CPP
@
ТРЕД МОМЕНТАЛЬНО УЛЕТАЕТ В БАМПЛИМИТ



> Array and function types may be written in a template declaration, but they are automatically replaced by pointer to object and pointer to function as appropriate.

Ну то есть будет у тебя в бинарнике лежать массив, а в типе только указатель на него.

Интересно, что там c++20 поменяет? Ведь можно будет передать literal class type - std::array например
Аноним 15/06/20 Пнд 21:47:59 1724134292
Аноним 15/06/20 Пнд 22:06:50 1724150293
>>1724131
В чем проблема ебануть статик констэкспром std::array<T, N> тупо ссылаться на него?
И тип, и размер известны. Компилятор сможет на оптимизации хоть издрочиться.
Аноним 15/06/20 Пнд 22:17:29 1724161294
>>1724150
Это по сути то же самое, что сейчас есть. В c++20 можно будет "по значению" array передать
Аноним 15/06/20 Пнд 22:19:00 1724163295
>>1724161
на чём пишется кoмпилятoр с++? на с++?
Аноним 15/06/20 Пнд 22:21:35 1724165296
>>1724163
Хоть на JS. Компилятор тупо преобразует одни байтики в другие.
Аноним 15/06/20 Пнд 22:22:35 1724166297
>>1724165
Не, не. На чём щас пишется кoмплятoр С++20. На чём? АСМ? Серьёзнo скажи чтo там?
Аноним 15/06/20 Пнд 22:23:46 1724168298
Аноним 15/06/20 Пнд 22:35:59 1724183299
>>1724163
Шланг, ГЦЦ и МСВЦ написаны на С++. На чем написана интелопараша - без понятия
Аноним 15/06/20 Пнд 22:37:35 1724184300
>>1724183
хотя не, ГЦЦ все еще надрачивает на Си
Аноним 15/06/20 Пнд 22:38:59 1724186301
Почему нужно писать <iostream> а не <iostream.h> я видел в стандарте начала 90-х писали с .h а сейчас h убрали. Почему?
Аноним 15/06/20 Пнд 22:41:14 1724188302
>>1724186
В стандарте так написано. То, что ты видел - это говно мамонта
Аноним 15/06/20 Пнд 22:41:59 1724190303
>>1724184
А зачем в компиляторе си?
Аноним 15/06/20 Пнд 22:42:19 1724192304
Аноним 15/06/20 Пнд 22:43:08 1724193305
>>1724188
ну так пoчему? пoчему h убрали?
Аноним 15/06/20 Пнд 22:48:41 1724197306
Аноним 15/06/20 Пнд 22:50:57 1724200307
Аноним 15/06/20 Пнд 22:52:01 1724201308
Аноним 15/06/20 Пнд 22:52:26 1724203309
>>1724190
А зачем в компиляторе %language_name%?
Аноним 15/06/20 Пнд 23:50:27 1724244310
А какие по вашему нормальные задания для жунов без опыта дают? Мне кажется мои таски какие-то больше мидловые чем жуновые.
Аноним 16/06/20 Втр 00:11:06 1724258311
>>1724120
Буду благодарен, если вы объясните как.
Аноним 16/06/20 Втр 06:00:47 1724373312
>>1724166
> Не, не. На чём щас пишется кoмплятoр С++20. На чём? АСМ? Серьёзнo скажи чтo там?
"кoмплятoр С++20" такой вещи сейчас нет, язык вначале парсится/разбирается фронтендом - это практически отдельная программа (clang например) которая может быть написана хоть на JS, а потом уже в бакенд передается AST представление кода программы, а бакенд уже непосредственно строит по нему программу в кодах машины. В основном бакенды компиляторов пишут на Си, есть там вставки на ассемблере в платформозависимой части кода кудаж без них, но вообще я слышал мнение от компиляторщиков что Си уже маловато, где то и регекспы бы неплохо было заюзать и со строками по проще работать и все вот это вот.
Аноним 16/06/20 Втр 06:04:36 1724375313
>>1724244
Задания джунам дают такие, где нужно только написать/отладить код, ничего не изобретая. То есть не уровня "запили вот эту фичу" (а как именно придумай сам), а уровня "напиши вот такой-то класс/функцию" - с чётко описанным интерфейсом такого класса/функции, и с требованиями какое поведение от него требуется.
Аноним 16/06/20 Втр 06:25:23 1724380314
>>1724375
Ой бля это же пиздец, а нельзя как то сразу мидлом стать с ноля такскать или как то показав что ты инициативный чел?
Аноним 16/06/20 Втр 06:33:51 1724381315
>>1724380
Может быть и можно. Но скорее всего около года придется подрочиться джуном, просто чтобы поняли что ты дисциплинированный, не проебываешься. Ну и понять что контора вообще делает, какие особенности. Такой себе испытательный срок, но длящийся подольше.

По себе: вот я устроился в сентябре (это было много лет назад), зарплата была только на поддержание штанов. К следующему лету стали доверять принимать собственные решения, и сразу зарплату подняли вдвое. Тогда еще не было четких терминов джун/миддл, но это было примерно оно.
Аноним 16/06/20 Втр 06:54:03 1724385316
>>1724381
Ясно, ну честно говоря деньги как то и похуй вначале, лишь бы взяли просто (в чем есть большие сомнения).
Ты как вообще вкатывался с чем?
Аноним 16/06/20 Втр 10:14:05 1724467317
Аноним 16/06/20 Втр 10:19:36 1724468318
>>1724078
>одна инструкция процессора содержит несколько операций, которые должны выполняться параллельно
Не вижу противоречия пока.
Аноним 16/06/20 Втр 10:27:13 1724471319
>>1724467

И очень жаль.

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

Вот эта штука должна была быть вообще главным процессором Intel, сам хуй 86 изначально пректировался как бюджетная хуйня из под коня для бомжей:

https://en.wikipedia.org/wiki/Intel_iAPX_432

Потом когда 432 не взлетел а хуйню из под коня заказал межделмаш и завертелось интел подохуел и решил срочно сынку вальнуть:

https://en.wikipedia.org/wiki/Intel_i860

Попытка 2:

https://en.wikipedia.org/wiki/Intel_i960

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

Жалко.

Аноним 16/06/20 Втр 10:30:05 1724472320
>>1724471
Нет, не жаль.
86 не в пример лучше получилась
Аноним 16/06/20 Втр 10:32:56 1724473321
>>1724166
Clang на плюсах, GCC на си, MSVC хрен знает, скорее всего на плюсах

>>1724471
Хватит

Писать

Вот так
Аноним 16/06/20 Втр 10:33:47 1724474322
>>1724472

>86 не в пример лучше получилась

Любишь с помойки жрать?

Потому что x86 помойка как есть.
Аноним 16/06/20 Втр 10:36:29 1724478323
Аноним 16/06/20 Втр 10:46:08 1724481324
>>1724474

Не помойка, а живая, развивающаяся архитектура, потому что успешная и работающая. Да, у какой нибудь некро-трупа вроде MIPS маны покрасивше и покороче. Но только лишь потому, что оно сдохло. У ARM сейчас точно такая же "помойка" как ты выразился, исключительно по причине того что он жив и развивается а не сдох как ваш MIPS и прочие Alpha.


Аноним 16/06/20 Втр 11:19:29 1724499325
image.png 12Кб, 462x233
462x233
Как это блять работает? Почему const вдруг решил встать после pointer, а не перед ним?
Аноним 16/06/20 Втр 11:31:51 1724510326
>>1724499
Путаешь константный указатель и указатель на константные данные.
Аноним 16/06/20 Втр 11:41:30 1724517327
>>1724510
Так если pointer = value_type★ логично же, что const pointer = const value_type★, а не value_type★ const. Но c++ думает иначе.
Аноним 16/06/20 Втр 12:05:56 1724533328
Двач, как правильно выводить элементы вектора с разделителем (без разделитяеля после последнего элемента)?
Аноним 16/06/20 Втр 12:13:54 1724539329
>>1724533
Сделать условный оператор, который будет возвращать ", " если элемент не последний, и "\n" если последний

примерно:
std::cout << x << икс_последний ? "\n" : ", "
Аноним 16/06/20 Втр 12:17:00 1724544330
>>1724533
У всех свои велосипеды типа boost::algorithm::join
Аноним 16/06/20 Втр 12:17:53 1724546331
>>1724544
Да какой ему там джойн, явно лабу делает. Пусть свой велик прямо инлайн пишет.
(а вообще это называется interscalate)
Аноним 16/06/20 Втр 12:19:14 1724548332
Аноним 16/06/20 Втр 12:19:57 1724550333
>>1724546
Я всегда intersperse называл
Аноним 16/06/20 Втр 12:24:24 1724558334
>>1724544
>boost::algorithm::join
Почему в std этой хуйни нету?
В том же самом питоне есть, и там вывод строк с разделителем делается очень легко и просто.
Аноним 16/06/20 Втр 12:27:06 1724559335
>>1724517
const -- это не какая-то хуйня, которая слева или справа присобачивается. Лично я предпочитаю писать
T const ★ const ptr = ...;
Тут получше видно, какой const что делает.
Аноним 16/06/20 Втр 12:42:24 1724565336
>>1724558
Потому что работа со строками (если это не парсинг) в сиподобных языках - зло. Да и есть std::accumulate, которым в два счёта делается с помощью лямбды.
Аноним 16/06/20 Втр 12:47:18 1724567337
>>1724533
template <class T>
void print (std::vector<T> &v)
{
____if (v.empty()) return;
____std::ostream_iterator<float> i(std::cout, ", ");
____std::cout << "[ ";
____std::copy(v.begin(), v.end(), i);
____std::cout << "\b\b ]\n";
}
=)
Аноним 16/06/20 Втр 12:48:30 1724569338
>>1724567
ostream_iterator<T> конечно же
Аноним 16/06/20 Втр 13:16:31 1724596339
>>1724558
>Почему в std этой хуйни нету?
Главный вопрос в плюсах. В питоне вон в стандартной либе есть гуй, три парсера xml, сокеты, две реализации процессов, http-сервер и дохуища остального.
Аноним 16/06/20 Втр 13:52:21 1724632340
>>1724596
Потому что её и так охуеешь имплементировать на 100МГц-64Кб вёдра.
Алсо складывается впечатление, что не хотят вводить всякие модные штуки с неявными аллокациями - все эти join, slice и т.п. Вон strdup в С приняли только после 30 лет копротивления.
Аноним 16/06/20 Втр 14:37:54 1724667341
Screenshot2020-[...].png 223Кб, 1071x1160
1071x1160
Screenshot2020-[...].png 301Кб, 1046x2553
1046x2553
>>1724468
> Не вижу противоречия пока.
Не ну просто я подумал ты cmpand считаешь за широкую команду типа две операции в одной.
На самом деле это одна операция и они стопкой упаковывааются в одну инструкцию (бандл) в фигурных скобках, потом вся эта гормошка в одном такте запускается. Но это не какой то супер новый подход.

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

Но понятно что эти как бы фичи это просто программная альтернатива тому что в таких процессорах как интел автоматически как то разрешается.
Аноним 16/06/20 Втр 15:42:51 1724733342
Двач, не соображу, подскажите приемлемый алгоритм, есть вектор векторов, как получить вектор с наибольшим количеством элементов? Или несколько векторов если вектор с максимальным количеством элементов не один.
Аноним 16/06/20 Втр 15:46:13 1724737343
Аноним 16/06/20 Втр 15:49:59 1724746344
>>1724737
Так это не я был. Скорее всего ты перепутал меня с моим братишкой, мы единоутробные.
Аноним 16/06/20 Втр 16:09:05 1724777345
Крестончики, посоветуйте минималистичную либу/фреймворк/движок для написания игорей на С++ под мобилки (iOS/Android) с поддержкой CMake.

Пока попробовал только cocos2d-x. Завелось с полпинка, в целом вроде ок под виндой, но вангую траблы при конпеляции на iOS/Android ещё не успел всё настроить. Может есть более приятный стул который я не смог нагуглировать?

SDL/SFML тоже пробовал, там всё очень сыро
Аноним 16/06/20 Втр 16:22:35 1724805346
>>1724559
>★
СУКА БЛЯТЬ КАКАЯ ЖЕ ХУЙНЯ
⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹
⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹
⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹
⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹
⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹
⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹⚹
Аноним 16/06/20 Втр 16:32:09 1724820347
>>1724805
Анон гуглит "юникод звезда" и копирует самое первое, то есть ★

⚹Тест⚹
test Аноним 16/06/20 Втр 16:45:56 1724843348
int ☀a;
bool ⚹pBool;
char ⛤q;
const void ☆☆ const p = 1 ⚛ 2;
[code]void [/code]
<pre>int
</pre>
>char
[c]char
[/c]
Аноним 16/06/20 Втр 16:53:47 1724857349
Аноним 16/06/20 Втр 16:55:03 1724862350
>>1724843
Потому что нужна не звезда (star), а asterisk.
Аноним 16/06/20 Втр 16:56:01 1724865351
Аноним 16/06/20 Втр 16:58:18 1724868352
Когда уже нормальные эмодзи завезут? Даже в сабже уже есть.
Аноним 16/06/20 Втр 16:58:59 1724871353
>>1724857
Предлагаю это звезду взять за официальный символ указателя ИТТ. Ведь именно в указателе и вся дьявольская мощь и всё дьявольское коварство С++.
Аноним 16/06/20 Втр 17:18:19 1724902354
Аноним 16/06/20 Втр 17:31:05 1724921355
>>1724871
>коварство C✝✝
фикс
Аноним 16/06/20 Втр 17:45:22 1724934356
Аноним 16/06/20 Втр 19:22:26 1725068357
>>1724805
>>1724820
Мне даже гуглить было лень, я скопировал с поста, на который отвечал.
Аноним 16/06/20 Втр 19:29:49 1725082358
>>1725068
Оно в шапке лежит, посмотри внимательнее
Аноним 16/06/20 Втр 19:48:44 1725102359
>>1725082
Не заметил. Не сильно эта твоя снежинка лучше. Вон, у этого анона >>1724902 звёздочки посимпатичнее.
Аноним 16/06/20 Втр 23:24:33 1725346360
>>1719888 (OP)
Начал читать книжку Страуструпа, он там о себе рассказывал написал что большую часть времени своей жизни он участвует в застольях с друзьяшками и поэтому вынужден заниматься спортом чтобы себя в форме держать лол.
Аноним 16/06/20 Втр 23:27:48 1725353361
>>1725346
Я почитал так что Страуструп о себе пишет, даже его авторский сайтик он такой социоактивный человек довольно. Интересно когда он успел столько всего разобрать в айти если он социоблядок с двумя детьми и женой.
Аноним 16/06/20 Втр 23:29:38 1725358362
Норм, что я сортировку слиянием полностью с первого прочтения не осилил (основной принцип понял, но сам бы сразу не написал) или это маркер еблана?
Аноним 16/06/20 Втр 23:40:04 1725374363
>>1725358
маркер еблана вот такие вот вопросы задавать, а не продолжать раскуривать то, что не понятно
Аноним 16/06/20 Втр 23:41:32 1725375364
>>1725358
знал бы ты как я в своё время 2 дня пытался понять работу побитовых операций. пока не дошло что число в памяти представляется как 32-х значное двоичное число.
Аноним 16/06/20 Втр 23:41:44 1725376365
>>1725374
Сейчас то я уже понял с алгоритмической точки зрения. Сейчас буду думать как это записать. Просто интересно как у других с этим обстоят дела
Аноним 16/06/20 Втр 23:41:53 1725377366
>>1725375
а потом ещё указатели это целая эпоха была... хе-хе
Аноним 16/06/20 Втр 23:42:21 1725378367
>>1725376
все учатся по разному. Главное - результат.
Аноним 17/06/20 Срд 00:30:59 1725483368
Читая ваш тред я научусь программировать?
Аноним 17/06/20 Срд 01:03:51 1725530369
>>1725483
Читая наш тред, ты деграднёшь и никогда не сможешь писать нормальный код
Аноним 17/06/20 Срд 01:14:59 1725544370
>>1725530
> ты никогда не сможешь писать код
Пофиксил.
Аноним 17/06/20 Срд 03:00:58 1725638371
>>1724061
Я имел в виду из фака там по ссылке книгу на планшете нереально читать
Аноним 17/06/20 Срд 03:22:06 1725639372
>>1723264
При чем тут мне. Есть либа, из нее наружу торчит extern пойнтер на глобалный класс. Ему логично быть умным. А моя задача его наебать и подсунуть ему как бы умный указатель, а на самом деле хитрый указатель, который притворяется умным. Потому что это объект на стеке. Это же охуенно, косяки обходить посредством наебок. Считаю, что если знаешь, что делаешь, то наебывать умные указатели это очень круто и черный пояс джедай лвл.
Аноним 17/06/20 Срд 03:23:03 1725640373
>>1725544
> ты никогда не сможешь писать
Пофиксил
Аноним 17/06/20 Срд 07:54:38 1725744374
Стал изучать этот ваш цпп си плюс плюс.
Короче почитал про синтаксис, какие-то примеры в консоли сделал, решил перейти к реальной задаче, там мне надо было делать HTTP-запросы неблокирующие, стал естественно искать библиотеку, библиотека разумеется не одна, рандомно выбрал easyhttpcpp от Sony ибо бренд знакомый, у меня их mp3 плеер с 2013 года и ни одного косяка. Короче стал прикручивать и охуел просто, там в зависимостях еще какая-то огромная библиотека ебиблиотека POCO, она вроде и собирается без ошибок (есть для VS проект), но видимо как-то не до конца; через VCPKG таки поставил ее, но там везде все делается через cMake и я так понял, что тут без шансов: так и не смог нормально прописать ей пути, чтобы она нашла эту ебучую либу. Работа с зависимостями в языке никакая. Разумеется, можно бросить, попробовать взять какую-нибудь header-only либу, но нет, я уже понял, что ваши плюсы - говно.

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

Видимо, язык хорош для разработки производительных низкоуровневых приложений с минимумом зависимостей, где критично потребление памяти, он явно не для того, чтобы быстро что-то написать и забыть.
Аноним 17/06/20 Срд 07:56:55 1725745375
>>1725744
Возьми qt, если хочешь не ебаться с мелочами, а выучить именно язык.
Идея не в хорошести именно qt, а в том, что в одной либе собрано всё что может понадобиться (в том числе и хттп), одну её поставил, и уже пишешь.
Аноним 17/06/20 Срд 08:01:55 1725747376
>>1725639
Может быть лучше внимательно доки прочитать, почему так сделано? Хотя глобальный shared_ptr это пиздец.
Аноним 17/06/20 Срд 08:02:32 1725748377
>>1725744
>перейти к реальной задаче, там мне надо было делать HTTP-запросы неблокирующие, стал естественно искать библиотеку
И чего вы все сразу лезете вот в эти HTTP/XML.
Закономерно хлебнул говна.
Аноним 17/06/20 Срд 08:04:39 1725751378
>>1725744
То есть зависимости поставить через vcpkg ты догадался, а саму либу нет? А доки к vcpkg прочитал? vcpkg integrate install и не нужно нигде никаких путей указывать
Аноним 17/06/20 Срд 08:42:27 1725770379
>>1725483
Нет, надо писать код самому. Но тут могут подсказать если возникли какие-то вопросы или ошибки.
Аноним 17/06/20 Срд 09:18:20 1725801380
14419937137580.jpg 38Кб, 562x437
562x437
>>1725744
>почитал про синтаксис
>решил перейти к реальной задаче
>делать HTTP-запросы неблокирующие
>ваши плюсы - говно

Эталонный неосилятор. Впрочем, что еще ожидать от спермобляди.

>от Sony ибо бренд знакомый, у меня их mp3 плеер с 2013 года и ни одного косяка
Лоллировал.
Аноним 17/06/20 Срд 09:42:04 1725816381
>>1725751
>То есть зависимости поставить через vcpkg ты догадался, а саму либу нет? А доки к vcpkg прочитал? vcpkg integrate install и не нужно нигде никаких путей указывать
Увы, авторы либы не считают нужным поддерживать пакет vcpkg, о чем они прямо заявляют. Ведь в вашем C++ же нет работы с зависимостями, вместо этого много разрозненных менеджеров пакетов, которыми никто не пользуется.

>>1725748
>И чего вы все сразу лезете вот в эти HTTP/XML.
Потому что 99.999999% современных приложений сводятся к посылке сетевых запросов и обработке ответов, либо наоборот.

>>1725801
Почему, когда у других все работает, а в твоих плюсах мрак какой-то, виноват кто угодно, но не никакущий паршивый подход к работе с зависимостями в твоем "божественном" языке? Почему, например, в Go (уверен, по твоему же мнению это стремный язык для индусов и школьников с одной извилиной) как правило сторонние пакеты подключаются одной строкой? Да и практически везде уже так.
Аноним 17/06/20 Срд 09:54:12 1725820382
>>1725816
>сторонние пакеты подключаются одной строкой?
Потому что это приводит к тому что плодится макачье говно, которое некоторые называют "экосистемой".

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

Считаю это наоборот плюсом.
Аноним 17/06/20 Срд 10:04:11 1725831383
Объясните массивы, как они вообще? Самую базу.
Аноним 17/06/20 Срд 11:37:04 1725871384
>>1725831
Переменная, которая хранит в себе несколько переменных одного типа. Вот тебе база.
Аноним 17/06/20 Срд 11:46:58 1725884385
>>1725816
> Почему, например, в Go
нет аудио и гуя? В джаваскрипте вот есть низкоуровневое апи для работы с аудио, и 2D графика есть, 3D вот вот появится, про гуй просто молчу это самое базовое что там есть. Почему в твое Goвно этого всего не завезли, мм?
Аноним 17/06/20 Срд 12:43:38 1725936386
Тупой вопрос - если поток (скажем ifstream) выставил failbit при попытке считать символ в double, тот этот символ уже потерян?
Аноним 17/06/20 Срд 13:05:01 1725971387
>>1725936
А если вот так сделать, не будет работать?
char ch = (char)&(double var)
Аноним 17/06/20 Срд 13:05:49 1725972388
>>1725971
Ну короче там звёздочки после чар и перед скобкой.
Аноним 17/06/20 Срд 13:45:35 1726045389
>>1725936
double d = 0;
char c = '0';
if (!(std::cin >> d)) {
  std::cin.clear();
  std::cin >> c;
}
std::cout << "d " << d << " c " << c << "\n";
c = '0'; d = 0;
std::ofstream ofile("f");
ofile << 'a';
ofile.close();
std::ifstream ifile("f");
if (!(ifile >> d)) {
  ifile.clear();
  ifile >> c;
}
std::cout << "d " << d << " c " << c << "\n";
ifile.close();
Аноним 17/06/20 Срд 14:36:30 1726110390
>>1725816

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

Это где подразумевается что гитхаб вечен и незыблем?
Аноним 17/06/20 Срд 14:37:54 1726111391
>>1726110

То есть если МС решит закрыть или ребрендировать/переименовать гитхаб, у гоблядей с захардкожеными репами в исходах начнется конец гомирка в режиме чернобыльской АЭС?
Аноним 17/06/20 Срд 14:56:21 1726127392
стоит ли применять ооп или придерживаться процедурного стиля?
Аноним 17/06/20 Срд 15:05:54 1726132393
>>1726111
Интересно, что в остальных языках с менеджерами пакетов достаточно поменять адрес центрального репозитория в конфиге, если подобное случится. И только в го у тысяч хомячков будет гореть жопа от безысходности, ведь ссылка на гитхаб хардкодится почти в каждом файле.
Аноним 17/06/20 Срд 15:30:59 1726147394
Аноним 17/06/20 Срд 16:49:38 1726210395
>>1725871
>Переменная
Объект
> которая хранит в себе несколько переменных
объектов
Аноним 17/06/20 Срд 17:29:11 1726239396
>>1726210
Кстати где у статического массива длина хранится?
Аноним 17/06/20 Срд 17:41:25 1726253397
>>1726239
Нигде. На этапе компиляции sizeof об этом знает и усё
Аноним 17/06/20 Срд 18:53:50 1726351398
Screenshot2.png 58Кб, 650x638
650x638
Помогите со сборкой OpenCV для андроид, у меня получилось нормально собрать на винду, но на андроид какая-то хуйня и ошибки линковки. Собирал с помощью MinGW. И вот что получил на выходе, так и должно быть? Qt Creator не хочет линковать.

CONFIG += opencv
PATH = C:\Android\x64\mingw\lib
LIBS += $$PATH\libopencv_core430.dll.a
LIBS += $$PATH\libopencv_highgui430.dll.a
LIBS += $$PATH\libopencv_tracking430.dll.a

undefined reference to 'cv::VideoCapture::VideoCapture(int, int)'
Аноним 17/06/20 Срд 19:22:23 1726385399
Почему не работает a если vector<int>* a?
Аноним 17/06/20 Срд 19:24:25 1726387400
>>1726385
там a скобка квадратная 0 скобка квадратная
Аноним 17/06/20 Срд 19:56:08 1726402401
Аноним 17/06/20 Срд 20:06:48 1726408402
>>1726402
Я разобрался. Я пытался передать указатель на вектор и при попытке обратится по индексу выходила ошибка. Я не знал что если написать vector<int>& a и vector<int>⛧ a это разные вещи
Аноним 17/06/20 Срд 20:09:30 1726409403
image.png 81Кб, 1366x768
1366x768
Че не так?
Аноним 17/06/20 Срд 20:10:25 1726410404
>>1726409
вернее вопрос не в этом. Все будет ок, ессли так и оставить?
Аноним 17/06/20 Срд 20:13:00 1726412405
>>1726410
Кстати оцените.
https://pastebin.com/Edet7kVe
Стоит ли добавлять возможность написать произвольный компаратор, добавить шаблоны? Или и так сойдет в образовательных целях?
Аноним 17/06/20 Срд 20:17:29 1726418406
>>1726410
> Все будет ок, ессли так и оставить?
Да, если у тебя меньше 2^32-1 элементов
Аноним 17/06/20 Срд 20:18:46 1726419407
>>1726418
Вопрос из интереса. Сортировка из стандарта имеет ограничение на размер контейнера? Если нет, то как это сделали?
Аноним 17/06/20 Срд 20:25:41 1726423408
>>1726419
Не думаю, что в какой-либо стандартный контейнер можно засунуть больше чем 2^64-1 элементов (максималка size_t для 64битной компиляции, для 32хбитной соотвн-но 2^32-1).
Аноним 17/06/20 Срд 20:30:47 1726427409
>>1726423
Ну ок. Тогда поменяю int на long long. Спасибо
Аноним 17/06/20 Срд 20:32:05 1726428410
>>1726427
uint64_t ты хотел сказать
Аноним 17/06/20 Срд 20:34:11 1726431411
>>1726428
Я в некоторых местах писал unsigned int. Хотел поменять на unsigned long long. Он же 64 бита
Аноним 17/06/20 Срд 20:41:38 1726435412
Аноним 17/06/20 Срд 20:46:23 1726437413
image.png 49Кб, 1121x638
1121x638
image.png 52Кб, 946x718
946x718
image.png 45Кб, 979x687
979x687
Да что за ебаная хуйня-то? Печатаю содержимое массива - все ок, данные именно такие, что и должны. Использую их - начинает пидорасить. В цикле модификации точно нигде не происходит.
Я может где-то при перегрузке оператора обосрался и он переписывает текущие значения?
Аноним 17/06/20 Срд 20:48:08 1726439414
>>1726428
>>1726435
Я даже не знаю разницы между этими двумя и unsigned long long
Аноним 17/06/20 Срд 21:10:03 1726457415
>>1726437
>Я может где-то при перегрузке оператора обосрался
да
Аноним 17/06/20 Срд 21:22:35 1726464416
>>1726457
Разобрался, спасибо. Иногда бывает полезно тупо высказаться и спросить, а когда сообщение уже отправил - вдруг понимаешь, в чем проблема.
Аноним 17/06/20 Срд 21:31:52 1726467417
>>1719888 (OP)
Аноняне, возник вопрос. Могу ли я научиться С++ до олимпиады на достаточно серьезном уровне, если буду заниматься им упорно и читать много литературы. (Не секундная мотивация, занимался до этого немного другим и тут узнал что это наиболее скоростной язык из возможных, хоть и сложный).
Если что олимпиада в начале осени
Аноним 17/06/20 Срд 21:32:33 1726469418
>>1726428
Если размер вектора size_type, то его и надо использовать.
Просто для декларативности.
64-битный тип посоёт на 32-битниках.
Аноним 17/06/20 Срд 21:39:40 1726476419
>>1726469
> 64-битный тип посоёт на 32-битниках.
2020 год, какое х32 нахуй?
Аноним 17/06/20 Срд 21:42:25 1726482420
>>1726431
> unsigned int
Говнокод. Ты либо пишешь uint32_t, если тебе нужно именно четыре байта, либо size_t, если это просто индекс из стандартной библиотеки.

Напоминаю, size_t - это архитектурная ошибка стандартной библиотеки
Аноним 17/06/20 Срд 21:43:10 1726485421
>>1726467
Я вкатился в олимпиады на С в 13 лет за две недели без литературы (но с небольшим клубом таких же задротов). Правда потом еще два года не понимал тех кто писал на С++ и зачем он нужен, если все равно точно так же ебёшь байты и указатели.

Тащемта для вката литература таки нужна, но не по цпп, а по алгоритмам и структурам данных. А для решения задач достаточно умелого владения операторами if и while.
Аноним 17/06/20 Срд 21:44:17 1726487422
>>1726482
Да кто эти ваши uint32_t? Я о них не читал
Аноним 17/06/20 Срд 21:45:15 1726488423
>>1726467
Для олимпиады язык учится за день. На олимпиадах обычно дрочат алгоритмы, от языка максимум нужны функции и ввод-вывод.
Аноним 17/06/20 Срд 21:46:18 1726489424
>>1726482
> Напоминаю, size_t - это архитектурная ошибка стандартной библиотеки
Почему ошибка? Из за отсутствия определенного в стандарте размера?
Аноним 17/06/20 Срд 21:46:48 1726491425
Аноним 17/06/20 Срд 21:47:13 1726492426
Аноним 17/06/20 Срд 21:51:45 1726496427
>>1719956
В целом нихуя не понятно без кода. Вообще, в таких замерах может быть много нюансов: кэширование, выравнивание, контекст свитчине твой случай и т.д.
Аноним 17/06/20 Срд 21:55:46 1726499428
>>1726489
> Почему ошибка? Из за отсутствия определенного в стандарте размера?
Дело не совсем в размерах. Скорее в том, что тип беззнаковый. Только представь, сколько багов это породило.
>>1726487
> Да кто эти ваши uint32_t? Я о них не читал
Ну так почитай
Аноним 17/06/20 Срд 21:58:48 1726500429
>>1726499
А зачем этому типу знаковость? Размер отрицательным быть не может
Аноним 17/06/20 Срд 22:04:10 1726507430
>>1726500
> А зачем этому типу знаковость? Размер отрицательным быть не может
(size_t(0) - 1) — это не -1
Аноним 17/06/20 Срд 22:04:12 1726508431
Анонсы, подскажите какие-нибудь редко используемые фитчи вроде свертки, чтобы я казался дохуя крутым программистом.
Аноним 17/06/20 Срд 22:05:20 1726509432
>>1726500
В прошлом треде скидывали ссылку и таймкоды вопросов на интервью с комитетом, посмотри
Аноним 17/06/20 Срд 22:08:50 1726513433
>>1721823
>>1721737
Де юре шаблоны плюсов != дженерикам джабы, но ты этой разницы не заметишь
Аноним 17/06/20 Срд 22:11:37 1726516434
Аноним 17/06/20 Срд 23:08:00 1726569435
>>1726513
Ну, зачастую они используются для одной цели, хоть и работают совершенно по-разному.
Аноним 18/06/20 Чтв 02:50:06 1726655436
Я правильно понимаю, что если мне нужно использовать SSE, то тут только ассемблерные вставки, никакого интерфейса под плюсы нет?
Аноним 18/06/20 Чтв 02:59:52 1726662437
Аноним 18/06/20 Чтв 04:23:50 1726669438
Аноним 18/06/20 Чтв 04:27:00 1726670439
>>1720471
Когда джуны или стажеры приходят к нам, они начинают выебываться подобной хуйней. Стоишь и думаешь "Ты че, дyрaк блять?"
Аноним 18/06/20 Чтв 04:29:08 1726671440
>>1720692
GCC юзать будешь, хуя пососешь.
Аноним 18/06/20 Чтв 06:50:18 1726696441
Аноним 18/06/20 Чтв 08:40:54 1726718442
>>1726499
Поделом тем дебилам, которые вычитают индексы и оффсеты.
Аноним 18/06/20 Чтв 08:42:53 1726720443
>>1726655
Да. Ебанная куча SIMD библиотек на все случаи жизни сделана не для долбоебов с двача.
Аноним 18/06/20 Чтв 08:46:32 1726723444
>>1726655
Как нету, когда есть, ты что там делать собрался?
Просто пишешь код, а компилятор его оптимизирует в том числе и для SSE.
Аноним 18/06/20 Чтв 09:58:48 1726764445
>>1726723
>Просто пишешь код, а компилятор его оптимизирует в том числе и для SSE.

Угу, только он как тот еж, пока не пнешь его всеми возможными прагмами и нон-портабл макросами про "тут SIMD пидор, По буквам - В Ы Р О В Н Е Н О, А Л И Ж Н 8, К О Н С Т"
Аноним 18/06/20 Чтв 11:47:53 1726890446
>>1726467
Дрочи не языки, а матчасть и понимание. Язык это инструмент, его не нужно выдрачивать ради него самого, а только в той мере, в которой он нужен тебе для решения задачи.

Когда я еще учился в шкалке, я думал, что выучу С++ и стану прогромистом, и по итогу, на 1 курсе универа я уже прочитал почти всю литературу в шапке про stl, метапрограммирование на шб и про др. ахуительные практики, сейчас благополучно всё забыл,думаю лучше бы qt изучил, хоть польза была бы какая-то
Аноним 18/06/20 Чтв 11:53:26 1726899447
>>1726764
This. Проще и быстрее интринсиками бахнуть, чем ждать что-то от компилятора.
Аноним 18/06/20 Чтв 11:54:00 1726901448
>>1726764
Выравненность добавили в коробку в семнадцатых плюсах вроде
Аноним 18/06/20 Чтв 14:24:26 1727101449
Друзья, очень нужна ваша помощь. Вот тут с 58 строчки https://pastebin.com/JFMqC85Q нужно как-то передалать алгоритм поиска седловой точки матрицы на итераторах. Я сделал на итераторах ввод матрицы, но вот никак не пойму как передалть алгоритм. Там буквально 2 минуты если вы понимаете итераторы, очень прошу помочь. Заранее большое спасибо.
Аноним 18/06/20 Чтв 14:59:14 1727178450

> читай у Мейерса "Эффективное использование С++" и "Наиболее эффективное использование С++". Потом "Эффективное использование STL"

> "effective modern c++" нужно читать только когда начнешь хорошо разбираться в C++11

Это то что мне нужно, если я не знаю разницы между void f(int★ x) и void f(int& x)?
Аноним 18/06/20 Чтв 15:04:31 1727185451
Плюсаны, инсайдерская инфа: 2гис активно ищет разрабов на плюсах, вот одна из вакансий - https://novosibirsk.hh.ru/vacancy/36850803
Берут как на удаленочку, так и в офис в нск.
Аноним 18/06/20 Чтв 15:06:24 1727187452
>>1719923
А нахера тогда вообще класс? Можно все методы сделать функциями, опционально обернуть в namespace.
Аноним 18/06/20 Чтв 15:07:41 1727193453
>>1727178
> Это то что мне нужно, если я не знаю разницы между void f(int★ x) и void f(int& x)?
Достаточно знать, что первое не надо использовать в коде c++
Аноним 18/06/20 Чтв 15:08:17 1727196454
>>1727185
Эх, жаль не берут студентов без опыта...
Аноним 18/06/20 Чтв 15:08:56 1727198455
Аноним 18/06/20 Чтв 15:10:42 1727206456
>>1727196
Хз, взяли в тостеры в этот отдел без опыта. Не считая полгода формошлепства на жсе. У них прям пиздец горит, новые проекты запускают, можешь попробовать отклик кинуть.
Аноним 18/06/20 Чтв 15:18:48 1727219457
>>1727178
Считай, что ссылка это указатель, который по умолчанию разыменован.
Аноним 18/06/20 Чтв 15:22:20 1727232458
>>1727219
А может сначала прочитать кригу где все это объяснят?
Аноним 18/06/20 Чтв 16:31:23 1727333459
Аноним 18/06/20 Чтв 17:41:17 1727417460
>>1727185
Охуеть, именно эту вакансию неделю назад зачем-то добавил в избранные, ещё подумал: "блин, клёво у них походу", но я уже и так работаю..

>инсайдерская
дашь телегу?
Аноним 18/06/20 Чтв 17:57:40 1727437461
>>1727333
А какую именно книгу?
Аноним 18/06/20 Чтв 18:28:07 1727469462
>>1727437
Их очень много. Я не могу выбрать
Аноним 18/06/20 Чтв 18:38:42 1727473463
Аноним 18/06/20 Чтв 18:44:51 1727480464
Аноним 18/06/20 Чтв 18:59:31 1727490465
Аноним 18/06/20 Чтв 19:13:42 1727508466
Да какую книгу читать то?
Аноним 18/06/20 Чтв 19:54:58 1727546467
Ребят, вы чего? Какую книгу читать?
Аноним 18/06/20 Чтв 20:00:19 1727549468
>>1727546
C++ для чайников, без шуток. Я даже помню там как раз об этом был пример. Джефф Кент автор.
Аноним 18/06/20 Чтв 20:04:48 1727556469
>>1727546
Липпмана. Хорошая подача материала, есть почти всё кроме многопоточности
Аноним 18/06/20 Чтв 20:13:44 1727563470
>>1727556
Ок. Спасибо. А что после него?
Аноним 18/06/20 Чтв 20:36:48 1727575471
Здорова низкоуровневые. Извините за перепост, но мне кажется в ИТТ мне тоже могут подсказать ответ на этот пост >>1727564 →
Аноним 18/06/20 Чтв 21:54:03 1727602472
1592506442260.jpg 125Кб, 1032x774
1032x774
Что можете сказать по поводу пикрилов?
Аноним 18/06/20 Чтв 22:41:06 1727639473
image.jpg 134Кб, 460x650
460x650
Лучше пикрил читайте.
Аноним 18/06/20 Чтв 22:45:19 1727642474
>>1727639
> технологии BDE, ADO, DDE, MIDAS
Одна технология релевантнее другой
Аноним 18/06/20 Чтв 22:49:20 1727646475
>>1727642
охуенно было
накидываешь мышкой на флрму и все робит))
Аноним 18/06/20 Чтв 22:50:18 1727648476
>>1727646
ты тоже самое в кутекреаторе можешь делать?
Аноним 18/06/20 Чтв 23:37:43 1727671477
Почему при вызове
>std::cout << str << "\n";
строка отображает мусор в конце? При этом строке было выделено ровно столько байтов, сколько она содержит полезной информации. От куда лишнее дерьмо в конце?

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

char *str = new [3];

str[0] = 'a';
str[1] = 'b';
str[2] = 'c';

std::cout << str << "\n";

> abc1g!

Аноним 18/06/20 Чтв 23:44:04 1727674478
>>1727185
Эх, блядь, почему я пишу в банке на sql. Попробовал бы на эту вакансию вкатиться.
Аноним 18/06/20 Чтв 23:45:28 1727676479
>>1727671
Батюшки. А нуль-терминатор кто будет ставить?
Аноним 18/06/20 Чтв 23:47:17 1727677480
>>1727676
Ты вообще читал, что я писал? Перечитай.
Аноним 18/06/20 Чтв 23:54:33 1727680481
>>1727677
Подумой как работает оператор вывода сишной строки в поток. Можешь даже свой написать. Поймешь.
Аноним 18/06/20 Чтв 23:59:38 1727682482
>>1727680
Чел, хуйню пишешь. В си нет операторов ввода-вывода. Это первое. Второе, с такими советами можешь сразу идти на хуй.
Аноним 19/06/20 Птн 00:04:28 1727684483
Анончики, как писать свой аллокатор, сам пишу учусь на QT, но с написанием подобного не сталкивался. На степике не очень хорошо объяснено я тупой просто. Что почитать чтобы реализовать Buddy и SLAB аллокаторы.
Аноним 19/06/20 Птн 00:05:39 1727686484
>>1727680
Компилятор автоматом доставит нуль в конец. Так что тут проблем в другом.
Аноним 19/06/20 Птн 00:26:54 1727697485
>>1727682
> Чел, хуйню пишешь. В си нет операторов ввода-вывода. Это первое. Второе, с такими советами можешь сразу идти на хуй.
Я не тот анон, которому ты отвечал, но нахуй идёшь ты, т.к. в изначальном посте код на плюсах.
>>1727686
Просто схуяли?
Аноним 19/06/20 Птн 00:29:31 1727698486
>>1727671
>п.с. Я знаю про символ конца строки, но я не понимаю почему строка содержит больше, чем ей выделено.
Не содержит, функция печати печатает символы по очереди, пока не дойдёт до \0, она уже давно вышла за пределы строки и пошла куда-то дальше по памяти.
Аноним 19/06/20 Птн 00:33:19 1727701487
Тут есть аноны которые пишут какую-нибудь матешу на плюсах? На спеце в моей шараге очень понравилось ускорять код уравнения волнового процесса, метод Якоби 9-ти точечного шаблона и вот это вот всё.
Пол стал вакансии в моём ДС-3 есть вакансии для студентов связанные с подобной деятельностью. Стоит пытаться вкатится, если знания линала, ангема и вычей так себе?
Аноним 19/06/20 Птн 00:42:48 1727712488
>>1727686
> Компилятор автоматом доставит нуль в конец.
И по какому индексу компилятор должен, по твоим словам, вставить нуль?
Аноним 19/06/20 Птн 01:28:48 1727731489
>>1727671
Выводится все, до нуль терминатора.
Т.к. у тебя нультерминатора нет - выводится мусор хранящийся в памяти за твоей выделенной, пока там не найдется нуль терминатор. Ехал UB через UB.
Аноним 19/06/20 Птн 01:31:44 1727733490
Аноним 19/06/20 Птн 01:46:29 1727745491
15901542783221.jpg 27Кб, 650x456
650x456
>>1727697
> т.к. в изначальном посте код на плюсах
И? Нахуй ты это высрал вообще?

>Я не тот анон
>это не я говорю тебе это не я сру в штаны
Аноним 19/06/20 Птн 05:57:11 1727791492
>>1727546
У меня первая была "borland c++ 5.0 за 21 день".

В общем, не стесняйся и первую книгу спокойно бери "для чайников", "за 21 день" и тому подобные. Вот такую осилишь, потом уже берись за Страуструпа.
Аноним 19/06/20 Птн 11:51:03 1727924493
>>1727677
Блядь, какой же ты тупой.
Ты выделил 3 символа в строке - столько памяти тебе доступно для модифицирования.
cout(и printf тоже, к твоему сведению) выводит строку до первого '\0' символа, ничего не зная о ее размере.
Вызови для своей строки сишный же strlen и завали ебало.
Аноним 19/06/20 Птн 11:56:08 1727930494
>>1727924
Чё ругаешься, типичная ошибка новичка.

>>1727671
Тебе надо размер массива 4, а не 3, чтобы ноль влазил. Ну и в последний элемент поместить этот самый '\0' .
Аноним 19/06/20 Птн 12:36:32 1727956495
>>1727924
Да иди ты на хуй, омежка озлобленная. Поссал тебе на голову, чмо.

>>1727930
Да знаю я про это. Я не мог логически сопоставить тезис: выделение памяти для хранения. Ведь, если существует понятие такое, логически, оно подразумевает - выделять и хранить столько, сколько было указано компилятору. Но я уже понял, что это такая особенность работы оператора вывода.
Аноним 19/06/20 Птн 12:44:06 1727961496
>>1727956
Нет, это ты никак не въедешь, а не оператор ввода-вывода работает не так.
Почитай, как хранится в памяти строка, что такое указатель и как происходит работа с массивами, а потом уже огрызайся.
Аноним 19/06/20 Птн 12:56:10 1727973497
>>1727575
Бамп же, ну вы че, плюсаны. Что про байтоебство почитать?
Аноним 19/06/20 Птн 13:09:22 1727981498
>>1727973
Эм, учебник по информатике?.. Это же байты, самая основная вещь в компьютере.
Аноним 19/06/20 Птн 15:43:17 1728124499
зачем нужны разные контейнеры вроде std::list?
Аноним 19/06/20 Птн 15:48:37 1728131500
>>1728124
У них разная сложность для разных операций. Например, лист лучше юзать для добавления в начало или конец или последовательного прохода итератором, а если нужны частые обращения по произволтным индексам, но размер изменяется редко, лучше брать вектор.
Аноним 19/06/20 Птн 16:22:58 1728159501
изображение.png 524Кб, 566x816
566x816
Стоит ли читать пикрил?
Аноним 19/06/20 Птн 16:23:15 1728160502
>>1728124
Чтобы не изобретать велосипед.
Аноним 19/06/20 Птн 17:03:10 1728189503
>>1727973
Брукшир "информатика и ВТ"
Аноним 19/06/20 Птн 17:13:31 1728203504
>>1728124
Иногда нужно, чтобы итераторы не инвалидировались. Потребовалось 1 раз за всю мою карьеру, но этот 1 раз был.
Аноним 19/06/20 Птн 17:38:15 1728220505
>>1728159
Очень плохо пишет, канцелярит сплошной, глаза вытекают.
Аноним 19/06/20 Птн 17:55:38 1728252506
>>1728220
Есть какие-нибудь проблемы именно по части содержания?
Аноним 19/06/20 Птн 18:43:25 1728293507
>>1728159
Норм, но мало тем затрагивается. Лучше сразу с Липпмана & Лажойе(англ версии) начинай, чтобы несколько раз одно и тоже не перечитывать.
Аноним 19/06/20 Птн 18:49:30 1728297508
Запилить перекат, или можно только в полночь?
Аноним 19/06/20 Птн 18:50:53 1728299509
>>1728297
Пили★☆☀⚛✱✬⛧ ✭ ✮ ✯ ✰ ✡⛥ ⋆ ✢ ✣ ✤ ✥ ❋ ✦ ✧ ✩ ✪ ✫ ★
Аноним 19/06/20 Птн 18:51:30 1728301510
>>1728297
Только в полнолуние
Аноним 19/06/20 Птн 19:14:13 1728319511
Аноним 20/06/20 Суб 17:25:19 1729061512
Объясните мне на пальцах, что такое линковка, и почему при смене abi все пойдет по пизде
Аноним 21/06/20 Вск 00:49:46 1729363513
Хуле вы так часто катаетесь, вы че блять, дегенераты? Вы сами еще не запутались какой тред легитимный, какой нет?
Аноним 22/06/20 Пнд 00:14:30 1730177514
Настройки X
Ответить в тред X
15000
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов