Делается, и Пентагоном в том числе. Вот в этой статье Рейтерс, несмотря на название, есть про операции Пентагона в целом, не только про конкретных тролей-антиваксеров, дискредитировавших китайскую вакцину от ковида среди мусульман (типа не халяльная).
— Однако, мистер Дент, маршрут был выставлен для всеобщего ознакомления в местном бюро планирования и висел там девять месяцев. — Ага, как только я узнал, то сразу же помчался прямо в бюро. Это было вчера в полдень. Вы ведь не особенно утруждали себя предупреждениями? Я имею в виду: никому ни слова, ни одной душе, правда? — Но маршрут был обнародован для… — Обнародован? В конце концов мне пришлось спуститься в подвал, чтобы отыскать его! — Верно, там у нас находится отдел информации. — С фонариком! — Наверное, света не было. — И ступенек тоже! — Но послушайте, вы ведь нашли план! — Да, — сказал Артур, — нашел. На дне запертого шкафа в заколоченном туалете. А на двери табличка висела: «Осторожно, леопард!»
"...оставлю еще несколько интересных примеров, которые показывают, что модель действительно способна проводить рассуждения, похожие на человеческие. "
Ну вот возьмите вопрос про пчёл. Модель симулирует рассуждения, нигде даже близко не подходит, а потом опа и из воздуха берёт пчеловода.
"Пробуем другие подходы
Я начинаю размышлять о том, что объекты могут быть лошадьми, но это кажется маловероятным. Возможно, Джон Чаппелл - пчеловод, обматывающий ульи черными лентами и сообщающий пчелам об уходе старого хозяина и приходе нового."
Оригинальный заголовок статьи (I Have No Constructor, and I Must Initialize) отсылает к названию рассказа Харлана Эллисона "I Have No Mouth, and I Must Scream", и перевести его стоило бы не в таком стиле, как у вас.
Представьте, если бы название рассказа переводили бы как "Рта у меня нет, а кричать надо" (название совпадает с завершающими словами рассказа, где сверхразумный военный ИИ уничтожил человечество и пытает последнего человека).
Клиентский код не всегда может вызывать конструкторы -- например, мы можем хотеть иметь возможность подменять тип создаваемого объекта или клиентский код может не иметь значений параметров. В данном же случае фабрике из клиента передаётся и тип, и параметры. Точнее, ID типа, но он взаимно однозначно соответствует типу.
Для выноса бойлерплейта достаточно шаблонной функции в три строчки, а в случае передачи этой фабрики извне я опять же не понимаю зачем.
Возникает следующий вопрос: а как мы можем абстрагировать, отделить способ создания от самого объекта?
У меня возникает другой вопрос: зачем? В какой ситуации код
using VF = VariantFactory<Point, Line, Rect>; using ShapeType = VF::ResultType; ShapeType shape; VF{}( &shape, kUniqueId<line>, 1, 1, 4, 5); будет лучше, чем две строки ниже?
Смотреть надо не на километры, а на delta-V (она же характеристическая скорость орбитального манёвра). Нужно примерно 4 км/c дельта-вэ , чтобы перейти от орбиты 450 км на геостационарную. Это меньше половины дельта-вэ, нужной, чтобы добраться до орбиты 450 км.
"каждый проект, с которым я имел дело на C++, ощущался как монотонная рутина"
Значит, автор решал в своих проектах скучные задачи. Когда задача скучная, начинаешь играть с языком, чтобы хоть как-то веселее писать было. Для интересной задачи лучше, когда выражение идей в коде -- тривиальный процесс, а не квест.
Делается, и Пентагоном в том числе. Вот в этой статье Рейтерс, несмотря на название, есть про операции Пентагона в целом, не только про конкретных тролей-антиваксеров, дискредитировавших китайскую вакцину от ковида среди мусульман (типа не халяльная).
Пристыковываем к нему новый корневой блок. Дальше перестыковываем к новому остальные модули. Выкидываем старый корневой.
— Однако, мистер Дент, маршрут был выставлен для всеобщего ознакомления в местном бюро планирования и висел там девять месяцев.
— Ага, как только я узнал, то сразу же помчался прямо в бюро. Это было вчера в полдень. Вы ведь не особенно утруждали себя предупреждениями? Я имею в виду: никому ни слова, ни одной душе, правда?
— Но маршрут был обнародован для…
— Обнародован? В конце концов мне пришлось спуститься в подвал, чтобы отыскать его!
— Верно, там у нас находится отдел информации.
— С фонариком!
— Наверное, света не было.
— И ступенек тоже!
— Но послушайте, вы ведь нашли план!
— Да, — сказал Артур, — нашел. На дне запертого шкафа в заколоченном туалете. А на двери табличка висела: «Осторожно, леопард!»
"...оставлю еще несколько интересных примеров, которые показывают, что модель действительно способна проводить рассуждения, похожие на человеческие. "
Ну вот возьмите вопрос про пчёл. Модель симулирует рассуждения, нигде даже близко не подходит, а потом опа и из воздуха берёт пчеловода.
"Пробуем другие подходы
Я начинаю размышлять о том, что объекты могут быть лошадьми, но это кажется маловероятным. Возможно, Джон Чаппелл - пчеловод, обматывающий ульи черными лентами и сообщающий пчелам об уходе старого хозяина и приходе нового."
I Have No Mouth, and I Must Scream будет?
Ну и классическое: https://en.wikipedia.org/wiki/Instrumental_convergence#Paperclip_maximizer
Если не читали Бострома -- прочитайте.
Свои желания есть у людей, у которых есть деньги на обучение ИИ.
Которые, вероятно, попали в обучающую выборку. Но всё равно впечатляет, что o1 смогла "вспомнить" намного больше ответов, чем 4o.
Оригинальный заголовок статьи (I Have No Constructor, and I Must Initialize) отсылает к названию рассказа Харлана Эллисона "I Have No Mouth, and I Must Scream", и перевести его стоило бы не в таком стиле, как у вас.
Представьте, если бы название рассказа переводили бы как "Рта у меня нет, а кричать надо" (название совпадает с завершающими словами рассказа, где сверхразумный военный ИИ уничтожил человечество и пытает последнего человека).
https://ru.wikipedia.org/wiki/У_меня_нет_рта,_но_я_должен_кричать
Клиентский код не всегда может вызывать конструкторы -- например, мы можем хотеть иметь возможность подменять тип создаваемого объекта или клиентский код может не иметь значений параметров. В данном же случае фабрике из клиента передаётся и тип, и параметры. Точнее, ID типа, но он взаимно однозначно соответствует типу.
Для выноса бойлерплейта достаточно шаблонной функции в три строчки, а в случае передачи этой фабрики извне я опять же не понимаю зачем.
У меня возникает другой вопрос: зачем? В какой ситуации код
using VF = VariantFactory<Point, Line, Rect>;
using ShapeType = VF::ResultType;
ShapeType shape;
VF{}( &shape, kUniqueId<line>, 1, 1, 4, 5);
будет лучше, чем две строки ниже?
using ShapeType = std::variant<Point, Line, Rect>;
ShapeType shape{std::in_place_type_t<Line>, 1, 1, 4, 5};
Кроме дельта-вэ важна ещё и плоскость орбиты, кстати.
Смотреть надо не на километры, а на delta-V (она же характеристическая скорость орбитального манёвра). Нужно примерно 4 км/c дельта-вэ , чтобы перейти от орбиты 450 км на геостационарную. Это меньше половины дельта-вэ, нужной, чтобы добраться до орбиты 450 км.
Я думаю, любой документированный набор инструкций проца проще плюсов.
"каждый проект, с которым я имел дело на C++, ощущался как монотонная рутина"
Значит, автор решал в своих проектах скучные задачи. Когда задача скучная, начинаешь играть с языком, чтобы хоть как-то веселее писать было. Для интересной задачи лучше, когда выражение идей в коде -- тривиальный процесс, а не квест.
Справедливости ради, dllmain триггернулся после комментария с совершенно хамским и не менее надменным скриншотом из твиттера: https://habr.com/en/companies/ruvds/articles/747826/comments/#comment_25755608
Главное, не складывать числа с плавающей точкой)
https://ru.wikipedia.org/wiki/Алкиона_(дочь_Эола)
А зачем std::launder в седьмом варианте? Можно же использовать указатель, возвращаемый new, не?
[[nodiscard]] float int_to_float7(int x) noexcept
{
return *new(&x) float;
}
UC Berkeley's online course catalog once listed a physics course where one of the textbooks was written by Landau and Lif****s