Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Как перевести объект класса string в целое число без использования цикла? Может, есть для этого какие-то библиотечные методы? Использовать std::istringstream . Пример есть например тут: http://www.cplusplus.com/reference/sstream/istringstream/istringstream/ https://www.cyberforum.ru/ cpp/ thread2485575.html C++ Странные иероглифы в консоли Собственно сам код #include <locale> #include <iostream> #include <fstream> #include <string> #include "tree.h" int main() { setlocale(LC_ALL, "ru"); https://www.cyberforum.ru/ cpp/ thread2485122.html
C++ Нужен совет Посоветуйте пожалуйста книгу, которая поможет разобраться в C++. Потому что читал книгу, а там такой бред, надо было использовать не стандартную библиотеку C++ "std_lib_facilities.h" Плюс заместо... а там такой бред, надо было использовать не стандартную библиотеку C++ "std_lib_facilities.h" Да, автор std_lib_facilities.h столько бреда написал, уже почти 40 лет разгребаем, разгрести не можем. https://www.cyberforum.ru/ cpp/ thread2486958.html Как подключить библиотеку sfeMovie? C++
Я хочу подключить библиотеку sfeMovie (для отображения видео) к проекту. Делаю всё по инструкции: http://sfemovie.yalir.org/latest/start.php Дошёл до пункта Build. После долгой сборки получил... З.Ы. тестовая программа в папке bin запускается нормально (в ней воспроизводится видео)
C++ Нужно оптимизировать код Гистограмма является многоугольником, сформированным из последовательности прямоугольников, выровненных на общей базовой линии. Прямоугольники имеют равную ширину, но могут иметь различные высоты.... Ширина каждого прямоугольника равна 1 Примеры входные данные 7 2 1 4 5 1 3 3 выходные данные 8 как у вас получилось 8? Площадь самого большого 1*5 = 5 Почему нет? https://www.cyberforum.ru/ cpp/ thread2486742.html C++ Последний минимальный элемент массива Помогите пожалуйста. Как найти последний минимальный элемент массива? Нахожу только информацию про первый минимальный. Пытаюсь по аналогии написать, но просто не уверен, что оно правильно работает и... Пытаюсь по аналогии написать, Показывай. Добавлено через 19 секунд просто не уверен, что оно правильно работаетТы тестируешь код, который пишешь? https://www.cyberforum.ru/ cpp/ thread2485641.html
C++ Активировать другое окно всем привет создаю диалоговое окно в другом окне но окно которое я создаю всегда активно не могу сделать чтоб первое окно было активно всегда активно мое окно которое я создал через CreateDialog все... да пробовал это но я уже психанул и удалил проект и начал делать через CreateWindowEx но суть в том что я делал также как и вы но оно быстро активировалось и деактивировалось https://www.cyberforum.ru/ cpp/ thread2485019.html C++ Язык программирования RedL написанный на c++ https://www.cyberforum.ru/ cpp/ thread2484842.html
Я как новичёк в программирование не могу оценить этот язык и хотел бы спросить.Хороший ли это язык программирования? Нашёл его пару минут назад на github. https://github.com/RedL-GNU-GPL/RedL А как мне ещё привлекать внимание к своему языку ? Сделать презентацию. Начинается обычно с описания проблем существующих на рынке решений, и далее демонстрация собственного решения, которое эти...
C++ Защита текстового файла https://www.cyberforum.ru/ cpp/ thread2485340.html
Доброго времени суток! Пишу на Qt C++, задался вопросом, можно ли как-нибудь защитить текстовый файл от редактирования вне программы? можно ли как-нибудь защитить текстовый файл от редактирования вне программы? проблема в том что у текстового файла нет заголовка. в теории можно попробовать через драйвер фильтровать...
C++ Интересно, кто-то использовал , если да то интересно услышать ваш отзыв и опыт работы
https://www.openlighting.org/
C++ Длительность аудиофайла В принципе в этом-то и весь вопрос. Возможно ли средствами стандартной библиотеки С++ вытащить длительность, скажем, mp3 файла? Ну, или, хотя бы, битрейт файла - длительность можно будет посчитать.... del https://www.cyberforum.ru/ cpp/ thread2486436.html C++ E0349 отсутствует оператор "=", соответствующий этим операндам Всем привет! Прошу помочь разобраться с такой проблемой: e0349 отсутствует оператор "=", соответствующий этим операндам Начал изучать перегрузку оператора присвоения по книжке. Имею код, по идее он... Всем привет! Прошу помочь разобраться с такой проблемой: e0349 отсутствует оператор "=", соответствующий этим операндам Надо sample &operator=(const sample &ob); https://www.cyberforum.ru/ cpp/ thread2486618.html
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
19.08.2019, 13:17 0

Что за тип данных uint32_t? - C++ - Ответ 13778915

19.08.2019, 13:17. Показов 36217. Ответов 171
Метки (Все метки)

Ответ

Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Пошли по третьему кругу. Вы отрицаете наличие в С++ конструкций, взятых из Си, таких как структуры, сырые указатели, функции с переменным числом аргументов, возможность обратиться к элементу массива как 1["str"], явное приведение типов (не касты)? Если не отрицаете, то зачем оно там есть?
Еще раз, разжевано. C++ позволяет переопределить механизм управления памятью через механизм аллокаторов. Чтобы кодить эти аллокаторы сырые указатели и нужны. И ответ "Петр Петрович, не выпендривайтесь, слушайте свои Валенки!" не делает аллокаторы механизмом совместимости с Си.
За касты intPointer=doublePointer вам C++ компилятор даст по рукам.
Касты intPointer=(int*)doublePointer банально удобнее километрового reinterpret_cast. Но clang может плеваться на них варнингом.
Тоже самое со struct. С удовольствием его выкинем, когда поля class сделают публичными по умолчанию.

Эллипсисы используются в сигнатуре некоторых экспортируемых сишных функций. Это да, совместимость. В плюсах для того же самого уже есть variadic templates.
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
По такой логике нет разницы в типе указателя, *intPointer=0 точно так же могло изменить значение в *intPointer2.
Именно поэтому в Си также ввели ключевое слово restrict.
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Я еще раз спрашиваю: от сдвига на 80 бит компилятору не поплохеет?
Если сдвигать std::bitset, то нет. Другой вопрос что к методам std::bitset забыли дописать constexpr, поэтому он не хочет считаться в компил-тайме. Но это проблема именно метода, а не компилятора. Велосипедный аналог строк на двадцать в компил-тайме вполне работает.

По битам - для двух портов 8*2 все равно будет меньше чем 3*7. И сценарий "семь выводов на двух портах" явно более вероятен чем сценарий "семь выводов на семи портах". Если же нужно вот прям на любой сценарий закладываться, то дует switch по usedBits. Макросы опять же не при делах.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
//здесь должен был быть std::bitset, но пришлось исправлять его мелкие недоработки
class bitset
{
public:
    static constexpr auto size=32;
 
    constexpr bitset(){}
    constexpr bitset(unsigned shift,unsigned port){data[port]=1<<shift;}
    constexpr bitset operator|(const bitset&value)const
    {
        bitset res;
        for(unsigned pos=0;pos<size;++pos)
            res.data[pos]=data[pos]|value.data[pos];
        return res;
    }
    constexpr std::uint8_t getByte(std::size_t pos)const{return data[pos];}
private:
    std::uint8_t data[size]={0};
};
 
//а то у вас сейчас и сдвиги станут неудобными...
constexpr bitset operator "" _pin(const char*str,std::size_t ){
    return bitset (str[1]-'0',str[0]-'A');
}
 
constexpr bitset segmentA="A3"_pin;//о как я понятно и читаемо сделал!
constexpr bitset segmentB="D1"_pin;
constexpr bitset usedBits=segmentA|segmentB;
 
template<unsigned port>
std::uint8_t getMask(unsigned number)
{
    static const std::uint8_t data[10]={
        (segmentA|segmentB).getByte(port),
        segmentA.getByte(port),
        segmentB.getByte(port),
        1,
        2,
        3,
        4,
        5,
        6,
        7
    };
    return data[number];
}
 
void showNumber(unsigned number)
{
    if(usedBits.getByte(0))
        //с учетом пожеланий о кешировании промежуточных вычислений
        PORTA=(PORTA&~usedBits.getByte(0))|getMask<0>(number);
    if(usedBits.getByte(1))
        PORTB=(PORTB&~usedBits.getByte(1))|getMask<1>(number);
    if(usedBits.getByte(2))
        PORTC=(PORTC&~usedBits.getByte(2))|getMask<2>(number);
    if(usedBits.getByte(3))
        PORTD=(PORTD&~usedBits.getByte(3))|getMask<3>(number);
}
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
А если в контроллере нет PORTA? Например, в распространенном ATmega8 или используемых в Ардуине ATmega48-328.
1) Поставьте заглушку std::uint8_t PORTA, чтоб не пихать в каждую дырку #ifdef. Если никто заглушкой пользоваться не будет, компилятор ее сам уберет.
2) Можно также слазать в в operator "" _pin и поставить там проверку времени компиляции.

Вернуться к обсуждению:
Что за тип данных uint32_t? C++
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.08.2019, 13:17
Готовые ответы и решения:

Как побитово скопировать uint32_t в float, минуя при этом выделения uint32_t в оперативную память
Всем привет, недавно заинтересовал такой вопрос ниже. Как ПОБИТОВО скопировать uint32_t в float, минуя при этом выделения uint32_t в...

Что такое рекурсивный тип данных? Что такое конструкция рекурсивного типа?
Что такое рекурсивный тип данных? Что такое конструкция рекурсивного типа?

Скажите пожалуйста, что это за тип данных?!
int **allocate2D(int rows, int cols) { int **arr2D; int i, j; arr2D = (int**)malloc(rows*sizeof(int*)); for(i=0;...

171
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.08.2019, 13:17
Помогаю со студенческими работами здесь

std::vector<int> Что это за тип данных?
std::vector&lt;int&gt; indexes_1, indexes_2; // Used for homography Что это за тип данных?

Что значит (для сущности «вершина» создать новый тип данных)?
Задание такое: Написать функцию для вычисления площади треугольника на плоскости, заданного координатами вершин. (для сущности «вершина»...

Восьмибитный тип переменной (что за тип, но не BYTE и не CHAR?
Вроде давно занимаюсь программированием на С++, но встала проблема... Есть некий массив переменных имеющих 8 битный размер... без знака...

Объясните, что это: "static const uint32_t collisionCategory = 0x1 << 0"?
Встретил в одном туториале по SpriteKit следующую строчку static const uint32_t projectileCategory = 0x1 &lt;&lt; 0; Подскажите...

Как сделать тип данных или уже есть такой тип данных который состоит из всех печатыемых символов?
Как сделать тип данных или уже есть такой тип данных который состоит из всех печатыемых символов? Если есть то как он называется ?

0
Новые блоги и статьи
smart-agent proper interface settings (2025)
jigi33 14.03.2025
Smart-agent proper interface settings (mart 2025). (see screenshots to look at "Etalon" ARM)
Продвинутые настройки JVM
Javaican 14.03.2025
Стандартные параметры запуска JVM хороши для повседневной разработки, но совершенно недостаточны для высоконагруженных систем. Представьте, что вы запускаете финансовую платформу, обрабатывающую. . .
CI/CD для приложений Java с Azure DevOps и Docker
Mr. Docker 14.03.2025
Разработка современных Java-приложений немыслима без системы непрерывной интеграции и доставки (CI/ CD). Azure DevOps в сочетании с Docker предоставляет мощный инструментарий для создания таких. . .
Разработка на PHP и интернет вещей (IoT)
Jason-Webb 14.03.2025
Интернет вещей (IoT) произвел настоящую революцию в способах взаимодействия устройств с окружающим миром. В эпоху, когда холодильники сами заказывают молоко, а термостаты учатся вашим привычкам,. . .
Node.js 20: Новые возможности и улучшения производительно­сти
Reangularity 14.03.2025
Что же принёс нам релиз Node. js 20? В первую очередь, это существенные улучшения в производительности. Движок V8 получил серьёзные оптимизации, благодаря чему JavaScript-код выполняется заметно. . .
Безопасность кластеров Apache Kafka
Javaican 14.03.2025
Apache Kafka стал одним из ключевых компонентов современных архитектур, обрабатывающих потоки данных в режиме реального времени. Его используют тысячи компаний от стартапов до технологических. . .
Контейнеризация ML моделей с помощью Docker и Kubernetes
Mr. Docker 14.03.2025
Перенос ML-моделей из лаборатории в продакшн сопровождается целым комплексом проблем. Нередко код, который отлично работает на локальной машине, отказывается функционировать в промышленной среде. . . .
Организация масштабируемого хранилища с Apache Cassandra
Codd 14.03.2025
Изначально разработанная в Facebook, а затем переданная Apache Software Foundation, Cassandra сочетает в себе принципы Amazon's Dynamo и Google's BigTable. Эта комбинация создает уникальную. . .
Kafka или Pulsar: Что лучше для потоковой обработки в Java
Javaican 14.03.2025
Среди множества решений для потоковой обработки данных Apache Kafka долгое время удерживала лидирующие позиции, став де-факто стандартом в индустрии. Однако в последние годы всё больше внимания. . .
Создание и использование компонентов в Vue 3
Reangularity 14.03.2025
Компонент в Vue - это автономный блок интерфейса, который содержит собственную разметку, логику и стили. Представьте себе кнопку, форму ввода или даже целую панель навигации - всё это можно оформить. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru