Базові класи juce і загальні висновки

Відео: [Warcraft] Сполучення рас і класів. пояснення

Базові класи Juce і загальні висновки
Бібліотека Juce створювалася за принципом максимальної самодостатності, тому в ній не використовується стандартна бібліотека С ++ і STL. Причини такого радикалізму зрозуміти досить складно, оскільки контейнерів Juce дуже далеко до гнучкості і універсальності STL.

Як би там не було, познайомимося з деякими базовими класами Juce.

Математика

У Juce є кілька корисних математичних функцій і макросів, визначених у файлі juce_MathsFunctions.h. Наприклад, jmax () і jmin () повертають менше і більше значення пари чисел, jlimit () - переводить передане число в заданий діапазон, juce_isfinite () - визначає кінцівку числа. Значення визна-поділів int8, int16 і т.п. і констант double_Pi і float_Pi очевидні.

Для генерації випадкових чисел передбачений клас Random. Він не такий гнучкий, як, наприклад, boost :: random, але набагато простіше у використанні. Методи nextFloat () і nextDouble () повертають випадкове число в діапазоні від 0 до 1, а метод nextlnt (max) -метою випадкове число від нуля до max.

рядки

Рядки реалізуються дуже гнучким і потужним класом String з повною підтримкою Unicode. Створити рядок можна зі звичайного строкового літерала:
String s2 ( "String in English") -




Все працює правильно, поки ми не спробуємо створити рядок з російськими буквами:
String s0 ( "Рядок тексту") - // Абракадабра!

Проблема в тому, що рядок інтерпретується в звичайній кодуванні ASCII, а нам потрібно перетворити її в Unicode для правильного відображення. Для цього використовується макрос T ():
String s1 (T ( "Стpoка тексту")) - // Правильно - конвертація в юнікод

Обгортку «T ()» важливо використовувати всюди, де можуть зустрітися кириличні або будь-які інші національні символи. Перетворення числа в рядок робиться тривіально:



String s3 (42) - String s4 (3.14159, 3) -

У разі дійсного числа другим параметром можна передати число десяткових знаків. Для зворотного перетворення рядка в число передбачено цілий ряд методів. Найбільш часто використовувані - getIntValue (), getLargeIntValue (), getDoubleValue () і getFloatValue (), назви яких говорять самі за себе.

Базові класи Juce і загальні висновки

Для перетворення рядків і сумісності зі стандартною бібліотекою С ++ можна використовувати метод «toCString ()», який повертає звичайний рядок, що закінчувалася нулем. Для конкатенації рядків можна використовувати оператори «+» і «+ =», а також метод «append ()». Існує також спеціальний клас Concatenator для конкатенації великої кількості довгих рядків, який різко підвищує продуктивність цієї операції.

Передбачено цілий ряд методів для пошуку і заміни тексту в рядку. Наприклад, startsWith (str) і endsWith (str) шукають входження підрядка на початку або наприкінці цього рядка, а indexOfWholeWord (str) повертає індекс переданого слова, відокремленого пробільними символами. Метод matchesWildcard () виробляє простий пошук за допомогою шаблонів shell типу «text *» або «file? 2. *». Всі ці функції мають варіанти, які ігнорують регістр символів - наприклад, endsWithIgnoreCase ().

Такого різноманіття методів, яке надає клас String, немає, мабуть, ні в жодному іншому тулку. Повний їх список є в документації (https://rawmaterialsoftware.com/ juce / api / classString.html). Проте, в Juce немає вбудованих регулярних виразів і для цієї мети потрібно використовувати зовнішню бібліотеку.
Array arr-
arr.add (T ( "стpoка 1")) -
arr.add (T ( "стpoка 2")) -
arr.insert (1, s1) -
arr.remove (0) -



Бібліотека Juce дозволяє реалізувати безліч різноманітних програмних рішень, але з її допомогою неможливо виконати Аналіз ефективності (https://comagic.ru/)! Для цього Вам потрібно допомоги висококваліфікованих фахівців. Їх Ви зможете знайти в компанії CoMagic!

ІНШЕ

Juce: многопоточность фото

Juce: многопоточность

Нить в Juce реалізується класом Thread. Як і в багатьох інших тулкіта, це повністю віртуальний клас, наслідуючи який…

Обробка подій в juce фото

Обробка подій в juce

Відео: Уроки javascript | Урок №13 - Події і обробник подій Переважна більшість тулкіта для С ++ (Gtk +, Qt,…

Seed7: бібліотеки фото

Seed7: бібліотеки

Відео: пентагональними призма з насіння льону. П`ятикутна призма. геометричні фігури.Стереометрія Якщо Сі або C ++ без…

Juce: контейнери фото

Juce: контейнери

Відео: Batman Arkham City. Серія 16 [2-ий контейнер з титаном. глушилка] Найбільш загальним контейнерним класом в Juce…

Juce: враження і висновки фото

Juce: враження і висновки

Відео: Малайзійка на підлогу шишечки - NASTY Juice! Бібліотека Juce виробляє двояке враження. Багато її можливості…

Ultimate ++: схеми баз даних фото

Ultimate ++: схеми баз даних

Відео: Бази даних, лекція №1 (2013) Об`єкти SqlExp кардинально полегшують створення запитів, але створення самих…

Juce: вкладені компонування фото

Juce: вкладені компонування

вкладені компонування У Juce використовується ідеологія, розглянута в попередній статті по U ++, - ієрархія віджетів…

» » Базові класи juce і загальні висновки