Страница не просит давать какие-то причины запроса или заполнять опросы.
Судя по всему, это не соответствует действительности. При нажатии кнопки «Keep your free storage» выдаётся запрос на подтверждение выдачи прав какому-то приложению:
Дать приложению доступ к вашим данным?
preview.onedrive.com
OneDrive Preview необходимо ваше разрешение на следующие действия:
и при выборе варианта «Нет» (никакое приложение мне не нужно) выдаётся сообщение:
Термин. Теперь понятно. По-русски это обычно называют браузерным движком, а в случае варианта ответа в вашем опросе, вероятно, было бы достаточно просто «браузер».
быть может, эти представители мира кино просто что-то знают о будущем кинематографа
В будущем актёров, вероятно, вообще не будет, вместо них будет фотореалистичная трёхмерная графика, а актёры будут использоваться лишь для захвата некоторых движений (motion capture), и то — только на первых порах.
Предлагаю остановиться на том, что было бы неплохо иметь в C++ способ работы хотя бы с codepoint’ами как самостоятельными сущностями без необходимости раздувания байтового объёма строк в несколько раз путём использования кодировки UTF-32 и работы с последовательностями по 4 байта вместо реальных codepoint’ов. Или, возможно, мне что-то неизвестно о работе с UTF-32 в C++.
Это возможно, только если устраивает наличие шумящего и вибрирующего HDD (а если их более одного — ещё и частенько с биениями) внутри корпуса компьютера. ;-)
Возможно, вы путаете самостоятельный символ со шрифтовой лигатурой (например, для последовательности букв «fi» в шрифте PT Serif Caption предусмотрен отдельный графический знак, но буквы всё равно две, и каждую можно выделить по отдельности). У строки нет такого атрибута, как язык. Например, в JavaScript свойство length строки æ будет равно 1, а "æ".substr(0, 1) вернёт символ æ, а не его половину. ;-)
В C++ хотелось бы такой же абстрагированной работы со строками, как в JavaScript, на уровне стандартной библиотеки языка. Не критично, не обязательно, не проблема, но было бы неплохо. ;-)
C++ вообще несколько удивляет отсутствием некоторых общеупотребительных функций, привычных по другим, более высокоуровневым, языкам — например, trim(), split(), join(), в результате чего, чтобы просто начать писать программы, требуется сначала реализовать собственную библиотеку таких функций или использовать стороннюю библиотеку. Опять же, не критично, но странновато.
Работая с текстом, удобнее и проще работать с ним как с набором символов, а не байтов, и переход на соответствующий уровень абстракции (преобразовать байты в массив символов) в общем случае имеет смысл осуществить единожды, а не делать это (разбирать всю UTF-8-строку с самого начала) снова и снова при каждой операции.
Это актуально в частности при разборе кода, синтаксические единицы (например, имена переменных или даже функций) которого могут содержать символы вне ANSI-диапазона, а также при анализе текстов на естественных языках — например, для вычисления соотношения количества слов на разных языках, чтобы определить основной язык документа. Не говоря уж о задачах поиска типа «все слова длиной от 1 до 3 букв», «все слова в верхнем регистре» или «определить общее количество символов в тексте».
Безусловно, многие задачи можно относительно успешно решить на уровне байтов, просто это не всегда удобно и целесообразно в том числе с точки зрения быстродействия.
Получить подстроку такой-то длины (в символах) начиная с символа с таким-то номером от начала строки. Например, в JavaScript для этого служит функция substr().
Если вы действительно не понимаете, то попробуйте представить, что произойдёт при попытке извлечения символьной подстроки, расположенной далеко от начала строки, из UTF-8-строки, представленной не как набор символов, а как набор байтов, и как это связано с быстродействием.
Для обладателей дисков от OCZ это настоящий подарок – не нужно искать другие приложения для контроля за состоянием SSD, поскольку для всего этого есть универсальное родное решение.
Судя по всему, только для обладателей достаточно новых моделей. Относительно старые модели накопителей OCZ (например, Octane примерно 3-летней давности) утилита SSD Guru почему-то не поддерживает.
и при выборе варианта «Нет» (никакое приложение мне не нужно) выдаётся сообщение:
lengthстрокиæбудет равно1, а"æ".substr(0, 1)вернёт символæ, а не его половину. ;-)В C++ хотелось бы такой же абстрагированной работы со строками, как в JavaScript, на уровне стандартной библиотеки языка. Не критично, не обязательно, не проблема, но было бы неплохо. ;-)
C++ вообще несколько удивляет отсутствием некоторых общеупотребительных функций, привычных по другим, более высокоуровневым, языкам — например,
trim(),split(),join(), в результате чего, чтобы просто начать писать программы, требуется сначала реализовать собственную библиотеку таких функций или использовать стороннюю библиотеку. Опять же, не критично, но странновато.Это актуально в частности при разборе кода, синтаксические единицы (например, имена переменных или даже функций) которого могут содержать символы вне ANSI-диапазона, а также при анализе текстов на естественных языках — например, для вычисления соотношения количества слов на разных языках, чтобы определить основной язык документа. Не говоря уж о задачах поиска типа «все слова длиной от 1 до 3 букв», «все слова в верхнем регистре» или «определить общее количество символов в тексте».
Безусловно, многие задачи можно относительно успешно решить на уровне байтов, просто это не всегда удобно и целесообразно в том числе с точки зрения быстродействия.
substr().