Классы C ++, что является ROMable и что не ROMable? (STM32) - PullRequest
0 голосов
/ 27 февраля 2020

Предположим, у меня есть следующий класс:

class A
{
    public:
        static const int member_1 = 5;
        static const unsigned char member_2[9] = "member_2";
        static const string member_3 = "member_3";

        static const int method_1(int parameter_1);
        static int method_2(int parameter_1);

}

Для платформы STM32, что доступно для чтения в этом классе?

Для стандартной компоновки, тривиальной или POD типы, которые вы можете запустить is_standard_layout, is_trivial или is_pod test, если объект соответствует типу. Есть ли такой способ проверить, является ли класс ROMable?

В официальной документации Технический отчет по производительности C ++, раздел 7.1 неясно, как обстоят дела с классами с точки зрения ROMability. Моя интерпретация заключается в том, что каждый член / метод класса будет оцениваться отдельно, и если он имеет ключевое слово const, он будет доступен для чтения, а если нет, то он будет неопределенным и полностью зависит от компилятора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...